rewrite build url

This commit is contained in:
Tykayn 2024-11-05 11:17:52 +01:00 committed by tykayn
parent 0b33134452
commit 86b2247d22
10 changed files with 65 additions and 32 deletions

View File

@ -11,7 +11,7 @@ parser.add_argument("title", default="Mon site Web", help="Le titre du site Web.
args = parser.parse_args() args = parser.parse_args()
# Variables personnalisables # Variables personnalisables
DOSSIER_MD = 'sources/'+args.source # Nom du dossier contenant les fichiers Markdown DOSSIER_SOURCE = 'sources/'+args.source # Nom du dossier contenant les fichiers Markdown
FICHIER_INDEX = 'index_'+args.source # Nom du fichier d'index à générer FICHIER_INDEX = 'index_'+args.source # Nom du fichier d'index à générer
TITRE_INDEX = f" # {args.title} - Articles" TITRE_INDEX = f" # {args.title} - Articles"
source_files_extension="org" source_files_extension="org"
@ -50,10 +50,21 @@ def find_year_and_slug(fichier):
print(f"chemin: {annee}/{slug}/") print(f"chemin: {annee}/{slug}/")
return [date_str, annee,slug] return [date_str, annee,slug]
return [None,None,None] return [None,None,None]
def enlever_premier_tiret_ou_underscore(chaîne): def enlever_premier_tiret_ou_underscore(chaîne):
if chaîne.startswith('-') or chaîne.startswith('_'): if chaîne.startswith('-') or chaîne.startswith('_'):
chaîne = chaîne[1:] chaîne = chaîne[1:]
return chaîne return chaîne
import shutil
# création des dossiers intermédiaires s'il y en a
# déplace le fichier dans le dossier spécifié
def create_path_folders_and_move_file(path, file):
os.makedirs(os.path.dirname(path), exist_ok=True)
shutil.move(file, path)
def get_files_list_of_folder(folder_path): def get_files_list_of_folder(folder_path):
# Vérifie si le dossier existe # Vérifie si le dossier existe
if not os.path.exists(folder_path): if not os.path.exists(folder_path):
@ -75,16 +86,28 @@ def get_files_list_of_folder(folder_path):
# Titre pour le fichier d'index # Titre pour le fichier d'index
def generer_index(dossier_md, fichier_index, titre_index):
def empty_folder_content(path):
# parcours tous les fichiers et sous-dossiers du dossier
for filename in os.listdir(path):
file_path = os.path.join(path, filename)
# supprime le fichier ou le sous-dossier
if os.path.isfile(file_path):
os.remove(file_path)
else:
shutil.rmtree(file_path)
def generer_index(dossier_source, fichier_index, titre_index):
# Chemin absolu du dossier parent (pour sauver le fichier d'index) # Chemin absolu du dossier parent (pour sauver le fichier d'index)
dossier_parent = os.path.dirname(os.path.abspath(__file__)) dossier_parent = os.path.dirname(os.path.abspath(__file__))
# Chemin complet du dossier contenant les Markdown # Chemin complet du dossier contenant les Markdown
chemin_dossier_md = os.path.join(dossier_parent, dossier_md) chemin_dossier_source = os.path.join(dossier_parent, dossier_source)
files_static = get_files_list_of_folder(chemin_dossier_md+'/') files_static = get_files_list_of_folder(chemin_dossier_source+'/')
files_fr = get_files_list_of_folder(chemin_dossier_md+'/lang_fr') files_fr = get_files_list_of_folder(chemin_dossier_source+'/lang_fr')
files_en = get_files_list_of_folder(chemin_dossier_md+'/lang_en') files_en = get_files_list_of_folder(chemin_dossier_source+'/lang_en')
# Chemin complet pour le fichier d'index # Chemin complet pour le fichier d'index
chemin_fichier_index_gemini = os.path.join(dossier_parent, fichier_index+'.gmi') chemin_fichier_index_gemini = os.path.join(dossier_parent, fichier_index+'.gmi')
@ -110,15 +133,17 @@ def generer_index(dossier_md, fichier_index, titre_index):
contenu_index_gmi += f"=> {fichier}\n" contenu_index_gmi += f"=> {fichier}\n"
link_html = fichier.replace('..gmi','.html') link_html = fichier.replace('..gmi','.html')
contenu_index_html += f"<br><a href=/{lang_folder}/{link_html}>{link_html}</a>" contenu_index_html += f"<br><a href=/{lang_folder}/{link_html}>{link_html}</a>"
# contenu_index_html += f"<br><a href=/{année}/{slug}>{année} {slug.replace('-', ' ')}</a>" contenu_index_html += f"<br><a href=/{année}/{slug}>{année} {slug.replace('-', ' ')}</a>"
print(f" on créer le dossier : {new_folder}, et on y copie le fichier {new_file} en le renommant index.html")
# create_path_folders_and_move_file(path, file)
contenu_index_gmi += "\n# Articles in English\n-------------------------\n" # contenu_index_gmi += "\n# Articles in English\n-------------------------\n"
contenu_index_html += "<h1>Articles in English</h1>" # contenu_index_html += "<h1>Articles in English</h1>"
lang_folder="lang_en/" # lang_folder="lang_en/"
for fichier in files_en: # for fichier in files_en:
contenu_index_gmi += f"=> {fichier}\n" # contenu_index_gmi += f"=> {fichier}\n"
link_html = fichier.replace('..gmi','.html') # link_html = fichier.replace('..gmi','.html')
contenu_index_html += f"<br><a href=/{lang_folder}{link_html}>{link_html}</a>" # contenu_index_html += f"<br><a href=/{lang_folder}{link_html}>{link_html}</a>"
# Écrit le contenu dans le fichier d'index # Écrit le contenu dans le fichier d'index
try: try:
@ -133,4 +158,4 @@ def generer_index(dossier_md, fichier_index, titre_index):
print(f"Erreur lors de l'écriture du fichier d'index : {e}") print(f"Erreur lors de l'écriture du fichier d'index : {e}")
if __name__ == "__main__": if __name__ == "__main__":
generer_index(DOSSIER_MD, FICHIER_INDEX, TITRE_INDEX) generer_index(DOSSIER_SOURCE, FICHIER_INDEX, TITRE_INDEX)

View File

@ -40,6 +40,14 @@ convert_sources() {
# Transformer en html # Transformer en html
# echo "to HTML:" # echo "to HTML:"
# pwd # pwd
# TODOassembler la page de footer avec le fichier en entrée
temp_page="temp_page.$source_file_extension"
echo ''> $temp_page
cat "templates/header_page.$source_file_extension" >> $temp_page
cat "${i}" >> $temp_page
cat "templates/footer_page.$source_file_extension" >> $temp_page
pandoc -f "${source_file_extension}" -t html -s "${i}" -o "converted/${i%.${source_file_extension}}.html" --metadata title="$website_name" pandoc -f "${source_file_extension}" -t html -s "${i}" -o "converted/${i%.${source_file_extension}}.html" --metadata title="$website_name"
# Transformer en gmi # Transformer en gmi
# echo "to GMI:" # echo "to GMI:"
@ -48,6 +56,7 @@ convert_sources() {
pandoc --template $templates_path/../../templates/pandoc/template_gemini.lua -f "${source_file_extension}" -t $templates_path/../../templates/pandoc/gmi.lua -s "${i}" -o "converted/${i%.${source_file_extension}}.gmi" pandoc --template $templates_path/../../templates/pandoc/template_gemini.lua -f "${source_file_extension}" -t $templates_path/../../templates/pandoc/gmi.lua -s "${i}" -o "converted/${i%.${source_file_extension}}.gmi"
# ajout des footers à chaque article # ajout des footers à chaque article
# cat '../../templates/website_pages/footer-articles.md.gmi' >> "${i%.${source_file_extension}}.gmi" # cat '../../templates/website_pages/footer-articles.md.gmi' >> "${i%.${source_file_extension}}.gmi"
rm $temp_page
done done
} }
@ -97,9 +106,6 @@ generate_website() {
echo "pages en anglais du site web $website_name converties" echo "pages en anglais du site web $website_name converties"
# python3 build_index_gemini.py
# mv index.gmi source/converted
cd .. cd ..
cd .. cd ..
cd .. cd ..
@ -109,10 +115,7 @@ generate_website() {
# prendre les fichiers markdown du dossier md/ , # prendre les fichiers markdown du dossier md/ ,
# et créer un index des fichiers situés dedans, rangés par nom de fichier décroissant, # et créer un index des fichiers situés dedans, rangés par nom de fichier décroissant,
# sauver le tout dans un fichier index.gmi # sauver le tout dans un fichier index.gmi
python3 build_index_gemini.py $website_name "$website_name" python3 build_indexes.py $website_name "$website_name"
# TODO move files with changed name and folders in python script instead of here
mv "index_$website_name.html" "html-websites/$website_name/index.html"
mv "index_$website_name.gmi" "gemini-capsules/$website_name/index.gmi"
python3 enrich_html.py html-websites/$website_name -t $website_name --style templates/style_general.css python3 enrich_html.py html-websites/$website_name -t $website_name --style templates/style_general.css
python3 enrich_html.py html-websites/$website_name/lang_fr -t $website_name --style templates/style_general.css python3 enrich_html.py html-websites/$website_name/lang_fr -t $website_name --style templates/style_general.css

View File

@ -4,13 +4,13 @@ cipherbliss.com {
www.cipherbliss.com { www.cipherbliss.com {
import generic_headers import generic_headers
root * /var/www/cipherbliss.com root * /poule/encrypted/www/cipherbliss.com
encode zstd gzip encode zstd gzip
file_server browse file_server browse
} }
portfolio.cipherbliss.com { portfolio.cipherbliss.com {
import generic_headers import generic_headers
root * /var/www/portfolio.cipherbliss.com root * /poule/encrypted/www/portfolio.cipherbliss.com
encode zstd gzip encode zstd gzip
file_server browse file_server browse
} }

View File

@ -4,7 +4,7 @@ coussinet.org {
www.coussinet.org { www.coussinet.org {
import generic_headers import generic_headers
root * /var/www/coussinet.org root * /poule/encrypted/www/coussinet.org
encode zstd gzip encode zstd gzip
file_server browse file_server browse
} }

View File

@ -4,14 +4,14 @@ qzine.fr {
www.qzine.fr { www.qzine.fr {
import generic_headers import generic_headers
root * /var/www/qzine.fr root * /poule/encrypted/www/qzine.fr
encode zstd gzip encode zstd gzip
file_server browse file_server browse
} }
sondages.qzine.fr { sondages.qzine.fr {
import generic_headers import generic_headers
root * /var/www/sondages.qzine.fr root * /poule/encrypted/www/sondages.qzine.fr
encode zstd gzip encode zstd gzip
file_server browse file_server browse
} }

View File

@ -10,7 +10,7 @@ www.tykayn.fr {
tykayn.fr { tykayn.fr {
import generic_headers import generic_headers
root * /var/www/tykayn.fr root * /poule/encrypted/www/tykayn.fr
encode zstd gzip encode zstd gzip
file_server browse file_server browse
} }

View File

@ -18,7 +18,7 @@
Supposons que vous ayez accès en SSH à votre serveur ubuntu et que vous connaissiez son ip publique. On suppose aussi que vous avez installé mysql en définissant un mot de passe root. Supposons que vous ayez accès en SSH à votre serveur ubuntu et que vous connaissiez son ip publique. On suppose aussi que vous avez installé mysql en définissant un mot de passe root.
utilisez <a href="https://owncloud.org/download/#owncloud-server-web-installer">l'installateur web</a> en le téléchargeant via wget sur votre serveur dans un lieu controllé par apache2 afin de pouvoir y accéder via un navigateur: utilisez <a href="https://owncloud.org/download/#owncloud-server-web-installer">l'installateur web</a> en le téléchargeant via wget sur votre serveur dans un lieu controllé par apache2 afin de pouvoir y accéder via un navigateur:
<pre>cd /var/www/html <pre>cd /poule/encrypted/www/html
wget https://download.owncloud.com/download/community/setup-owncloud.php</pre> wget https://download.owncloud.com/download/community/setup-owncloud.php</pre>
Accédez à votre serveur par son ip publique ou son nom de domaine si vous en avez défini un, (genre https://moncloud.amoi.com/setup-owncloud.php ) et vous devriez voir apparaitre la page d'installation de votre serveur owncloud vous invitant à passer à l'étape suivante. Accédez à votre serveur par son ip publique ou son nom de domaine si vous en avez défini un, (genre https://moncloud.amoi.com/setup-owncloud.php ) et vous devriez voir apparaitre la page d'installation de votre serveur owncloud vous invitant à passer à l'étape suivante.

View File

@ -22,7 +22,7 @@ installé sur un serveur Ubuntu 18.4 de 2 téras, je fus fort étonné quand la
Je fis donc chauffer le terminal SSH pour déplacer le dossier de data sur mon serveur nextcloud dans une autre partition, qui elle disposerait vraiment de la grande place. Je fis donc chauffer le terminal SSH pour déplacer le dossier de data sur mon serveur nextcloud dans une autre partition, qui elle disposerait vraiment de la grande place.
<pre>mkdir /home/ailleurs/data <pre>mkdir /home/ailleurs/data
sudo mv /var/www/html/nextcloud/data /home/ailleurs/data</pre> sudo mv /poule/encrypted/www/html/nextcloud/data /home/ailleurs/data</pre>
et quelques minutes de copie plus tard ça roule. et quelques minutes de copie plus tard ça roule.
voilà. Allez, à Lundi prochain. voilà. Allez, à Lundi prochain.
@ -30,12 +30,12 @@ voilà. Allez, à Lundi prochain.
ha mais non, en fait c'est pas tout a fait aussi simple., ha mais non, en fait c'est pas tout a fait aussi simple.,
il faut dire à la config de nextcloud où se trouve le nouveau dossier. éditez donc le fichier config.php il faut dire à la config de nextcloud où se trouve le nouveau dossier. éditez donc le fichier config.php
<pre>sudo nano /var/www/html/nextcloud/config/config.php</pre> <pre>sudo nano /poule/encrypted/www/html/nextcloud/config/config.php</pre>
et changez le chemin correspondant à datadirectory dans le tableau. et changez le chemin correspondant à datadirectory dans le tableau.
<pre>'datadirectory' =&gt; '/home/ailleurs/data/', <pre>'datadirectory' =&gt; '/home/ailleurs/data/',
</pre> </pre>
Maintenant y'a plus qu'a mettre à jour la base de données de nextcloud avec ces deux commandes php à lancer dans le bon dossier Maintenant y'a plus qu'a mettre à jour la base de données de nextcloud avec ces deux commandes php à lancer dans le bon dossier
<pre>cd /var/www/html/nextcloud/ <pre>cd /poule/encrypted/www/html/nextcloud/
sudo -u www-data php console.php files:scan --all sudo -u www-data php console.php files:scan --all
sudo -u www-data php occ maintenance:repair sudo -u www-data php occ maintenance:repair
</pre> </pre>

View File

@ -0,0 +1,3 @@
----------------
Dragonfeu land
----------------

View File

@ -0,0 +1,2 @@
[[Tykayn blog - le vortex à chats][]]
------------