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()
# 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
TITRE_INDEX = f" # {args.title} - Articles"
source_files_extension="org"
@ -50,10 +50,21 @@ def find_year_and_slug(fichier):
print(f"chemin: {annee}/{slug}/")
return [date_str, annee,slug]
return [None,None,None]
def enlever_premier_tiret_ou_underscore(chaîne):
if chaîne.startswith('-') or chaîne.startswith('_'):
chaîne = chaîne[1:]
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):
# Vérifie si le dossier existe
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
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)
dossier_parent = os.path.dirname(os.path.abspath(__file__))
# 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_fr = get_files_list_of_folder(chemin_dossier_md+'/lang_fr')
files_en = get_files_list_of_folder(chemin_dossier_md+'/lang_en')
files_static = get_files_list_of_folder(chemin_dossier_source+'/')
files_fr = get_files_list_of_folder(chemin_dossier_source+'/lang_fr')
files_en = get_files_list_of_folder(chemin_dossier_source+'/lang_en')
# Chemin complet pour le fichier d'index
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"
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=/{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_html += "<h1>Articles in English</h1>"
lang_folder="lang_en/"
for fichier in files_en:
contenu_index_gmi += f"=> {fichier}\n"
link_html = fichier.replace('..gmi','.html')
contenu_index_html += f"<br><a href=/{lang_folder}{link_html}>{link_html}</a>"
# contenu_index_gmi += "\n# Articles in English\n-------------------------\n"
# contenu_index_html += "<h1>Articles in English</h1>"
# lang_folder="lang_en/"
# for fichier in files_en:
# contenu_index_gmi += f"=> {fichier}\n"
# link_html = fichier.replace('..gmi','.html')
# contenu_index_html += f"<br><a href=/{lang_folder}{link_html}>{link_html}</a>"
# Écrit le contenu dans le fichier d'index
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}")
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
# echo "to HTML:"
# 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"
# Transformer en 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"
# ajout des footers à chaque article
# cat '../../templates/website_pages/footer-articles.md.gmi' >> "${i%.${source_file_extension}}.gmi"
rm $temp_page
done
}
@ -97,9 +106,6 @@ generate_website() {
echo "pages en anglais du site web $website_name converties"
# python3 build_index_gemini.py
# mv index.gmi source/converted
cd ..
cd ..
cd ..
@ -109,10 +115,7 @@ generate_website() {
# 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,
# sauver le tout dans un fichier index.gmi
python3 build_index_gemini.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 build_indexes.py $website_name "$website_name"
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

View File

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

View File

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

View File

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

View File

@ -10,7 +10,7 @@ www.tykayn.fr {
tykayn.fr {
import generic_headers
root * /var/www/tykayn.fr
root * /poule/encrypted/www/tykayn.fr
encode zstd gzip
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.
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>
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.
<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.
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.,
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.
<pre>'datadirectory' =&gt; '/home/ailleurs/data/',
</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
<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 occ maintenance:repair
</pre>

View File

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

View File

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