Compare commits

..

No commits in common. "37d28a3542676f300d389555bccb2a566ca2f928" and "432f16ba080558a8ab8240174d1f27533acec819" have entirely different histories.

9 changed files with 123 additions and 71 deletions

View File

@ -3,7 +3,7 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>{article_language_flag} {article_title}</title>
<title>STSG</title>
<link rel="stylesheet" href="/static/bulma.min.css" />
</head>
<body>
@ -14,14 +14,17 @@
aria-label="main navigation"
>
<div class="navbar-brand">
<a class="navbar-item" href="{article_overview_href}">
<strong>{article_language_flag} {article_title}</strong>
<a class="navbar-item" href="#">
<strong>Static Translated Site Generator</strong>
</a>
</div>
</nav>
<!-- Main Content -->
<section class="section">
<div class="content">
<a href="../">Go Back</a>
</div>
<div class="content">
{article_content}
</div>

View File

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

View File

@ -1,35 +0,0 @@
# 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.
## Destpêk
Di destpêka gotarê de, dikarin rêvekên bingehîn û armancên mijarê vebêjin. Tu dikarî vê metnê bikar bînin ji bo şexsî an jî projeyên xwe:
Lorem ipsum ji bo kurdî:
"Rojên nû û şevên hêja, ev nivîs têne çêkirin ku bi awayek nîşanbideke cîhan û hunermendî were afirandin."
## Lêkolîn û Naverok
Di vê beşê de hinek îzahiyên naverokî yên placeholder hatine peyda kirin. Hûn dikarin bi rêza li jêr anînên mifteyî yên gotarê şop bikin:
- **Mijar:** Di vê gotarê de, mijarên bi zor û hêja têne nîşandan.
- **Rêbaz:** Ew kesên ku ji ber vê gotarê şîrove û daxuyanî dikin, çavkaniyên xwe diguhezînin.
- **Agahî:** Di vê derbarê de, agahîyên cihanî, dîtin û têgihiştin hatine berhev kirin.
Di bin vê şexsiyeta, hertişt di dema xwe de têgihiştin û anîn pêşiyê dayîn.
## Şirove û Kod
Di vê paragrafa kêm-kêm de, em dikarin bingehên şiroveyê yên gotarê di kodê de jî şop bikin:
```python
def peyama_kurdî():
mesaj = "Her bijî Kurdistan! Rojên baş û serkeftin!"
return mesaj
print(peyama_kurdî())
```
Kodê li ser vê koda simplesa gotinê ye û dikare weşana nûçe an demo-yê projeyan bixebite.
# Encama Gotarê
Di encama gotarê de, hûn dikarin her çend beşên bingehîn yên nûçe, daxuyanî û şirove yên navekî bifikirin.
Bê guman, ev placeholder bi awayek qelew li ser çalakiya te ya malper, blog an jî her sedema dijîtal tê de karîger e.

57
src/example_page_1/ku.md Normal file
View File

@ -0,0 +1,57 @@
meow
# Abstrahere reddita celebrare in ossa
## Usque de celebrabant puer
Lorem markdownum, nec ora et vero me nec natae suadent. Nec damno ignorat
propiore aliquid temptata decipienda habetur. Vulnera lacrimis aequoreo madidos,
copia uvae, herbosaque quoque, per harenas, canos fui monstro Peleus.
Et fuge cum liquidum puer Herculis arentis, tantum caudaque et generi vilior, in
rubore. Caeli modo palmis, suo tria accipe visus non similis qui remittat
retentus porrigit fluxit ubi testis.
> Sulphura et color reliquit dextera: quid summa continuere obductos egesto
> moriens **fluentia vult iunctamque**, mihi patres spiro. Est Iovis **imperat
> quem est** putavi annis *omnis*; flumina, leporem constabat grave pelagi,
> insiluit, igne invito? Auctor circuit quod.
## Rhoetus gravis
Parari modo in sustulerat: ora sic verba meruit, uti. Pignora citus facto
amplectimur cupido amentes foedantem multoque datura.
[Quid](http://www.prima.net/se) ex tanti armaque exhibita descenderat!
1. Alis ima
2. Mirantur nive sit
3. Maris ut adlabimur humana fine quam vultusque
## A idonea miserum
Montes tibi deorum igitur. Poterat nunc porrigitur perdidimus *sidereos animi
praesepia* nihil praeferri functa, in **Pleias removete** oculos sollemni
Tatius: **modo**. Inde dedit! Atque in matrem spinae foret ponti quam dixit,
aras. Gladii addendum fiducia magno, se quo fata humo esse **tellure corpora
discederet** sucis manibus, parentem ante, Iovem.
Laqueique honore sequentia tyranni Harpalos, paelex, foedat tempestiva nomen.
Sit ter indiciumque requirit utrumque in nil et *suspectus*, quaerite patriam
nec facta [securi](http://heuqua.io/adhaut). Confessa ut per sit nostro futura
metaque oblitae fameque exit adspiciens. Morte flectere invidiam certe cum
vixque *nubes clamor viderunt* praeceps infamis collo percussis axem plena saxum
urbes ferre undae. Totoque utuntur ore lupus inplet sibila ullam, qui corpore
*contermina aera*?
Convocat ipse abeunt sententia concolor a Auguste epops solent iubet qui
aequora. In illi, solvente resecare violentam nescio accipit multarum [aureus
exspectatus](http://oris-tibi.io/nasci) ergo ora. Positis **inquit**, sit iamque
hederae ulterius, pontus linguae matutina terra sic isse Graium passosque
sanguinis secus petit!
Adfore dei volucrum Lydas; [hoc](http://similemnescitve.net/ipsamquee) quam
[superosque](http://www.quoqueabit.com/cumqueiam.html) caligine vulnera quoque
corpus foedaque mentis qui nectare, fatendo sensit! Rursus nulli miraris nuda
*Acrisio*. Cum modo, satis dissuadet luce; cum *freta* ab et diu, labor *tenuata
ieiunia*? Caesosque thalamique precor, dedit nulla loca [arce
et](http://viscera-rerum.com/mixta) tinguit aera.

View File

@ -0,0 +1,51 @@
# Annos postquam premeret docendam parabam
## Sunt luctus
Lorem markdownum [matrique](http://etanimae.org/), urit cerae pendens concipit
vitiatas dammis clausura. Labori femineis dominam nostris umerus non contiguas
apta sollicito lactis, [quam](http://acceptus-tumulo.net/) acie inplerant et.
1. Vires videbor praesens vidisse agros choreas
2. Illa mercede
3. In acies folioque lignum nitidis quid tellus
4. Multoque ira liber tamen rapiam cremabit crinalem
## Extremum pugnae muneris factum sed lecto Propoetidas
Praeferri iste. Rex primus gigantas Tantalis, **extulerat**, mediamque ardua,
per natae, in et, prius Alpheos.
> Nostro recentia evolvere quae quam: caesas spectans sic forte laesae fessos.
> Leti flammis. Hebes Atreus refluitque maximus necetur circumdet videt mare
> abit arbor sed, per Circe, violentus Niobe viri hominum. Cernis illum, sucos,
> pudorem, numen quoque, si tibique *euntem*, o cruento sitim. Illo tollere
> secutus sopore arma me ova mox noscere mundi est.
Herbas rauco altae patitur steterat domus; hoc pudor alatur falsamque precor. O
**timido** a haerebat, *atque servaturis naturale* tantaque; submersum
[poplite](http://purpureis.com/ferebat) tanta. Patiens latis inlato hinc tantae,
a Tydidae amissum; his! Clamor Finis.
## Fuit nomine mixtos pretium relinquam forma habitabilis
Adolentur sanguine **Penthea** adsum tutus potens adit luctu membra tibi quoque.
Sua siccaeque caesae quoque vosne forma cadit Threicio qua locis Lernae non;
inplent tecta. Cervicibus mare! Visa est locutus, mox amore exitium matrem ora
Hector vultus Minervae.
1. Rigavit mirabile
2. Bacis sua ut tellus florent ait nollet
3. Carmine prius
4. Tendit candida et colle corpore miscent
Fidem **et pondera** latronis uva neu hanc rerum divesque percussae caput ardor
contemptoremque effugies. Et multis, *hoc* sim in dispositam cornua, spatium; in
pelle fecerat [subiecta](http://cultu.io/amphimedon.php) propago miserae
lacerto. Tolle sui mea Lycabasque nocuit. Nereide dum furor genibus clementia
hastam?
Aere satis, Verque finitimi dique tot *carmina* fluminaque iubet resurgebant
nubibus, et suos versantes? Illa Phineus divesque tectis nec, aeno Semiramis
iuvencos desinite ergo, Minoide **calentes**, longos, virgineo. Putaret heros,
et quatit aerias, tibi contigit armatur documenta.

View File

@ -5,7 +5,6 @@ from pathlib import Path
import os
import markdown
from typing import Optional, Union, Dict, Generator, List
from bs4 import BeautifulSoup
from .config import SOURCE_DIRECTORY, DIST_DIRECTORY, LANGUAGE_INFORMATION, ARTICLE_PREVIEW_LENGTH
@ -119,10 +118,6 @@ class CustomLanguageCode:
def native_name(self) -> str:
return self._get_additional_data()["native_name"]
@property
def priority(self) -> int:
return self._get_additional_data().get("priority", 0)
class Article(CustomPath):
def __init__(self, path: CustomPath):
@ -142,25 +137,13 @@ class Article(CustomPath):
def language_code(self) -> CustomLanguageCode:
return CustomLanguageCode(self.stem)
def get_first_header_content(self, content):
soup = BeautifulSoup(content, 'html.parser')
for level in range(1, 7):
header = soup.find(f'h{level}')
if header:
return header.get_text(strip=True)
return self.language_code.native_name
def get_article_keys(self) -> Dict[str, str]:
article_content = self.get_content()
return {
"article_content": article_content,
"article_preview": article_content[:ARTICLE_PREVIEW_LENGTH] + " ...",
"article_overview_href": "/" + str(self.path.parent),
"article_preview": article_content[:ARTICLE_PREVIEW_LENGTH],
"article_href": "/" + str(self.path.parent / self.stem),
"article_title": self.get_first_header_content(article_content),
"article_language_name": self.language_code.native_name,
"article_language_code": self.language_code.language_code,
"article_language_flag": self.language_code.flag,
@ -213,7 +196,6 @@ class Template:
overview_card_template = self.get_overview_card_template()
self.articles.sort(key=lambda a: a.language_code.priority, reverse=True)
overview_cards = "\n".join(self._replace_keywords(
overview_card_template,
**a.get_article_keys(),

View File

@ -102,8 +102,7 @@ LANGUAGE_INFORMATION = {
"ar_sy": {
"flag": "🇸🇾",
"name": "Arabic (Syria)",
"native_name": "العربية (سوريا)",
"priority": 50,
"native_name": "العربية (سوريا)"
},
"ar_tn": {
"flag": "🇹🇳",
@ -208,8 +207,7 @@ LANGUAGE_INFORMATION = {
"de": {
"flag": "🇩🇪",
"name": "German",
"native_name": "Deutsch",
"priority": 100,
"native_name": "Deutsch"
},
"de_at": {
"flag": "🇦🇹",
@ -244,8 +242,7 @@ LANGUAGE_INFORMATION = {
"en": {
"flag": "🇺🇸",
"name": "English",
"native_name": "English",
"priority": 80,
"native_name": "English"
},
"en_au": {
"flag": "🇦🇺",
@ -260,8 +257,7 @@ LANGUAGE_INFORMATION = {
"en_gb": {
"flag": "🇬🇧",
"name": "English (UK)",
"native_name": "English (UK)",
"priority": 80,
"native_name": "English (UK)"
},
"en_ie": {
"flag": "🇮🇪",
@ -281,7 +277,7 @@ LANGUAGE_INFORMATION = {
"en_us": {
"flag": "🇺🇸",
"name": "English (US)",
"native_name": "English (US)",
"native_name": "English (US)"
},
"es": {
"flag": "🇪🇸",
@ -461,8 +457,7 @@ LANGUAGE_INFORMATION = {
"ku": {
"flag": "🇮🇶",
"name": "Kurdish",
"native_name": "Kurdî",
"priority": 49,
"native_name": "Kurdî"
},
"lo": {
"flag": "🇱🇦",
@ -667,8 +662,7 @@ LANGUAGE_INFORMATION = {
"tr": {
"flag": "🇹🇷",
"name": "Turkish",
"native_name": "Türkçe",
"priority": 60,
"native_name": "Türkçe"
},
"ts": {
"flag": "🇿🇦",