Compare commits

..

No commits in common. "dc61a7ee92e16b0b4a1634d2fe2ad1d3378f0f78" and "4f37283e685a51d8bed7ff93980dca580c592a2f" have entirely different histories.

5 changed files with 11 additions and 39 deletions

View File

@ -1,4 +1,4 @@
# Navê Gotarê example # Navê Gotarê
Ev gotar, mînakek placeholder ya bi zimanê Kurdî ye. Nivîs, weşan û rûpelên nûçe di vê belgeyê de têne pêşniyar kirin. Ev metn ji bo testkirina layout an jî demo-yê hatiye çêkirin û çend bingehên cihanî yên naveroka gotarê nîşan dide. Ev gotar, mînakek placeholder ya bi zimanê Kurdî ye. Nivîs, weşan û rûpelên nûçe di vê belgeyê de têne pêşniyar kirin. Ev metn ji bo testkirina layout an jî demo-yê hatiye çêkirin û çend bingehên cihanî yên naveroka gotarê nîşan dide.
## Destpêk ## Destpêk

View File

@ -1,7 +1,4 @@
# Navê Gotarê # Navê Gotarê
[{article_title:example}]({article_url:example})
Ev gotar, mînakek placeholder ya bi zimanê Kurdî ye. Nivîs, weşan û rûpelên nûçe di vê belgeyê de têne pêşniyar kirin. Ev metn ji bo testkirina layout an jî demo-yê hatiye çêkirin û çend bingehên cihanî yên naveroka gotarê nîşan dide. Ev gotar, mînakek placeholder ya bi zimanê Kurdî ye. Nivîs, weşan û rûpelên nûçe di vê belgeyê de têne pêşniyar kirin. Ev metn ji bo testkirina layout an jî demo-yê hatiye çêkirin û çend bingehên cihanî yên naveroka gotarê nîşan dide.
## Destpêk ## Destpêk

View File

@ -3,7 +3,7 @@
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="viewport" content="width=device-width, initial-scale=1" />
<title>{article_name}</title> <title>STSG</title>
<link rel="stylesheet" href="/static/bulma.min.css" /> <link rel="stylesheet" href="/static/bulma.min.css" />
</head> </head>
<body> <body>
@ -22,7 +22,7 @@
<section class="section"> <section class="section">
<div class="container"> <div class="container">
<div class="column is-half is-offset-one-quarter">{article_overview_cards}</div> <div class="column is-half is-offset-one-quarter">{overview_cards}</div>
</div> </div>
</section> </section>

View File

@ -1,6 +1,6 @@
<div class="card mb-4" lang="{article_language_code}"> <div class="card mb-4" lang="{article_language_code}">
<a href="{article_url}" hreflang="{article_language_code}" class="card mb-4" style="color: inherit; text-decoration: none;"> <a href="{article_href}" hreflang="{article_language_code}" class="card mb-4" style="color: inherit; text-decoration: none;">
<div class="card-content"> <div class="card-content" href="{article_href}">
<p class="title">{article_language_flag} {article_title}</p> <p class="title">{article_language_flag} {article_title}</p>
<p class="content">{article_preview}</p> <p class="content">{article_preview}</p>
</div> </div>

View File

@ -47,7 +47,6 @@ class ArticleTranslation:
self.article_content = self.file.read_text() self.article_content = self.file.read_text()
if self.file.suffix == ".md": if self.file.suffix == ".md":
self.article_content = markdown.markdown(self.article_content) self.article_content = markdown.markdown(self.article_content)
self.title = get_first_header_content(self.article_content)
self.location_in_tree = [self.language_code, *self.article_overview.location_in_tree] self.location_in_tree = [self.language_code, *self.article_overview.location_in_tree]
self.url = "/" + "/".join(self.location_in_tree) self.url = "/" + "/".join(self.location_in_tree)
@ -71,27 +70,18 @@ class ArticleTranslation:
with Path(self.dist_path, "index.html").open("w") as f: with Path(self.dist_path, "index.html").open("w") as f:
f.write(self.get_article()) f.write(self.get_article())
def _get_values(self) -> Dict[str, str]: def _get_values(self) -> Dict[str, str]:
return { return {
"article_content": self.article_content, "article_content": self.article_content,
"article_preview": self.article_content[:ARTICLE_PREVIEW_LENGTH] + "...", "article_preview": self.article_content[:ARTICLE_PREVIEW_LENGTH] + "...",
"article_url": self.url,
"article_overview_url": self.article_overview.url, "article_overview_url": self.article_overview.url,
"article_slug": self.article_overview.slug, "article_href": self.url,
"article_title": self.title, "article_title": get_first_header_content(self.article_content),
"article_language_name": self.language_name, "article_language_name": self.language_name,
"article_language_code": self.language_code, "article_language_code": self.language_code,
"article_language_flag": self.language_flag, "article_language_flag": self.language_flag,
} }
def get_article_values(self) -> Dict[str, str]:
res = {}
for key, value in self._get_values().items():
res[key + ":" + self.article_overview.slug] = value
return res
def get_article(self) -> str: def get_article(self) -> str:
global TEMPLATE global TEMPLATE
return replace_values(TEMPLATE.article, self._get_values()) return replace_values(TEMPLATE.article, self._get_values())
@ -119,17 +109,14 @@ class ArticleOverview:
self.child_articles: List[ArticleOverview] = [] self.child_articles: List[ArticleOverview] = []
self.article_translations: List[ArticleTranslation] = [] self.article_translations: List[ArticleTranslation] = []
self.article_translations_map: Dict[str, ArticleTranslation] = {}
for c in self.directory.iterdir(): for c in self.directory.iterdir():
if c.is_file(): if c.is_file():
at = ArticleTranslation(c, self) self.article_translations.append(ArticleTranslation(c, self))
self.article_translations.append(at)
self.article_translations_map[at.language_code] = at
elif c.is_dir(): elif c.is_dir():
self.child_articles.append(ArticleOverview( self.child_articles.append(ArticleOverview(
directory=c, directory=c,
location_in_tree=self.location_in_tree.copy(), location_in_tree=self.location_in_tree,
)) ))
# the tree is built # the tree is built
@ -150,22 +137,10 @@ class ArticleOverview:
def _get_values(self) -> Dict[str, str]: def _get_values(self) -> Dict[str, str]:
return { return {
"article_url": self.url, "overview_cards": self.overview_cards,
"article_title": self.slug, "overview_slug": self.slug,
"article_slug": self.slug,
"article_overview_url": self.url,
"article_overview_cards": self.overview_cards,
} }
def get_article_values(self, language_code: Optional[str] = None) -> Dict[str, str]:
if language_code in self.article_translations_map:
return self.article_translations_map[language_code].get_article_values()
res = {}
for key, value in self._get_values().items():
res[key + ":" + self.slug] = value
return res
def get_overview(self) -> str: def get_overview(self) -> str:
global TEMPLATE global TEMPLATE
return replace_values(TEMPLATE.overview, self._get_values()) return replace_values(TEMPLATE.overview, self._get_values())