Skip to content

Commit 5070e7d

Browse files
authored
Merge branch 'typst:main' into 0.1.0
2 parents 85a5ec5 + aa0d7b8 commit 5070e7d

File tree

285 files changed

+38421
-3
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

285 files changed

+38421
-3
lines changed
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# Codex Woltiensis
2+
3+
Highly customizable student songbook template that provides a macro system and a semantic format to describe songs, including metadata, lyrics, refrains, and various annotations. The goal is to simplify songbook creation while maintaining high typographic quality.
4+
5+
## ✨ Features
6+
7+
- **Semantic Song Definition**: Write songs using high-level, readable commands like `#header`, `#bis`, and custom footnotes.
8+
- **Metadata Blocks**: Specify song metadata like melody (`air`), lyrics author (`paroles`), and comments using a structured format.
9+
- **Line Duplication**: Automatically duplicate lines with `#bis()` and control the repetition count (`#bis(n:3)`).
10+
- **Formatted Refrains**: Define language-specific refrains (`=== fr.`, `=== nl`) and support custom-styled chorus sections.
11+
- **Rich Text Formatting**: Supports bold (`*bold*`), italics (`_italic_`), strikethrough (`#strike[...]`), underline (`#underline[...]`), and footnotes (`#note[...]`).
12+
- **Multiline Bis**: Repeat entire blocks of lines using `#bis()[...]` with multiple lines.
13+
- **Comment Annotations**: Provide context and background to each song using the `#header.commentaire` field.
14+
- **Refrain Sections**: Clearly separate verses from refrains with dedicated syntax (`=== fr.`, `=== Refrain custom`, etc).
15+
16+
## 📄 Example
17+
18+
Here is a sample song using the Codex Woltiensis format:
19+
20+
```typst
21+
== Song of Demonstration
22+
#header(
23+
air: air(author: "Traditional")[The Drunken Sailor],
24+
paroles: paroles(date: "1850")[Anonymous],
25+
commentaire: com()[This song demonstrates all features of the Codex Woltiensis template in English, including repeats, formatting, footnotes, and structured metadata.]
26+
)
27+
28+
What shall we do with a drunken sailor \
29+
What shall we do with a drunken sailor \
30+
What shall we do with a drunken sailor #bis() \
31+
Early in the morning? \
32+
33+
Put him in the longboat till he's sober #bis(n:3) \
34+
Put him in the scuppers with a hosepipe on him #bis(n:4) \
35+
Shave his belly with a rusty razor #bis(n:69) \
36+
37+
=== fr.
38+
_This is the chorus section \
39+
Repeated after each verse \
40+
May include footnotes #note()[Footnotes are useful for contextual notes] \
41+
May be marked as en (English), nl (Dutch), fr (French), or custom._
42+
43+
This shows repeated multiline blocks \
44+
#bis()[
45+
Haul him up and let him dangle\
46+
Haul him up and let him dangle\
47+
Let the bosun give a warning\
48+
]
49+
50+
=== nl
51+
52+
This stanza tests text formatting \
53+
*Bold Text* \
54+
_Italic Text_ \
55+
#strike[Strikethrough Text] \
56+
#underline[Underlined Text]
57+
58+
=== Custom Refrain
59+
```

0 commit comments

Comments
 (0)