Compare commits
2 Commits
4f37283e68
...
dc61a7ee92
Author | SHA1 | Date | |
---|---|---|---|
dc61a7ee92 | |||
d70a0a8630 |
@ -1,4 +1,4 @@
|
||||
# Navê Gotarê
|
||||
# Navê Gotarê 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.
|
||||
|
||||
## Destpêk
|
||||
|
@ -1,4 +1,7 @@
|
||||
# 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.
|
||||
|
||||
## Destpêk
|
||||
|
@ -3,7 +3,7 @@
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
<title>STSG</title>
|
||||
<title>{article_name}</title>
|
||||
<link rel="stylesheet" href="/static/bulma.min.css" />
|
||||
</head>
|
||||
<body>
|
||||
@ -22,7 +22,7 @@
|
||||
|
||||
<section class="section">
|
||||
<div class="container">
|
||||
<div class="column is-half is-offset-one-quarter">{overview_cards}</div>
|
||||
<div class="column is-half is-offset-one-quarter">{article_overview_cards}</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
<div class="card mb-4" lang="{article_language_code}">
|
||||
<a href="{article_href}" hreflang="{article_language_code}" class="card mb-4" style="color: inherit; text-decoration: none;">
|
||||
<div class="card-content" href="{article_href}">
|
||||
<a href="{article_url}" hreflang="{article_language_code}" class="card mb-4" style="color: inherit; text-decoration: none;">
|
||||
<div class="card-content">
|
||||
<p class="title">{article_language_flag} {article_title}</p>
|
||||
<p class="content">{article_preview}</p>
|
||||
</div>
|
||||
|
@ -47,6 +47,7 @@ class ArticleTranslation:
|
||||
self.article_content = self.file.read_text()
|
||||
if self.file.suffix == ".md":
|
||||
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.url = "/" + "/".join(self.location_in_tree)
|
||||
@ -70,18 +71,27 @@ class ArticleTranslation:
|
||||
with Path(self.dist_path, "index.html").open("w") as f:
|
||||
f.write(self.get_article())
|
||||
|
||||
|
||||
def _get_values(self) -> Dict[str, str]:
|
||||
return {
|
||||
"article_content": self.article_content,
|
||||
"article_preview": self.article_content[:ARTICLE_PREVIEW_LENGTH] + "...",
|
||||
"article_url": self.url,
|
||||
"article_overview_url": self.article_overview.url,
|
||||
"article_href": self.url,
|
||||
"article_title": get_first_header_content(self.article_content),
|
||||
"article_slug": self.article_overview.slug,
|
||||
"article_title": self.title,
|
||||
"article_language_name": self.language_name,
|
||||
"article_language_code": self.language_code,
|
||||
"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:
|
||||
global TEMPLATE
|
||||
return replace_values(TEMPLATE.article, self._get_values())
|
||||
@ -109,14 +119,17 @@ class ArticleOverview:
|
||||
|
||||
self.child_articles: List[ArticleOverview] = []
|
||||
self.article_translations: List[ArticleTranslation] = []
|
||||
self.article_translations_map: Dict[str, ArticleTranslation] = {}
|
||||
|
||||
for c in self.directory.iterdir():
|
||||
if c.is_file():
|
||||
self.article_translations.append(ArticleTranslation(c, self))
|
||||
at = ArticleTranslation(c, self)
|
||||
self.article_translations.append(at)
|
||||
self.article_translations_map[at.language_code] = at
|
||||
elif c.is_dir():
|
||||
self.child_articles.append(ArticleOverview(
|
||||
directory=c,
|
||||
location_in_tree=self.location_in_tree,
|
||||
location_in_tree=self.location_in_tree.copy(),
|
||||
))
|
||||
|
||||
# the tree is built
|
||||
@ -137,10 +150,22 @@ class ArticleOverview:
|
||||
|
||||
def _get_values(self) -> Dict[str, str]:
|
||||
return {
|
||||
"overview_cards": self.overview_cards,
|
||||
"overview_slug": self.slug,
|
||||
"article_url": self.url,
|
||||
"article_title": 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:
|
||||
global TEMPLATE
|
||||
return replace_values(TEMPLATE.overview, self._get_values())
|
||||
|
Loading…
x
Reference in New Issue
Block a user