add wordlist to generated images
continuous-integration/drone/push Build is passing Details

This commit is contained in:
Cadey Ratio 2020-05-18 07:53:10 -04:00
parent 2f042dadb7
commit 705cc377ea
12 changed files with 402 additions and 36 deletions

View File

@ -65,6 +65,4 @@ steps:
image: "monacoremo/nix:2020-04-05-05f09348-circleci" image: "monacoremo/nix:2020-04-05-05f09348-circleci"
pull: always pull: always
commands: commands:
- nix-env -if ./nix/dhall.nix - nix-build ./words
- cd words
- dhall --file ./dictionary.dhall

View File

@ -7,6 +7,7 @@ let
}; };
tex = pkgs.callPackage ../nix/texlive.nix { }; tex = pkgs.callPackage ../nix/texlive.nix { };
version = "devel"; version = "devel";
words = import ../words;
book = pkgs.stdenv.mkDerivation { book = pkgs.stdenv.mkDerivation {
pname = "lewa-book"; pname = "lewa-book";
inherit version; inherit version;
@ -17,12 +18,16 @@ let
mdbook mdbook
nur.repos.mic92.pandoc-bin nur.repos.mic92.pandoc-bin
tex tex
words
]; ];
buildPhase = '' buildPhase = ''
cp -rf $src/src . cp -rf $src/src .
chmod a+w ./src
cp -rf $src/book.toml . cp -rf $src/book.toml .
mkdir book mkdir book
rm ./src/dictionary.md ||:
cp ${words}/dictionary.md ./src/dictionary.md
mdbook build mdbook build
cd ./src && ./build.sh && cd .. cd ./src && ./build.sh && cd ..
cd ./book && kindlegen lewa.epub ||: && cd .. cd ./book && kindlegen lewa.epub ||: && cd ..

View File

@ -76,7 +76,7 @@ marked with particles. Here's a table of the common ones:
| ---------- | ----- | | ---------- | ----- |
| past tense | qu | | past tense | qu |
| present tense | qa | | present tense | qa |
| future tense | qi | | future tense | qo |
| perfective aspect | qe | | perfective aspect | qe |
## Modality ## Modality

View File

@ -9,3 +9,4 @@
- [Word Order](./02_typology/word_order.md) - [Word Order](./02_typology/word_order.md)
- [Morphological Typology](./02_typology/typology.md) - [Morphological Typology](./02_typology/typology.md)
- [Fun with Nouns and Verbs](./03_nouns_verbs/index.md) - [Fun with Nouns and Verbs](./03_nouns_verbs/index.md)
- [Dictionary](./dictionary.md)

View File

@ -14,6 +14,8 @@ intro/index.md
02_typology/typology.md 02_typology/typology.md
03_nouns_verbs/index.md 03_nouns_verbs/index.md
dictionary.md
' '
set -x set -x

279
book/src/dictionary.md Normal file
View File

@ -0,0 +1,279 @@
# Dictionary
This chapter of the book will hold a list of all of the words in L'ewa as the time of this book being rendered. This may not be the most up-to-date list of words. See (TODO(Mai): ko finti le vlaste kibystu) for more words.
## Root Words
### l'ewa
*language*
is a language
### madsa
*eat*
eats/is eating/to eat
### qa'te
*fast*
is fast/rapid in rate
### spalo
*apple*
is an apple
### zasko
*plant*
is a plant/is vegetation
## Particles
### mi
family: MI
*me, I*
the current speaker
### mi'a
family: MI
*we (system)*
the system of the current speaker, inclusive
### mi'o
family: MI
*we (all)*
any speaker, any listener and any others
### ro
family: MI
*you*
the listener
### ro'a
family: MI
*you (+ system)*
the system of the listener
### ti
family: TI
*this*
the currently referenced object near the speaker
### ta
family: TI
*that*
that (near listener)
### tu
family: TI
*that*
that (far away)
### ka
family: KA
*subject marker*
explicitly marks noun-phrase as the subject of the verb
### ke
family: KA
*verb marker*
explicitly marks following phrase as a verb
### ku
family: KA
*object marker*
explicitly marks following phrase as the object of the verb
### lo
family: LO
*a/an*
indefinite article
### le
family: LO
*the*
definite article
### zo
family: JA
*zero*
zero
### ja
family: JA
*one*
one
### he
family: JA
*two*
two
### xu
family: JA
*three*
three
### ho
family: JA
*four*
four
### qi
family: JA
*five*
five
### gau
family: JA
*nif*
nif (dec 36)
### to
family: JA
*all*
all/every
### ra'o
family: JA
*some*
some amount of/a few
### so
family: JA
*how many?*
how many/number question
### na
family: NA
*total negation*
something other than, total negation
### na'o
family: NA
*scalar negation*
the opposite of
### nai
family: NA
*particle negation*
negation of a particular particle
### qu
family: QA
*past tense*
marks noun phrase / verb as past tense
### qa
family: QA
*present tense*
marks noun phrase / verb as present tense
### qo
family: QA
*future tense*
marks noun phrase / verb as future tense
### qe
family: QA
*perfective aspect*
marks noun phrase / verb as perfective, or completed

View File

@ -1,4 +1,16 @@
{ {
"dhall-lang": {
"branch": "master",
"description": "Maintainable configuration files",
"homepage": "https://dhall-lang.org",
"owner": "dhall-lang",
"repo": "dhall-lang",
"rev": "078df280e99b2b7385c70e1ecadb52331d6040ce",
"sha256": "1h4cj37rbdyfcw40wwnn4xyvf624gb9163mcw1zaxkkagx80dksq",
"type": "tarball",
"url": "https://github.com/dhall-lang/dhall-lang/archive/078df280e99b2b7385c70e1ecadb52331d6040ce.tar.gz",
"url_template": "https://github.com/<owner>/<repo>/archive/<rev>.tar.gz"
},
"easy-dhall-nix": { "easy-dhall-nix": {
"branch": "master", "branch": "master",
"description": "Derivations for easily downloading Dhall binaries and putting them to use.", "description": "Derivations for easily downloading Dhall binaries and putting them to use.",

1
words/Prelude.dhall Normal file
View File

@ -0,0 +1 @@
env:DHALL_PRELUDE ? https://prelude.dhall-lang.org/package.dhall

23
words/default.nix Normal file
View File

@ -0,0 +1,23 @@
let
sources = import ../nix/sources.nix;
pkgs = import sources.nixpkgs { };
dhall = pkgs.callPackage ../nix/dhall.nix { };
in pkgs.stdenv.mkDerivation {
name = "lewa-dictionary";
src = ./.;
phases = "buildPhase installPhase";
buildInputs = [ sources.dhall-lang ];
DHALL_PRELUDE = "${sources.dhall-lang}/Prelude/package.dhall";
buildPhase = ''
env | grep ^DHALL
${dhall}/bin/dhall text --file $src/utils/showDictionary.dhall > dictionary.md
'';
installPhase = ''
mkdir -p $out
cp dictionary.md $out/dictionary.md
'';
}

View File

@ -41,5 +41,4 @@ in { rootWords =
, ./particles/qo.dhall , ./particles/qo.dhall
, ./particles/qe.dhall , ./particles/qe.dhall
] ]
: List ParticleWord.Type
} }

View File

@ -0,0 +1,30 @@
let ContentWord = ../types/ContentWord.dhall
let ParticleWord = ../types/ParticleWord.dhall
let showContent = ./showContentWord.dhall
let showParticle = ./showParticleWord.dhall
let dictionary = ../dictionary.dhall
let Prelude = ../Prelude.dhall
let contentWords = Prelude.Text.concatMapSep "\n" ContentWord.Type showContent
let particleWords =
Prelude.Text.concatMapSep "\n" ParticleWord.Type showParticle
in ''
# Dictionary
This chapter of the book will hold a list of all of the words in L'ewa as the time of this book being rendered. This may not be the most up-to-date list of words. See (TODO(Mai): ko finti le vlaste kibystu) for more words.
## Root Words
${contentWords dictionary.rootWords}
## Particles
${particleWords dictionary.particles}
''

View File

@ -0,0 +1,16 @@
let ParticleWord = ../types/ParticleWord.dhall
let render
: ParticleWord.Type → Text
= λ(word : ParticleWord.Type) →
''
### ${word.word}
family: ${word.family}
*${word.gloss}*
${word.definition}
''
in render