commit
af6c605fe6
|
@ -15,6 +15,17 @@ jobs:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
repository: mainmatter/core-sans-a-fonts
|
||||||
|
ssh-key: ${{ secrets.SSH_PRIVATE_KEY }}
|
||||||
|
path: core-sans-a-fonts
|
||||||
|
- name: Install Fonts
|
||||||
|
run: |
|
||||||
|
sudo cp -r core-sans-a-fonts/* /usr/local/share/fonts/
|
||||||
|
sudo fc-cache -f -v
|
||||||
|
fc-list | grep "Core Sans"
|
||||||
- uses: actions-rust-lang/setup-rust-toolchain@v1
|
- uses: actions-rust-lang/setup-rust-toolchain@v1
|
||||||
- name: Install exercise plugin
|
- name: Install exercise plugin
|
||||||
run: cargo install --path helpers/mdbook-exercise-linker
|
run: cargo install --path helpers/mdbook-exercise-linker
|
||||||
|
|
|
@ -28,29 +28,40 @@ show-hidden-lines = true
|
||||||
[output.pandoc.profile.pdf] # options to pass to Pandoc (see https://pandoc.org/MANUAL.html)
|
[output.pandoc.profile.pdf] # options to pass to Pandoc (see https://pandoc.org/MANUAL.html)
|
||||||
output-file = "100-exercises-to-learn-rust.pdf"
|
output-file = "100-exercises-to-learn-rust.pdf"
|
||||||
to = "latex"
|
to = "latex"
|
||||||
highlight-style = "tango"
|
highlight-style = "./custom.theme"
|
||||||
# We use `lualatext` because, right now, it's the only engine
|
# We use `lualatext` because, right now, it's the only engine
|
||||||
# that supports fallback fonts, which we need for emojis.
|
# that supports fallback fonts, which we need for emojis.
|
||||||
pdf-engine = "lualatex"
|
pdf-engine = "lualatex"
|
||||||
metadata-file = "metadata.yml"
|
metadata-file = "metadata.yml"
|
||||||
|
|
||||||
[output.pandoc.profile.pdf.variables]
|
[output.pandoc.profile.pdf.variables]
|
||||||
|
mainfont = "CoreSansA45.ttf"
|
||||||
|
mainfontoptions = [
|
||||||
|
"BoldFont=CoreSansA65.ttf",
|
||||||
|
"ItalicFont=CoreSansA45It.ttf",
|
||||||
|
"BoldItalicFont=CoreSansA65It.ttf",
|
||||||
|
]
|
||||||
|
sansfont = "CoreSansA45.ttf"
|
||||||
|
sansfontoptions = [
|
||||||
|
"BoldFont=CoreSansA65.ttf",
|
||||||
|
"ItalicFont=CoreSansA45It.ttf",
|
||||||
|
"BoldItalicFont=CoreSansA65It.ttf",
|
||||||
|
]
|
||||||
# You can get these fonts here: https://fonts.google.com/selection?query=noto+color+
|
# You can get these fonts here: https://fonts.google.com/selection?query=noto+color+
|
||||||
mainfont = "Noto Serif"
|
|
||||||
sansfont = "Noto Sans"
|
|
||||||
monofont = "Noto Sans Mono"
|
monofont = "Noto Sans Mono"
|
||||||
mainfontfallback = ["Noto Color Emoji:mode=harf"]
|
mainfontfallback = ["Noto Color Emoji:mode=harf"]
|
||||||
sansfontfallback = ["Noto Color Emoji:mode=harf"]
|
sansfontfallback = ["Noto Color Emoji:mode=harf"]
|
||||||
monofontfallback = [
|
monofontfallback = [
|
||||||
"Noto Color Emoji:mode=harf",
|
"Noto Color Emoji:mode=harf",
|
||||||
]
|
]
|
||||||
linkcolor = "blue"
|
linkcolor = "Links"
|
||||||
urlcolor = "blue"
|
urlcolor = "Links"
|
||||||
urlstyle = "rm"
|
urlstyle = "rm"
|
||||||
documentclass = "book"
|
documentclass = "book"
|
||||||
fontsize = "11pt"
|
fontsize = "10pt"
|
||||||
geometry = "papersize={8in,10in},top=2cm,bottom=2cm,left=2.4cm,right=2.4cm"
|
geometry = "papersize={8in,10in},top=2cm,bottom=2cm,left=2.4cm,right=2.4cm"
|
||||||
header-includes = [
|
header-includes = [
|
||||||
|
"\\definecolor{Links}{HTML}{6200EE}",
|
||||||
# Reduce font size of code blocks
|
# Reduce font size of code blocks
|
||||||
"\\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\\\\{\\},fontsize=\\small}",
|
"\\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\\\\{\\},fontsize=\\small}",
|
||||||
]
|
]
|
||||||
|
@ -65,20 +76,33 @@ metadata-file = "metadata.yml"
|
||||||
pdf-engine = "lualatex"
|
pdf-engine = "lualatex"
|
||||||
|
|
||||||
[output.pandoc.profile.paperback.variables]
|
[output.pandoc.profile.paperback.variables]
|
||||||
|
mainfont = "CoreSansA45.ttf"
|
||||||
|
mainfontoptions = [
|
||||||
|
"BoldFont=CoreSansA65.ttf",
|
||||||
|
"ItalicFont=CoreSansA45It.ttf",
|
||||||
|
"BoldItalicFont=CoreSansA65It.ttf",
|
||||||
|
]
|
||||||
|
sansfont = "CoreSansA45.ttf"
|
||||||
|
sansfontoptions = [
|
||||||
|
"BoldFont=CoreSansA65.ttf",
|
||||||
|
"ItalicFont=CoreSansA45It.ttf",
|
||||||
|
"BoldItalicFont=CoreSansA65It.ttf",
|
||||||
|
]
|
||||||
# You can get these fonts here: https://fonts.google.com/selection?query=noto+color+
|
# You can get these fonts here: https://fonts.google.com/selection?query=noto+color+
|
||||||
mainfont = "Noto Serif"
|
|
||||||
sansfont = "Noto Sans"
|
|
||||||
monofont = "Noto Sans Mono"
|
monofont = "Noto Sans Mono"
|
||||||
mainfontfallback = ["Noto Color Emoji:mode=harf"]
|
mainfontfallback = ["Noto Color Emoji:mode=harf"]
|
||||||
sansfontfallback = ["Noto Color Emoji:mode=harf"]
|
sansfontfallback = ["Noto Color Emoji:mode=harf"]
|
||||||
monofontfallback = [
|
monofontfallback = [
|
||||||
"Noto Color Emoji:mode=harf",
|
"Noto Color Emoji:mode=harf",
|
||||||
]
|
]
|
||||||
|
linkcolor = "Links"
|
||||||
|
urlcolor = "Links"
|
||||||
urlstyle = "rm"
|
urlstyle = "rm"
|
||||||
documentclass = "book"
|
documentclass = "book"
|
||||||
fontsize = "11pt"
|
fontsize = "10pt"
|
||||||
geometry = "papersize={8in,10in},top=2cm,bottom=2cm,left=2.8cm,right=2.5cm"
|
geometry = "papersize={8in,10in},top=2cm,bottom=2cm,left=2.8cm,right=2.5cm"
|
||||||
header-includes = [
|
header-includes = [
|
||||||
|
"\\definecolor{Links}{HTML}{6200EE}",
|
||||||
# Reduce font size of code blocks
|
# Reduce font size of code blocks
|
||||||
"\\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\\\\{\\},fontsize=\\small}",
|
"\\DefineVerbatimEnvironment{Highlighting}{Verbatim}{commandchars=\\\\\\{\\},fontsize=\\small}",
|
||||||
]
|
]
|
||||||
|
@ -95,15 +119,25 @@ standalone = true
|
||||||
metadata-file = "metadata.yml"
|
metadata-file = "metadata.yml"
|
||||||
|
|
||||||
[output.pandoc.profile.html.variables]
|
[output.pandoc.profile.html.variables]
|
||||||
|
mainfont = "CoreSansA45.ttf"
|
||||||
|
mainfontoptions = [
|
||||||
|
"BoldFont=CoreSansA65.ttf",
|
||||||
|
"ItalicFont=CoreSansA45It.ttf",
|
||||||
|
"BoldItalicFont=CoreSansA65It.ttf",
|
||||||
|
]
|
||||||
|
sansfont = "CoreSansA45.ttf"
|
||||||
|
sansfontoptions = [
|
||||||
|
"BoldFont=CoreSansA65.ttf",
|
||||||
|
"ItalicFont=CoreSansA45It.ttf",
|
||||||
|
"BoldItalicFont=CoreSansA65It.ttf",
|
||||||
|
]
|
||||||
# You can get these fonts here: https://fonts.google.com/selection?query=noto+color+
|
# You can get these fonts here: https://fonts.google.com/selection?query=noto+color+
|
||||||
mainfont = "Noto Serif"
|
|
||||||
sansfont = "Noto Sans"
|
|
||||||
monofont = "Noto Sans Mono"
|
monofont = "Noto Sans Mono"
|
||||||
mainfontfallback = ["Noto Color Emoji:mode=harf"]
|
mainfontfallback = ["Noto Color Emoji:mode=harf"]
|
||||||
sansfontfallback = ["Noto Color Emoji:mode=harf"]
|
sansfontfallback = ["Noto Color Emoji:mode=harf"]
|
||||||
monofontfallback = [
|
monofontfallback = [
|
||||||
"Noto Color Emoji:mode=harf",
|
"Noto Color Emoji:mode=harf",
|
||||||
]
|
]
|
||||||
linkcolor = "blue"
|
linkcolor = "Links"
|
||||||
urlcolor = "blue"
|
urlcolor = "Links"
|
||||||
urlstyle = "rm"
|
urlstyle = "rm"
|
||||||
|
|
|
@ -0,0 +1,211 @@
|
||||||
|
{
|
||||||
|
"text-color": "#c9d1d9",
|
||||||
|
"background-color": "#343942",
|
||||||
|
"line-number-color": null,
|
||||||
|
"line-number-background-color": null,
|
||||||
|
"text-styles": {
|
||||||
|
"Alert": {
|
||||||
|
"text-color": "#ff0000",
|
||||||
|
"background-color": null,
|
||||||
|
"bold": true,
|
||||||
|
"italic": false,
|
||||||
|
"underline": false
|
||||||
|
},
|
||||||
|
"Annotation": {
|
||||||
|
"text-color": "#8b949e",
|
||||||
|
"background-color": null,
|
||||||
|
"bold": true,
|
||||||
|
"italic": true,
|
||||||
|
"underline": false
|
||||||
|
},
|
||||||
|
"Attribute": {
|
||||||
|
"text-color": "#03DAC5",
|
||||||
|
"background-color": null,
|
||||||
|
"bold": false,
|
||||||
|
"italic": false,
|
||||||
|
"underline": false
|
||||||
|
},
|
||||||
|
"BaseN": {
|
||||||
|
"text-color": "#a5d6ff",
|
||||||
|
"background-color": null,
|
||||||
|
"bold": false,
|
||||||
|
"italic": false,
|
||||||
|
"underline": false
|
||||||
|
},
|
||||||
|
"BuiltIn": {
|
||||||
|
"text-color": "#03DAC5",
|
||||||
|
"background-color": null,
|
||||||
|
"bold": false,
|
||||||
|
"italic": false,
|
||||||
|
"underline": false
|
||||||
|
},
|
||||||
|
"Char": {
|
||||||
|
"text-color": "#a5d6ff",
|
||||||
|
"background-color": null,
|
||||||
|
"bold": false,
|
||||||
|
"italic": false,
|
||||||
|
"underline": false
|
||||||
|
},
|
||||||
|
"Comment": {
|
||||||
|
"text-color": "#8b949e",
|
||||||
|
"background-color": null,
|
||||||
|
"bold": false,
|
||||||
|
"italic": true,
|
||||||
|
"underline": false
|
||||||
|
},
|
||||||
|
"CommentVar": {
|
||||||
|
"text-color": "#8b949e",
|
||||||
|
"background-color": null,
|
||||||
|
"bold": true,
|
||||||
|
"italic": true,
|
||||||
|
"underline": false
|
||||||
|
},
|
||||||
|
"Constant": {
|
||||||
|
"text-color": "#79c0ff",
|
||||||
|
"background-color": null,
|
||||||
|
"bold": false,
|
||||||
|
"italic": false,
|
||||||
|
"underline": false
|
||||||
|
},
|
||||||
|
"ControlFlow": {
|
||||||
|
"text-color": "#03DAC5",
|
||||||
|
"background-color": null,
|
||||||
|
"bold": true,
|
||||||
|
"italic": false,
|
||||||
|
"underline": false
|
||||||
|
},
|
||||||
|
"DataType": {
|
||||||
|
"text-color": "#8b949e",
|
||||||
|
"background-color": null,
|
||||||
|
"bold": false,
|
||||||
|
"italic": false,
|
||||||
|
"underline": false
|
||||||
|
},
|
||||||
|
"DecVal": {
|
||||||
|
"text-color": "#79c0ff",
|
||||||
|
"background-color": null,
|
||||||
|
"bold": false,
|
||||||
|
"italic": false,
|
||||||
|
"underline": false
|
||||||
|
},
|
||||||
|
"Documentation": {
|
||||||
|
"text-color": "#8b949e",
|
||||||
|
"background-color": null,
|
||||||
|
"bold": false,
|
||||||
|
"italic": true,
|
||||||
|
"underline": false
|
||||||
|
},
|
||||||
|
"Error": {
|
||||||
|
"text-color": "#ff0000",
|
||||||
|
"background-color": null,
|
||||||
|
"bold": true,
|
||||||
|
"italic": false,
|
||||||
|
"underline": false
|
||||||
|
},
|
||||||
|
"Extension": {
|
||||||
|
"text-color": null,
|
||||||
|
"background-color": null,
|
||||||
|
"bold": false,
|
||||||
|
"italic": false,
|
||||||
|
"underline": false
|
||||||
|
},
|
||||||
|
"Float": {
|
||||||
|
"text-color": "#79c0ff",
|
||||||
|
"background-color": null,
|
||||||
|
"bold": false,
|
||||||
|
"italic": false,
|
||||||
|
"underline": false
|
||||||
|
},
|
||||||
|
"Function": {
|
||||||
|
"text-color": "#d2a8ff",
|
||||||
|
"background-color": null,
|
||||||
|
"bold": false,
|
||||||
|
"italic": false,
|
||||||
|
"underline": false
|
||||||
|
},
|
||||||
|
"Import": {
|
||||||
|
"text-color": "#8b949e",
|
||||||
|
"background-color": null,
|
||||||
|
"bold": true,
|
||||||
|
"italic": false,
|
||||||
|
"underline": false
|
||||||
|
},
|
||||||
|
"Information": {
|
||||||
|
"text-color": "#8b949e",
|
||||||
|
"background-color": null,
|
||||||
|
"bold": true,
|
||||||
|
"italic": true,
|
||||||
|
"underline": false
|
||||||
|
},
|
||||||
|
"Keyword": {
|
||||||
|
"text-color": "#03DAC5",
|
||||||
|
"background-color": null,
|
||||||
|
"bold": true,
|
||||||
|
"italic": false,
|
||||||
|
"underline": false
|
||||||
|
},
|
||||||
|
"Operator": {
|
||||||
|
"text-color": "#03DAC5",
|
||||||
|
"background-color": null,
|
||||||
|
"bold": false,
|
||||||
|
"italic": false,
|
||||||
|
"underline": false
|
||||||
|
},
|
||||||
|
"Other": {
|
||||||
|
"text-color": "#007020",
|
||||||
|
"background-color": null,
|
||||||
|
"bold": false,
|
||||||
|
"italic": false,
|
||||||
|
"underline": false
|
||||||
|
},
|
||||||
|
"Preprocessor": {
|
||||||
|
"text-color": "#03DAC5",
|
||||||
|
"background-color": null,
|
||||||
|
"bold": false,
|
||||||
|
"italic": false,
|
||||||
|
"underline": false
|
||||||
|
},
|
||||||
|
"SpecialChar": {
|
||||||
|
"text-color": "#03DAC5",
|
||||||
|
"background-color": null,
|
||||||
|
"bold": false,
|
||||||
|
"italic": false,
|
||||||
|
"underline": false
|
||||||
|
},
|
||||||
|
"SpecialString": {
|
||||||
|
"text-color": "#03DAC5",
|
||||||
|
"background-color": null,
|
||||||
|
"bold": false,
|
||||||
|
"italic": false,
|
||||||
|
"underline": false
|
||||||
|
},
|
||||||
|
"String": {
|
||||||
|
"text-color": "#a5d6ff",
|
||||||
|
"background-color": null,
|
||||||
|
"bold": false,
|
||||||
|
"italic": false,
|
||||||
|
"underline": false
|
||||||
|
},
|
||||||
|
"Variable": {
|
||||||
|
"text-color": "#a8daff",
|
||||||
|
"background-color": null,
|
||||||
|
"bold": false,
|
||||||
|
"italic": false,
|
||||||
|
"underline": false
|
||||||
|
},
|
||||||
|
"VerbatimString": {
|
||||||
|
"text-color": "#a5d6ff",
|
||||||
|
"background-color": null,
|
||||||
|
"bold": false,
|
||||||
|
"italic": false,
|
||||||
|
"underline": false
|
||||||
|
},
|
||||||
|
"Warning": {
|
||||||
|
"text-color": "#60a0b0",
|
||||||
|
"background-color": null,
|
||||||
|
"bold": true,
|
||||||
|
"italic": true,
|
||||||
|
"underline": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue