summaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
Diffstat (limited to 'ui')
-rw-r--r--ui/article_detail.py15
-rw-r--r--ui/articles_view.py5
-rw-r--r--ui/frontmatter_editor.py5
3 files changed, 13 insertions, 12 deletions
diff --git a/ui/article_detail.py b/ui/article_detail.py
index 77dadb7..1fe1643 100644
--- a/ui/article_detail.py
+++ b/ui/article_detail.py
@@ -1,9 +1,8 @@
from __future__ import annotations
-import subprocess
import re
from PyQt6.QtWidgets import (
QWidget, QVBoxLayout, QHBoxLayout, QLabel,
- QPushButton, QTextBrowser, QScrollArea, QSizePolicy, QFrame,
+ QPushButton, QTextBrowser, QScrollArea, QFrame,
)
from PyQt6.QtCore import pyqtSignal, Qt
from core.models import Article
@@ -64,9 +63,12 @@ class ArticleDetailView(QWidget):
body.setContentsMargins(0, 0, 0, 0)
body.setSpacing(0)
- # Frontmatter column
+ # Frontmatter column (scrollable)
+ fm_scroll = QScrollArea()
+ fm_scroll.setFixedWidth(230)
+ fm_scroll.setWidgetResizable(True)
+ fm_scroll.setStyleSheet("QScrollArea { background:#0a0a12; border:none; }")
self._fm_widget = QWidget()
- self._fm_widget.setFixedWidth(230)
self._fm_widget.setStyleSheet("background:#0a0a12;")
self._fm_layout = QVBoxLayout(self._fm_widget)
self._fm_layout.setContentsMargins(10, 10, 10, 10)
@@ -76,7 +78,8 @@ class ArticleDetailView(QWidget):
self._fm_content = QVBoxLayout()
self._fm_layout.addLayout(self._fm_content)
self._fm_layout.addStretch()
- body.addWidget(self._fm_widget)
+ fm_scroll.setWidget(self._fm_widget)
+ body.addWidget(fm_scroll)
divider = QFrame()
divider.setFrameShape(QFrame.Shape.VLine)
@@ -101,7 +104,7 @@ class ArticleDetailView(QWidget):
def set_article(self, article: Article):
self._article = article
self._title_label.setText(article.slug)
- rel = str(article.path).replace(str(article.path.parent.parent.parent.parent), "")
+ rel = "/".join(article.path.parts[-5:])
self._path_label.setText(rel)
# Populate frontmatter
diff --git a/ui/articles_view.py b/ui/articles_view.py
index d3fac93..f45e736 100644
--- a/ui/articles_view.py
+++ b/ui/articles_view.py
@@ -1,7 +1,7 @@
from __future__ import annotations
from PyQt6.QtWidgets import (
- QWidget, QVBoxLayout, QHBoxLayout, QTabWidget,
- QListWidget, QListWidgetItem, QLabel, QPushButton,
+ QWidget, QVBoxLayout, QTabWidget,
+ QListWidget, QListWidgetItem, QLabel,
)
from PyQt6.QtCore import Qt, pyqtSignal
from PyQt6.QtGui import QColor
@@ -11,7 +11,6 @@ class ArticleItem(QListWidgetItem):
def __init__(self, article: Article):
super().__init__()
self.article = article
- lang_other = "EN" if article.lang == "it" else "IT"
if article.has_translation:
badge = f"🇬🇧 ✓" if article.lang == "it" else "🇮🇹 ✓"
status = f"{article.slug} [{badge}]"
diff --git a/ui/frontmatter_editor.py b/ui/frontmatter_editor.py
index 218bbac..3b4b690 100644
--- a/ui/frontmatter_editor.py
+++ b/ui/frontmatter_editor.py
@@ -7,7 +7,7 @@ from PyQt6.QtWidgets import (
from PyQt6.QtCore import Qt
from pathlib import Path
from core.models import Article, ARTICLE_TYPES
-from core.frontmatter import parse_frontmatter, write_frontmatter
+from core.frontmatter import write_frontmatter
from core.taxonomy import load_taxonomy
class FrontmatterEditor(QDialog):
@@ -76,8 +76,7 @@ class FrontmatterEditor(QDialog):
else:
updated[key] = val
try:
- _, body = parse_frontmatter(self._article.path)
- write_frontmatter(self._article.path, updated, body)
+ write_frontmatter(self._article.path, updated, "")
self._article.frontmatter.update(updated)
self.accept()
except Exception as e: