From 1e5c48b35e662f5528adce9c8420c19f12ab2756 Mon Sep 17 00:00:00 2001 From: Lucien Cartier-Tilet Date: Sun, 14 May 2023 14:34:23 +0200 Subject: [PATCH] feat: implement Gemini export and deployment --- .drone.yml | 40 +++++++++++++++++++++++++++------ content/about.org | 3 ++- content/conlanging.org | 3 ++- content/en/about.org | 3 ++- content/en/conlanging.org | 3 ++- content/en/find-me.org | 3 ++- content/en/index.org | 7 +++++- content/en/keine-tashi.org | 26 +++++++++++---------- content/en/other-links | 14 ++++++++++++ content/en/privacy.org | 3 ++- content/en/projects.org | 15 ++++++++++++- content/en/resume.org | 3 ++- content/en/vocal-synthesis.org | 5 +++-- content/find-me.org | 5 +++-- content/index.org | 7 +++++- content/keine-tashi.org | 26 +++++++++++---------- content/lfn/about.org | 3 ++- content/lfn/conlanging.org | 3 ++- content/lfn/find-me.org | 3 ++- content/lfn/index.org | 7 +++++- content/lfn/keine-tashi.org | 32 ++++++++++++-------------- content/lfn/other-links | 14 ++++++++++++ content/lfn/privacy.org | 5 +++-- content/lfn/projects.org | 15 ++++++++++++- content/lfn/resume.org | 3 ++- content/lfn/vocal-synthesis.org | 5 +++-- content/other-links | 14 ++++++++++++ content/privacy.org | 3 ++- content/projects.org | 15 ++++++++++++- content/resume.org | 3 ++- content/vocal-synthesis.org | 5 +++-- export.el | 18 +++++++++++---- gemini/.gitignore | 1 + gemini/.meta | 4 ++++ 34 files changed, 237 insertions(+), 82 deletions(-) create mode 100644 content/en/other-links create mode 100644 content/lfn/other-links create mode 100644 content/other-links create mode 100644 gemini/.gitignore create mode 100644 gemini/.meta diff --git a/.drone.yml b/.drone.yml index 7db782d..00f7b20 100644 --- a/.drone.yml +++ b/.drone.yml @@ -22,13 +22,14 @@ steps: settings: restore: true mount: - - /root/.emacs.d + - /var/emacs - name: generate emacs image: silex/emacs:master-alpine commands: + - mkdir -p /var/emacs - apk update && apk add git - - emacs -Q --script export.el + - emacs --init-directory=/var/emacs --script export.el depends_on: - "restore cache emacs" @@ -49,7 +50,7 @@ steps: settings: rebuild: true mount: - - /root/.emacs.d + - /var/emacs depends_on: - "generate emacs" @@ -65,7 +66,7 @@ steps: depends_on: - "generate node" -- name: deploy stable +- name: deploy web stable image: appleboy/drone-scp settings: host: @@ -89,6 +90,30 @@ steps: exclude: - pull_request +- name: deploy gemini + image: appleboy/drone-scp + settings: + host: + from_secret: ssh_host + target: + from_secret: ssh_target_gemini + source: gemini/* + strip_components: 1 + username: + from_secret: ssh_username + password: + from_secret: ssh_password + port: + from_secret: ssh_port + depends_on: + - "generate emacs" + when: + branch: + - main + event: + exclude: + - pull_request + - name: purge cache stable image: jetrails/drone-cloudflare-caching settings: @@ -100,7 +125,8 @@ steps: list: - https://beta.phundrak.com depends_on: - - "deploy stable" + - "deploy web stable" + - "deploy gemini" when: branch: - main @@ -108,7 +134,7 @@ steps: exclude: - pull_request -- name: deploy devel +- name: deploy web devel image: appleboy/drone-scp settings: host: @@ -143,7 +169,7 @@ steps: list: - https://alpha.phundrak.com depends_on: - - "deploy devel" + - "deploy web devel" when: branch: - devel diff --git a/content/about.org b/content/about.org index d182ad1..db7718d 100644 --- a/content/about.org +++ b/content/about.org @@ -1,4 +1,3 @@ -#+title: À Propos #+setupfile: ./headers #+language: fr @@ -21,3 +20,5 @@ utilisées sur ce site proviennent de plusieurs sources différentes : une partie de leur logo respectif en SVG afin d’en créer une icône, - {{{icon(gitea)}}} [[https://gitea.io/][Gitea]] dont j’ai modifié le logo en SVG pour l’avoir en monochrome. + +#+include: other-links diff --git a/content/conlanging.org b/content/conlanging.org index 4127415..b712911 100644 --- a/content/conlanging.org +++ b/content/conlanging.org @@ -1,4 +1,3 @@ -#+title: Création de langues #+setupfile: ./headers #+language: fr @@ -36,3 +35,5 @@ notre monde. Plus d’informations peuvent être trouvées sur [[https://conlang.phundrak.com/][mon site d’idéolinguistique]] (en anglais) + +#+include: other-links diff --git a/content/en/about.org b/content/en/about.org index 28d74fc..461e7a3 100644 --- a/content/en/about.org +++ b/content/en/about.org @@ -1,4 +1,3 @@ -#+title: About #+setupfile: ../headers #+language: en @@ -19,3 +18,5 @@ website come from different sources: - {{{icon(emacs)}}} [[https://www.gnu.org/software/emacs/][Emacs]] and {{{icon(writefreely)}}} [[https://writefreely.org/][WriteFreely]] whose respective logo I partially remade as an SVG file in order to create an icon. - {{{icon(gitea)}}} [[https://gitea.io][Gitea]] whose logo I modified to be monochromatic + +#+include: other-links diff --git a/content/en/conlanging.org b/content/en/conlanging.org index aa6474c..0bb9b4f 100644 --- a/content/en/conlanging.org +++ b/content/en/conlanging.org @@ -1,4 +1,3 @@ -#+title: Conlanging #+setupfile: ../headers #+language: en @@ -25,3 +24,5 @@ worldbuilding project, although Proto-Ñyqy’s worldbuilding is still largely secret while Eittland’s worldbuilding is mostly public. More information can be found on my [[https://conlang.phundrak.com/][conlanging website]]. + +#+include: other-links diff --git a/content/en/find-me.org b/content/en/find-me.org index e40fdcc..e21b178 100644 --- a/content/en/find-me.org +++ b/content/en/find-me.org @@ -1,4 +1,3 @@ -#+title: Where to find me #+setupfile: ../headers #+language: en @@ -29,3 +28,5 @@ me. - {{{icon(reddit)}}} Reddit :: [[https://www.reddit.com/user/phundrak][/u/phundrak]] - {{{icon(linkedin)}}} LinkedIn :: [[https://www.linkedin.com/in/lucien-cartier-tilet/][Lucien Cartier-Tilet]] - {{{icon(twitch)}}} Twitch :: [[https://www.twitch.tv/phundrak][phundrak]] + +#+include: other-links diff --git a/content/en/index.org b/content/en/index.org index cf7cc63..8acf60a 100644 --- a/content/en/index.org +++ b/content/en/index.org @@ -1,4 +1,3 @@ -#+title: Home #+setupfile: ../headers #+language: en @@ -21,3 +20,9 @@ I have the opportunity to. I speak natively French, and English at a native level. I also speak some Japanese, [[https://elefen.org][Lingua Franca Nova]], and Norwegian Bokmål. + +#+begin_export html +This website is also available on Gemini as [gmi.phundrak.com/en](gemini://gmi.phundrak.com/en)! +#+end_export + +#+include: other-links diff --git a/content/en/keine-tashi.org b/content/en/keine-tashi.org index 333a3ff..5d92bae 100644 --- a/content/en/keine-tashi.org +++ b/content/en/keine-tashi.org @@ -1,8 +1,8 @@ -#+title: Keine Tashi #+setupfile: ../headers #+language: en -* Introduction +* BSUP01 Keine Tashi +** Introduction KEINE Tashi is a character and set of vocal libraries developed for the shareware [[http://utau2008.web.fc2.com/][UTAU]], a singing voice synthesizer. I developed KEINE Tashi over the course of several years, from 2012 to 2015. Three vocal @@ -21,10 +21,10 @@ src="https://platform.twitter.com/widgets.js" charset="utf-8"> #+end_export -* Character and vocal libraries +** Character and vocal libraries Here’s a copy and paste of some old pages describing KEINE Tashi: -** Presentation +*** Presentation #+begin_export html ./index.gmi Home +=> ./find-me.gmi Where to find me +=> ./resume.gmi Resume +=> ./projets.gmi Programming Projets +=> ./conlanging.gmi Conlanging +=> ./vocal-synthesis.gmi Vocal Synthesis +=> ./about.gmi About +=> ./privacy.gmi Privacy +#+end_export diff --git a/content/en/privacy.org b/content/en/privacy.org index 02e1ad8..95000f4 100644 --- a/content/en/privacy.org +++ b/content/en/privacy.org @@ -1,4 +1,3 @@ -#+title: Privacy #+setupfile: ../headers #+language: en @@ -63,3 +62,5 @@ beginning. ** I have other questions And I have the answers! I’ll be more thang happy to chat with you by email, feel free to send me one at [[mailto:lucien@phundrak.com][lucien@phundrak.com]]. + +#+include: other-links diff --git a/content/en/projects.org b/content/en/projects.org index 8e18591..52c1827 100644 --- a/content/en/projects.org +++ b/content/en/projects.org @@ -1,9 +1,12 @@ -#+title: Projects #+setupfile: ../headers #+language: en * Programming Projects ** Pinned GitHub Projects +#+begin_export gemini +Unfortunately, this content is not available on Gemini. I’m working on it. +#+end_export + #+begin_export html @@ -16,6 +19,10 @@ #+end_export ** Most Starred Projects on GitHub +#+begin_export gemini +Unfortunately, this content is not available on Gemini. I’m working on it. +#+end_export + #+begin_export html @@ -23,8 +30,14 @@ #+end_export ** Latest Active Repositories on GitHub +#+begin_export gemini +Unfortunately, this content is not available on Gemini. I’m working on it. +#+end_export + #+begin_export html #+end_export + +#+include: other-links diff --git a/content/en/resume.org b/content/en/resume.org index 0291010..6304a83 100644 --- a/content/en/resume.org +++ b/content/en/resume.org @@ -1,4 +1,3 @@ -#+title: Resume #+setupfile: ../headers #+language: en @@ -86,3 +85,5 @@ Studied for a year and a half until the creation of [[./resume.md#voxwave-2014-2 - Music writing and mix software: FL Studio - Audio repair and cleaning: iZotope RX - Mastering: T-RackS CS + +#+include: other-links diff --git a/content/en/vocal-synthesis.org b/content/en/vocal-synthesis.org index 6fc9d0b..aaae265 100644 --- a/content/en/vocal-synthesis.org +++ b/content/en/vocal-synthesis.org @@ -1,4 +1,3 @@ -#+title: Vocal Synthesis #+setupfile: ../headers #+language: en @@ -39,7 +38,7 @@ working at VoxWave. While all these vocal libraries have been discontinued, vocal libraries for /BSUP01 KEINE Tashi/ and /ALYS/ are available for download. Please refer to the following pages: -- BSUP01 KEINE Tashi :: [[./keine-tashi.md][BSUP01 KEINE Tashi]] +- BSUP01 KEINE Tashi :: [[file:./keine-tashi.org][BSUP01 KEINE Tashi]] - ALYS for UTAU :: [[https://blog.phundrak.com/open-sourcing-alys/][Open-Sourcing ALYS]] ** Alter/Ego @@ -59,3 +58,5 @@ since December 15th, 2021. However, in accordance with Plogue, no reciepe for building ALYS for Alter/Ego have been made available. More information on open-sourcing ALYS [[https://blog.phundrak.com/open-sourcing-alys/][here]]. + +#+include: other-links diff --git a/content/find-me.org b/content/find-me.org index acb43ec..a6515d7 100644 --- a/content/find-me.org +++ b/content/find-me.org @@ -1,8 +1,7 @@ -#+title: Où me trouver ? #+setupfile: ./headers #+language: fr -* Où me trouver ? +* Où me trouver Je suis présent sur différentes plateformes et quelques réseaux sociaux où vous pouvez me suivre. @@ -29,3 +28,5 @@ sociaux où vous pouvez me suivre. - {{{icon(reddit)}}} *Reddit*: [/u/phundrak](https://www.reddit.com/user/phundrak) - {{{icon(linkedin)}}} *LinkedIn*: [[https://www.linkedin.com/in/lucien-cartier-tilet/][Lucien Cartier-Tilet]] - {{{icon(twitch)}}} *Twitch*: [[https://www.twitch.tv/phundrak][phundrak]] + +#+include: other-links diff --git a/content/index.org b/content/index.org index e578e57..57ac78e 100644 --- a/content/index.org +++ b/content/index.org @@ -1,4 +1,3 @@ -#+title: Accueil #+setupfile: ./headers #+language: fr @@ -23,3 +22,9 @@ quand l’opportunité se présente, de la randonnée. Ma langue maternelle est le Français, mais je parle également couramment en anglais. J’ai également des bases en japonais, [[https://elefen.org][lingua franca nova]], et en norvégien bokmål. + +#+begin_export html +Ce site web est également disponible sur Gemini à l’adresse [gmi.phundrak.com](gemini://gmi.phundrak.com)! +#+end_export + +#+include: other-links diff --git a/content/keine-tashi.org b/content/keine-tashi.org index 9b24e2b..b63b865 100644 --- a/content/keine-tashi.org +++ b/content/keine-tashi.org @@ -1,4 +1,3 @@ -#+title: Keine Tashi #+setupfile: ./headers #+language: fr @@ -8,7 +7,8 @@ title: BSUP01 Keine Tashi --- #+end_export -* Présentation +* BSUP01 Keine Tashi +** Présentation Keine Tashi est un personnage et le nom d’une collection de banques vocales développées pour le logiciel [[http://utau2008.web.fc2.com/][UTAU]], un logiciel de synthèse de voix pour le chant. J’ai développé Keine Tashi de 2012 à 2015 et @@ -28,11 +28,11 @@ j’annonçai arrêter toutes activités liées à UTAU. #+end_export -* Personnage et banques vocales +** Personnage et banques vocales Voici une traduction en français des informations ayant trait à Keine Tashi sur d’anciennes pages le présentant. -** Présentation +*** Présentation #+begin_export html #+end_export -* Carater e bancos de vose +** Carater e bancos de vose On ave asi en elefen la informas liada a KEINE Tashi sur sua vea pajinas ce le ia presenta. -** Presenta +*** Presenta #+begin_export html ./index.gmi Paje prima +=> ./find-me.gmi Do trova me +=> ./resume.gmi Resoma de carera +=> ./projets.gmi Projetas informatical +=> ./conlanging.gmi Crea de linguas +=> ./vocal-synthesis.gmi Sintese vocal +=> ./about.gmi A tema +=> ./privacy.gmi Vive privata +#+end_export diff --git a/content/lfn/privacy.org b/content/lfn/privacy.org index a0c4708..02a0bdc 100644 --- a/content/lfn/privacy.org +++ b/content/lfn/privacy.org @@ -1,8 +1,7 @@ -#+title: Vive Privata #+setupfile: ../headers #+language: lfn -* Vive Privata +* Vive privata ** Do es ospitada esa loca ueb? Esa loca ueb es ospitada sur mea servador ueb personal, en la site de Bron en Frans, como la majoria de mea locos ueb. [[https://labs.phundrak.com][=labs.phundrak.com=]] e @@ -55,3 +54,5 @@ la ultima refresci de esa pajina a supra. *** Me ave otra demandas Te pote scrive me un eposta a la adirije de eposta [[mailto:lucien@phundrak.com][lucien@phundrak.com]]. + +#+include: other-links diff --git a/content/lfn/projects.org b/content/lfn/projects.org index a0c4909..6d30e66 100644 --- a/content/lfn/projects.org +++ b/content/lfn/projects.org @@ -1,9 +1,12 @@ -#+title: Projetas informatical #+setupfile: ../headers #+language: lfn * Projetas informatical ** Mea projetas GitHub spinida +#+begin_export gemini +Regretable, eso contenida no es dispone per Gemini. +#+end_export + #+begin_export html @@ -16,6 +19,10 @@ #+end_export ** Mea projetas GitHub lo plu stelada +#+begin_export gemini +Regretable, eso contenida no es dispone per Gemini. +#+end_export + #+begin_export html @@ -23,8 +30,14 @@ #+end_export ** La plu nova projetas sur GitHub +#+begin_export gemini +Regretable, eso contenida no es dispone per Gemini. +#+end_export + #+begin_export html #+end_export + +#+include: other-links diff --git a/content/lfn/resume.org b/content/lfn/resume.org index 2f07ef5..ec2ec66 100644 --- a/content/lfn/resume.org +++ b/content/lfn/resume.org @@ -1,4 +1,3 @@ -#+title: Resoma de carera #+setupfile: ../headers #+language: lfn @@ -87,3 +86,5 @@ de [[./resume.md#voxwave-2014-2018][VoxWave]]. - program de musica: FL Studio - repara e puri audio: iZotope RX - mastering: T-RackS CS + +#+include: other-links diff --git a/content/lfn/vocal-synthesis.org b/content/lfn/vocal-synthesis.org index cdd0139..e9de645 100644 --- a/content/lfn/vocal-synthesis.org +++ b/content/lfn/vocal-synthesis.org @@ -1,4 +1,3 @@ -#+title: Sintese vocal #+setupfile: ../headers #+language: lfn @@ -37,7 +36,7 @@ conoseda como /ALYS4UTAU/. En ce cada esa bancos oji no plu es developa e sua supporta tecnica no plu es garantiada, on pote encora descarga /BSUP01 KEINE Tashi/ e /ALYS/: -- BSUP01 KEINE Tashi :: [[./keine-tashi.md][BSUP01 KEINE Tashi]] +- BSUP01 KEINE Tashi :: [[file:./keine-tashi.org][BSUP01 KEINE Tashi]] - ALYS :: [[https://blog.phundrak.com/open-sourcing-alys/][Open-Sourcing ALYS]] (en engles) ** Alter/Ego @@ -54,3 +53,5 @@ developa de la prima refresci de ALYS ia dura nove menses completinte. On pote aora descarga /ALYS4AE/ sin custa con un modulo de Alter/Ego de 15 desembre 2021. An con tota, me no pote publici informas e la metodo per compila la banco de vose de ALYS per Alter/Ego. Plu informas [[https://blog.phundrak.com/open-sourcing-alys/][asi]]. + +#+include: other-links diff --git a/content/other-links b/content/other-links new file mode 100644 index 0000000..ffdaedc --- /dev/null +++ b/content/other-links @@ -0,0 +1,14 @@ +# -*- mode: org -*- + +#+begin_export gmi +# Autres pages web du site + +=> ./index.gmi Accueil +=> ./find-me.gmi Où me trouver +=> ./resume.gmi CV +=> ./projets.gmi Projets informatiques +=> ./conlanging.gmi Création de langues +=> ./vocal-synthesis.gmi Synthèse vocale +=> ./about.gmi À propos +=> ./privacy.gmi Vie privée +#+end_export diff --git a/content/privacy.org b/content/privacy.org index bc6be85..ff36c06 100644 --- a/content/privacy.org +++ b/content/privacy.org @@ -1,4 +1,3 @@ -#+title: Vie Privée #+setupfile: ./headers #+language: fr @@ -66,3 +65,5 @@ trouvée à son tout début. ** J’ai d’autres questions Et je serai heureux d’y répondre par mail. Vous pouvez me contacter via l’adresse mail [[mailto:lucien@phundrak.com][lucien@phundrak.com]]. + +#+include: other-links diff --git a/content/projects.org b/content/projects.org index cfa11e2..5e63966 100644 --- a/content/projects.org +++ b/content/projects.org @@ -1,9 +1,12 @@ -#+title: Projets informatiques #+setupfile: ./headers #+language: fr * Projets Informatiques ** Projets GitHub épinglés +#+begin_export gemini +Malheureusement, ce contenu n’est pas encore disponible sur Gemini. J’y travaille. +#+end_export + #+begin_export html @@ -16,6 +19,10 @@ #+end_export ** Projets GitHub les plus étoilés +#+begin_export gemini +Malheureusement, ce contenu n’est pas encore disponible sur Gemini. J’y travaille. +#+end_export + #+begin_export html @@ -23,8 +30,14 @@ #+end_export ** Derniers dépôts de code actifs sur GitHub +#+begin_export gemini +Malheureusement, ce contenu n’est pas encore disponible sur Gemini. J’y travaille. +#+end_export + #+begin_export html #+end_export + +#+include: other-links diff --git a/content/resume.org b/content/resume.org index 012e841..b481507 100644 --- a/content/resume.org +++ b/content/resume.org @@ -1,4 +1,3 @@ -#+title: À Propos #+setupfile: ./headers #+language: fr @@ -94,3 +93,5 @@ LLCE. Études interrompues suite à la création de [[./resume.md#voxwave-2014-2 - Logiciel de musique : FL Studio - Réparation et nettoyage audio : iZotope RX - Mastering : T-RackS CS + +#+include: other-links diff --git a/content/vocal-synthesis.org b/content/vocal-synthesis.org index 7c85a03..b1de05b 100644 --- a/content/vocal-synthesis.org +++ b/content/vocal-synthesis.org @@ -1,4 +1,3 @@ -#+title: Synthèse vocale #+setupfile: ./headers #+language: fr @@ -45,7 +44,7 @@ plus tard sous le nom de /ALYS4UTAU/. Tandis que chacune de ces banques vocales ne sont plus en développement et leur support technique n’est plus assuré, /BSUP01 KEINE Tashi/ et /ALYS/ sont toujours disponibles au téléchargement. -- BSUP01 KEINE Tashi :: [[./keine-tashi.md][BSUP01 KEINE Tashi]] +- BSUP01 KEINE Tashi :: [[file:./keine-tashi.org][BSUP01 KEINE Tashi]] - ALYS for UTAU :: [[https://blog.phundrak.com/open-sourcing-alys/][Open-Sourcing ALYS]] (en anglais) ** Alter/Ego @@ -66,3 +65,5 @@ module pour Alter/Ego depuis le 15 décembre 2021. Cependant, les informations et la méthode nécessaires pour compiler sa banque vocale pour Alter/Ego ne peuvent pas être rendus publique. Plus d’informations [[https://blog.phundrak.com/open-sourcing-alys/][ici]]. + +#+include: other-links diff --git a/export.el b/export.el index 51d376b..12f0882 100644 --- a/export.el +++ b/export.el @@ -2,12 +2,15 @@ (require 'org) (add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/")) (package-initialize) -(package-refresh-contents) +(unless package-archive-contents + (package-refresh-contents)) (package-install 'f) (package-install 'ox-gfm) +(package-vc-install '(ox-gemini . (:url "https://labs.phundrak.com/phundrak/ox-gemini.git"))) (require 'f) (require 'ox-gfm) +(require 'ox-gemini) (require 'ox-publish) (setq org-confirm-babel-evaluate nil @@ -18,12 +21,19 @@ (defvar project-root (file-name-as-directory (expand-file-name "content" default-directory))) -(message "Emacs directory: %s" (f-full user-emacs-directory)) - (dolist (file (f-files project-root (lambda (file) (f-ext-p file "org")) t)) (message "====== Exporting %s" (f-relative file)) (with-temp-buffer (find-file file) - (org-export-to-file 'gfm (concat (f-no-ext file) ".md")))) + (org-export-to-file 'gfm (concat (f-no-ext file) ".md")) + (org-export-to-file 'gemini (concat (f-no-ext file) ".gmi")))) + +(defvar gemini-root-dir "gemini") +(dolist (subdir '("" "en" "lfn")) + (f-mkdir (f-join gemini-root-dir subdir))) +(f-mkdir gemini-root-dir) +(dolist (file (mapcar #'f-relative (f-files "." (lambda (file) (f-ext-p file "gmi")) t))) + (let ((new-place (f-join gemini-root-dir (apply #'f-join (cdr (f-split file)))))) + (f-move file new-place))) (message "Project generated!") diff --git a/gemini/.gitignore b/gemini/.gitignore new file mode 100644 index 0000000..ca13d65 --- /dev/null +++ b/gemini/.gitignore @@ -0,0 +1 @@ +**/*.gmi diff --git a/gemini/.meta b/gemini/.meta new file mode 100644 index 0000000..57bccdb --- /dev/null +++ b/gemini/.meta @@ -0,0 +1,4 @@ +# This line will be ignored. +lfn/**/*.gmi: ;lang=lfn +en/**/*.gmi: ;lang=en-US +*.gmi: ;lang=fr-FR