diff --git a/README.org b/README.org index 5aaf75e..760e8e1 100644 --- a/README.org +++ b/README.org @@ -1,10 +1,14 @@ +file:https://cdn.rawgit.com/syl20bnr/spacemacs/442d025779da2f62fc86c2082703697714db6514/assets/spacemacs-badge.svg]] + #+TITLE: Conlanging layer +#+author: Lucien “P’undrak” Cartier-Tilet [[img/conlang_flag.png]] * Table of Contents :TOC_4_gh:noexport: - [[#description][Description]] - [[#features][Features]] + - [[#graphviz-trees][Graphviz trees]] - [[#install][Install]] - [[#key-bindings][Key bindings]] @@ -12,8 +16,56 @@ This layer adds support for conlanging. ** Features - - Conversion from translittion to other alphabets - - Open linguistic files + - Generate graphviz trees based on Elisp trees + - Replace some text by its runic equivalent (supports the Mattér and + Eittlandic languages) + - Adds phonetics to Ňyqy text + - Provides custom shortcuts + +** Graphviz trees + The ~conlanging~ layer provides one public function called + ~conlanging/tree-to-dot~. It accepts as its sole argument a list of strings + or lists, such as the following: + + #+NAME: vowels-example + #+BEGIN_SRC emacs-lisp :noweb yes + (setq-local vowels + '("[vowel]" + ("[back]" + ("[tense]" + ("[high]" ("ü")) + ("{high}" ("ö"))) + ("{tense}" + ("[high]" ("u")) + ("{high}" ("o")))) + ("{back}" + ("[tense]" + ("[high]" ("y")) + ("{high}" ("ë"))) + ("{tense}" + ("[high]" ("i")) + ("{high}" ("e")))))) + #+END_SRC + + When passed in the above mentioned function, and the result itself is passed + through graphviz, we get the following result: + + #+NAME: tree-vowels + #+BEGIN_SRC emacs-lisp :exports results :noweb yes :cache yes + <> + (conlanging/tree-to-dot vowels) + #+END_SRC + + #+BEGIN_SRC dot :file img/vowels-example.png :var input=tree-vowels :exports results :cache yes + $input + #+END_SRC + #+NAME: arbre:vow + #+ATTR_HTML: :alt Exemple d’arbre de voyelles + #+RESULTS[cf778002d3abdd67ef0eba31e468ebdfe4e37400]: + [[file:img/vowels-example.png]] + + This example tree is only a binary tree, but a single node can have up to ten + children. * Install To install this layer, either clone this project in your =~/.emacs.d/private/= @@ -30,14 +82,16 @@ * Key bindings - | Key Binding | Description | - |---------------+---------------------------------------------------------| - | ~SPC o l e o~ | Open ~einnlanda.org~ file | - | ~SPC o l e r~ | Translate Einnlandish transliteration into runes | - | ~SPC o l e l~ | Translate Einnlandish transliteration into native latin | - | ~SPC o l h o~ | Open Einnlandic’s ~hjelp.org~ file | - | ~SPC o l m o~ | Open Mattér’s ~matter.org~ file | - | ~SPC o l m r~ | Translate Mattér transliteration into runes | - | ~SPC o l m l~ | Translate Mattér transliteration into native latin | - | ~SPC o l n o~ | Open Ňyqy’s ~nyqy.org~ file | - | ~SPC o l t o~ | Open Tãso’s ~taso.org~ file | + | Key Binding | Description | + |---------------+-------------------------------------------------------------------------| + | ~SPC l e l~ | (org-mode only) Translate Einnlandish transliteration into native latin | + | ~SPC l e r~ | (org-mode only) Translate Einnlandish transliteration into runes | + | ~SPC l m L~ | (org-mode only) Translate Mattér transliteration into LaTeX runes | + | ~SPC l m l~ | (org-mode only) Translate Mattér transliteration into native latin | + | ~SPC l m r~ | (org-mode only) Translate Mattér transliteration into runes | + | ~SPC o l e o~ | Open Eittlandic file | + | ~SPC o l h o~ | Open Hjelp file | + | ~SPC o l m o~ | Open Mattér file | + | ~SPC o l n o~ | Open Ňyqy file | + | ~SPC o l o~ | Open the conlanging directory | + | ~SPC o l t o~ | Open Tãso file |