Typst rewrite part the fourth
This commit is contained in:
BIN
assets/favicon.ico
Normal file
BIN
assets/favicon.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 894 B |
12
assets/scripts/pages/index.js
Normal file
12
assets/scripts/pages/index.js
Normal file
@ -0,0 +1,12 @@
|
||||
window.onload = async () => {
|
||||
let pages_data = await fetch("/index.json")
|
||||
let pages = await pages_data.json()
|
||||
let q = document.getElementsByClassName("random_page")
|
||||
if (q.length > 0) {
|
||||
q.item(0).addEventListener("click", async (ev) => {
|
||||
let i = Math.floor(Math.random() * pages.length)
|
||||
console.log(i, pages[i])
|
||||
window.location.href = `/${pages[i].id}.html`
|
||||
})
|
||||
}
|
||||
}
|
||||
12
assets/scripts/pages/pagelist.js
Normal file
12
assets/scripts/pages/pagelist.js
Normal file
@ -0,0 +1,12 @@
|
||||
window.onload = async () => {
|
||||
let pages_data = await fetch("/index.json")
|
||||
let pages = await pages_data.json()
|
||||
pages.sort((a, b) => a.id.localeCompare(b.id, "en"))
|
||||
let l = document.getElementById("list")
|
||||
if (l) {
|
||||
l.innerHTML = ""
|
||||
for (let page of pages) {
|
||||
l.innerHTML += `<li><a href="/${page.id}.html">${page.id}: ${page.title}</a></li>`
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -322,6 +322,640 @@
|
||||
src: url('../fonts/WOFF2/IosevkaAile-HeavyItalic.woff2') format('woff2'), url('../fonts/TTF/IosevkaAile-HeavyItalic.ttf') format('truetype');
|
||||
}
|
||||
|
||||
/****** Iosevka Slab for code ******/
|
||||
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 100;
|
||||
font-stretch: normal;
|
||||
font-style: normal;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-Thin.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-Thin.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 100;
|
||||
font-stretch: expanded;
|
||||
font-style: normal;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtendedThin.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtendedThin.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 100;
|
||||
font-stretch: normal;
|
||||
font-style: oblique;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ThinOblique.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ThinOblique.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web Oblique';
|
||||
font-display: swap;
|
||||
font-weight: 100;
|
||||
font-stretch: normal;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ThinOblique.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ThinOblique.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 100;
|
||||
font-stretch: expanded;
|
||||
font-style: oblique;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtendedThinOblique.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtendedThinOblique.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web Oblique';
|
||||
font-display: swap;
|
||||
font-weight: 100;
|
||||
font-stretch: expanded;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtendedThinOblique.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtendedThinOblique.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 100;
|
||||
font-stretch: normal;
|
||||
font-style: italic;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ThinItalic.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ThinItalic.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 100;
|
||||
font-stretch: expanded;
|
||||
font-style: italic;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtendedThinItalic.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtendedThinItalic.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 200;
|
||||
font-stretch: normal;
|
||||
font-style: normal;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtraLight.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtraLight.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 200;
|
||||
font-stretch: expanded;
|
||||
font-style: normal;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtendedExtraLight.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtendedExtraLight.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 200;
|
||||
font-stretch: normal;
|
||||
font-style: oblique;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtraLightOblique.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtraLightOblique.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web Oblique';
|
||||
font-display: swap;
|
||||
font-weight: 200;
|
||||
font-stretch: normal;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtraLightOblique.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtraLightOblique.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 200;
|
||||
font-stretch: expanded;
|
||||
font-style: oblique;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtendedExtraLightOblique.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtendedExtraLightOblique.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web Oblique';
|
||||
font-display: swap;
|
||||
font-weight: 200;
|
||||
font-stretch: expanded;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtendedExtraLightOblique.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtendedExtraLightOblique.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 200;
|
||||
font-stretch: normal;
|
||||
font-style: italic;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtraLightItalic.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtraLightItalic.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 200;
|
||||
font-stretch: expanded;
|
||||
font-style: italic;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtendedExtraLightItalic.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtendedExtraLightItalic.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 300;
|
||||
font-stretch: normal;
|
||||
font-style: normal;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-Light.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-Light.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 300;
|
||||
font-stretch: expanded;
|
||||
font-style: normal;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtendedLight.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtendedLight.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 300;
|
||||
font-stretch: normal;
|
||||
font-style: oblique;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-LightOblique.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-LightOblique.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web Oblique';
|
||||
font-display: swap;
|
||||
font-weight: 300;
|
||||
font-stretch: normal;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-LightOblique.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-LightOblique.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 300;
|
||||
font-stretch: expanded;
|
||||
font-style: oblique;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtendedLightOblique.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtendedLightOblique.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web Oblique';
|
||||
font-display: swap;
|
||||
font-weight: 300;
|
||||
font-stretch: expanded;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtendedLightOblique.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtendedLightOblique.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 300;
|
||||
font-stretch: normal;
|
||||
font-style: italic;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-LightItalic.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-LightItalic.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 300;
|
||||
font-stretch: expanded;
|
||||
font-style: italic;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtendedLightItalic.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtendedLightItalic.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 400;
|
||||
font-stretch: normal;
|
||||
font-style: normal;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-Regular.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-Regular.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 400;
|
||||
font-stretch: expanded;
|
||||
font-style: normal;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-Extended.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-Extended.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 400;
|
||||
font-stretch: normal;
|
||||
font-style: oblique;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-Oblique.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-Oblique.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web Oblique';
|
||||
font-display: swap;
|
||||
font-weight: 400;
|
||||
font-stretch: normal;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-Oblique.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-Oblique.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 400;
|
||||
font-stretch: expanded;
|
||||
font-style: oblique;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtendedOblique.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtendedOblique.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web Oblique';
|
||||
font-display: swap;
|
||||
font-weight: 400;
|
||||
font-stretch: expanded;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtendedOblique.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtendedOblique.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 400;
|
||||
font-stretch: normal;
|
||||
font-style: italic;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-Italic.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-Italic.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 400;
|
||||
font-stretch: expanded;
|
||||
font-style: italic;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtendedItalic.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtendedItalic.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 500;
|
||||
font-stretch: normal;
|
||||
font-style: normal;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-Medium.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-Medium.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 500;
|
||||
font-stretch: expanded;
|
||||
font-style: normal;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtendedMedium.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtendedMedium.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 500;
|
||||
font-stretch: normal;
|
||||
font-style: oblique;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-MediumOblique.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-MediumOblique.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web Oblique';
|
||||
font-display: swap;
|
||||
font-weight: 500;
|
||||
font-stretch: normal;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-MediumOblique.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-MediumOblique.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 500;
|
||||
font-stretch: expanded;
|
||||
font-style: oblique;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtendedMediumOblique.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtendedMediumOblique.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web Oblique';
|
||||
font-display: swap;
|
||||
font-weight: 500;
|
||||
font-stretch: expanded;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtendedMediumOblique.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtendedMediumOblique.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 500;
|
||||
font-stretch: normal;
|
||||
font-style: italic;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-MediumItalic.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-MediumItalic.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 500;
|
||||
font-stretch: expanded;
|
||||
font-style: italic;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtendedMediumItalic.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtendedMediumItalic.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 600;
|
||||
font-stretch: normal;
|
||||
font-style: normal;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-SemiBold.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-SemiBold.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 600;
|
||||
font-stretch: expanded;
|
||||
font-style: normal;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtendedSemiBold.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtendedSemiBold.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 600;
|
||||
font-stretch: normal;
|
||||
font-style: oblique;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-SemiBoldOblique.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-SemiBoldOblique.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web Oblique';
|
||||
font-display: swap;
|
||||
font-weight: 600;
|
||||
font-stretch: normal;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-SemiBoldOblique.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-SemiBoldOblique.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 600;
|
||||
font-stretch: expanded;
|
||||
font-style: oblique;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtendedSemiBoldOblique.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtendedSemiBoldOblique.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web Oblique';
|
||||
font-display: swap;
|
||||
font-weight: 600;
|
||||
font-stretch: expanded;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtendedSemiBoldOblique.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtendedSemiBoldOblique.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 600;
|
||||
font-stretch: normal;
|
||||
font-style: italic;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-SemiBoldItalic.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-SemiBoldItalic.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 600;
|
||||
font-stretch: expanded;
|
||||
font-style: italic;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtendedSemiBoldItalic.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtendedSemiBoldItalic.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 700;
|
||||
font-stretch: normal;
|
||||
font-style: normal;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-Bold.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-Bold.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 700;
|
||||
font-stretch: expanded;
|
||||
font-style: normal;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtendedBold.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtendedBold.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 700;
|
||||
font-stretch: normal;
|
||||
font-style: oblique;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-BoldOblique.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-BoldOblique.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web Oblique';
|
||||
font-display: swap;
|
||||
font-weight: 700;
|
||||
font-stretch: normal;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-BoldOblique.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-BoldOblique.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 700;
|
||||
font-stretch: expanded;
|
||||
font-style: oblique;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtendedBoldOblique.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtendedBoldOblique.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web Oblique';
|
||||
font-display: swap;
|
||||
font-weight: 700;
|
||||
font-stretch: expanded;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtendedBoldOblique.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtendedBoldOblique.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 700;
|
||||
font-stretch: normal;
|
||||
font-style: italic;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-BoldItalic.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-BoldItalic.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 700;
|
||||
font-stretch: expanded;
|
||||
font-style: italic;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtendedBoldItalic.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtendedBoldItalic.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 800;
|
||||
font-stretch: normal;
|
||||
font-style: normal;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtraBold.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtraBold.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 800;
|
||||
font-stretch: expanded;
|
||||
font-style: normal;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtendedExtraBold.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtendedExtraBold.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 800;
|
||||
font-stretch: normal;
|
||||
font-style: oblique;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtraBoldOblique.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtraBoldOblique.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web Oblique';
|
||||
font-display: swap;
|
||||
font-weight: 800;
|
||||
font-stretch: normal;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtraBoldOblique.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtraBoldOblique.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 800;
|
||||
font-stretch: expanded;
|
||||
font-style: oblique;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtendedExtraBoldOblique.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtendedExtraBoldOblique.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web Oblique';
|
||||
font-display: swap;
|
||||
font-weight: 800;
|
||||
font-stretch: expanded;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtendedExtraBoldOblique.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtendedExtraBoldOblique.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 800;
|
||||
font-stretch: normal;
|
||||
font-style: italic;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtraBoldItalic.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtraBoldItalic.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 800;
|
||||
font-stretch: expanded;
|
||||
font-style: italic;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtendedExtraBoldItalic.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtendedExtraBoldItalic.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 900;
|
||||
font-stretch: normal;
|
||||
font-style: normal;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-Heavy.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-Heavy.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 900;
|
||||
font-stretch: expanded;
|
||||
font-style: normal;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtendedHeavy.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtendedHeavy.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 900;
|
||||
font-stretch: normal;
|
||||
font-style: oblique;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-HeavyOblique.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-HeavyOblique.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web Oblique';
|
||||
font-display: swap;
|
||||
font-weight: 900;
|
||||
font-stretch: normal;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-HeavyOblique.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-HeavyOblique.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 900;
|
||||
font-stretch: expanded;
|
||||
font-style: oblique;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtendedHeavyOblique.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtendedHeavyOblique.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web Oblique';
|
||||
font-display: swap;
|
||||
font-weight: 900;
|
||||
font-stretch: expanded;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtendedHeavyOblique.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtendedHeavyOblique.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 900;
|
||||
font-stretch: normal;
|
||||
font-style: italic;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-HeavyItalic.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-HeavyItalic.ttf') format('truetype');
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Iosevka Slab Web';
|
||||
font-display: swap;
|
||||
font-weight: 900;
|
||||
font-stretch: expanded;
|
||||
font-style: italic;
|
||||
src: url('../fonts/WOFF2/IosevkaSlab-ExtendedHeavyItalic.woff2') format('woff2'), url('../fonts/TTF/IosevkaSlab-ExtendedHeavyItalic.ttf') format('truetype');
|
||||
}
|
||||
|
||||
|
||||
/****** basics ******/
|
||||
|
||||
:root {
|
||||
@ -336,21 +970,29 @@
|
||||
--error: #fb4934;
|
||||
--font-main: Iosevka Aile Web, sans-serif;
|
||||
--font-mono: Iosevka, monospace;
|
||||
}
|
||||
* {
|
||||
font-family: var(--font-main);
|
||||
font-weight: 300;
|
||||
}
|
||||
|
||||
* {
|
||||
padding: 0pt;
|
||||
margin: 0pt;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color: var(--bg);
|
||||
color: var(--fg);
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
font-weight: 800;
|
||||
}
|
||||
|
||||
strong {
|
||||
font-weight: 600;
|
||||
}
|
||||
@ -389,10 +1031,22 @@ nav input {
|
||||
color: var(--fg);
|
||||
}
|
||||
|
||||
aside, aside * {
|
||||
aside,
|
||||
aside * {
|
||||
background-color: var(--bg-accent);
|
||||
}
|
||||
|
||||
footer {
|
||||
width: 100%;
|
||||
padding: 10pt;
|
||||
background-color: var(--bg-accent);
|
||||
}
|
||||
|
||||
pre,
|
||||
code {
|
||||
font-family: 'Iosevka Slab Web', monospace;
|
||||
}
|
||||
|
||||
/****** Search Box ******/
|
||||
|
||||
ul.sresult {
|
||||
@ -408,6 +1062,7 @@ ul.sresult {
|
||||
padding: 10pt;
|
||||
border: .1em solid var(--fg-disabled);
|
||||
}
|
||||
|
||||
li.sresult {
|
||||
list-style: none;
|
||||
font-size: 1.5em;
|
||||
@ -420,10 +1075,14 @@ aside {
|
||||
}
|
||||
|
||||
@media (min-width: 1000px) {
|
||||
#main-body {display: flex;}
|
||||
#main-body {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
main {
|
||||
width: calc(100% - 20em);
|
||||
}
|
||||
|
||||
aside {
|
||||
margin: 10pt 10pt 10pt 0pt;
|
||||
width: 20em;
|
||||
@ -434,7 +1093,10 @@ aside {
|
||||
main {
|
||||
width: 100% - 20pt
|
||||
}
|
||||
aside { width: 100% - 20pt }
|
||||
|
||||
aside {
|
||||
width: 100% - 20pt
|
||||
}
|
||||
}
|
||||
|
||||
/****** Main body styling ******/
|
||||
@ -465,6 +1127,7 @@ main td {
|
||||
main .low {
|
||||
color: var(--fg-disabled);
|
||||
font-style: italic;
|
||||
font-size: .8em;
|
||||
}
|
||||
|
||||
main .high {
|
||||
@ -476,7 +1139,9 @@ main em {
|
||||
color: var(--accent);
|
||||
}
|
||||
|
||||
main table, main td, main tr {
|
||||
main table,
|
||||
main td,
|
||||
main tr {
|
||||
border-collapse: collapse;
|
||||
margin: 10px;
|
||||
border-collapse: collapse;
|
||||
@ -484,12 +1149,30 @@ main table, main td, main tr {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
main h2, main h3, main h4, main h5, main h6{
|
||||
main h2,
|
||||
main h3,
|
||||
main h4,
|
||||
main h5,
|
||||
main h6 {
|
||||
padding-top: 1em;
|
||||
}
|
||||
|
||||
main button {
|
||||
padding: 1em;
|
||||
background-color: var(--bg-accent);
|
||||
color: var(--accent);
|
||||
border: none;
|
||||
}
|
||||
|
||||
main button:hover {
|
||||
background-color: var(--fg-disabled);
|
||||
color: var(--bg-accent);
|
||||
}
|
||||
|
||||
/****** GLOSSES ******/
|
||||
.gloss, .gloss tr, .gloss td {
|
||||
.gloss,
|
||||
.gloss tr,
|
||||
.gloss td {
|
||||
border: none;
|
||||
text-align: left;
|
||||
padding: 0 .25em;
|
||||
|
||||
BIN
assets/webring-button.png
Normal file
BIN
assets/webring-button.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 428 B |
4
build.ts
4
build.ts
@ -7,9 +7,6 @@ import { Dirent } from "node:fs";
|
||||
import { mkdir, stat } from "node:fs/promises";
|
||||
|
||||
|
||||
function out_path(path: string) {
|
||||
}
|
||||
|
||||
enum LogLevel {
|
||||
DEBUG = 0,
|
||||
INFO = 1,
|
||||
@ -67,6 +64,7 @@ async function copy_assets() {
|
||||
log(INFO, "Updating assets")
|
||||
await $`rm -rf ${minLogLevel == DEBUG ? "-v" : ""} public_html/assets/`
|
||||
await $`cp -r ${minLogLevel == DEBUG ? "-v" : ""} assets/ public_html/`
|
||||
await $`cp ${minLogLevel == DEBUG ? "-v" : ""} public_html/assets/favicon.ico public_html/favicon.ico`
|
||||
}
|
||||
|
||||
type IndexEntry = { id: string; title: string; body: string; tags: string;}
|
||||
|
||||
@ -1,7 +1,21 @@
|
||||
#import "../templates/base.typ": *
|
||||
#show: conf.with(page-title: sitename, title-override: "Index")
|
||||
#show: conf.with(page-title: sitename, title-override: "Index", notoc: true, page-script: "index")
|
||||
|
||||
= Welcome <welcome>
|
||||
foo bar baz
|
||||
== H2
|
||||
=== H3
|
||||
Hi, welcome to my wiki website blog thing
|
||||
|
||||
Search a page in the search bar above (#sym.arrow.t), see a list of all the pages on the #link("/pagelist.html")[Page
|
||||
List] or #html.a(href: "#random", class: "random_page")[visit a random page]
|
||||
|
||||
#html.hr()
|
||||
/*
|
||||
Want a button to this website? Copy the following code
|
||||
```html
|
||||
<a href="https://wiki.annwan.me/" target="_blank">
|
||||
<img
|
||||
src="https://wiki.annwan.me/assets/webring-button.png"
|
||||
title="Annwan's Wiki"
|
||||
alt="Annwan's Wiki"
|
||||
/>
|
||||
</a>
|
||||
```
|
||||
*/
|
||||
|
||||
6
src/pagelist.typ
Normal file
6
src/pagelist.typ
Normal file
@ -0,0 +1,6 @@
|
||||
#import "../templates/base.typ": *
|
||||
#show: conf.with(page-title: "Page List", notoc: true, page-script: "pagelist", nofoot: true)
|
||||
|
||||
This is a list of all the pages on the site:
|
||||
|
||||
#html.ul(id: "list")
|
||||
@ -3,8 +3,8 @@
|
||||
#import "/templates/utils/lang-mos.typ": *
|
||||
#let high = html.span.with(class: "high")
|
||||
#show: conf.with(page-title: "Mosici")
|
||||
%lang %mos %langauge-documentation
|
||||
#set heading(numbering: "I’A’1’a’")
|
||||
%lang %mos %language-documentation
|
||||
#set heading(numbering: "I.A.1.a.")
|
||||
#let low = html.span.with(class: "low")
|
||||
#let gloss-opts = (
|
||||
txt-style: sn,
|
||||
@ -15,8 +15,12 @@
|
||||
#let bl = "["
|
||||
#let br = "]"
|
||||
#let ann = it => sub(sc(it))
|
||||
|
||||
This page describes Cairniasial standard Mosici, with brief mentions about other
|
||||
close varieties such as Sialmoséce standard Mosici
|
||||
|
||||
= Sound ⁊ Letters <sec-sound-letters>
|
||||
== Phonolgy <sec-phonology>
|
||||
== Phonology <sec-phonology>
|
||||
Mosici has the following phonemes
|
||||
#table(
|
||||
columns: 5,
|
||||
@ -41,33 +45,44 @@ There is also the following allophony rules:
|
||||
|
||||
- The dorsal approximant is realised as a [ẅ] off-glide in coda positions.
|
||||
- The dorsal fricative is realised as a [ɐ̯] off-glide in coda positions.
|
||||
- The dorsal fricative is realised as a true fricative [ʁ] in consonant clusters.
|
||||
- The dorsal fricative is realised as a true fricative [ʁ] in consonant
|
||||
clusters.
|
||||
- /n/ nasalises a preceding vowel.
|
||||
- /n/ itself is not pronounced in coda positions.#footnote[still applies nasalisation] <fn-nasal-even-coda>
|
||||
- Nasalised close vowels are realised as mid-centralised: /ĩ ĩː ỹ ỹː ũ ũː/ [ɪ̃ ɪ̃ː ʏ̃ ʏ̃ː ʊ̃ ʊ̃ː]
|
||||
- The dorsal plosive ⁊ approximant are realised as palatal before /i y e j/ #footnote[or their or their long and/or
|
||||
nasalised variants] <fn-dorsal-assimilation>,
|
||||
- The dorsal plosive ⁊ approximant are realised as uvular before ther /u o w/@fn-dorsal-assimilation
|
||||
- The dorsal plosive ⁊ approximant are realised as palatal after /e i j/@fn-dorsal-assimilation or in the coda of a
|
||||
syllable with /e i/@fn-dorsal-assimilation as the nucleus.
|
||||
- /n/ itself is not pronounced in coda positions.#footnote[still applies
|
||||
nasalisation] <fn-nasal-even-coda>
|
||||
- Nasalised close vowels are realised as mid-centralised: /ĩ ĩː ỹ ỹː ũ ũː/ [ɪ̃ ɪ̃ː
|
||||
ʏ̃ ʏ̃ː ʊ̃ ʊ̃ː]
|
||||
- The dorsal plosive ⁊ approximant are realised as palatal before /i y e j/
|
||||
#footnote[or their or their long and/or nasalised
|
||||
variants] <fn-dorsal-assimilation>,
|
||||
- The dorsal plosive ⁊ approximant are realised as uvular before /u o
|
||||
w/@fn-dorsal-assimilation
|
||||
- The dorsal plosive ⁊ approximant are realised as palatal after /e i
|
||||
j/@fn-dorsal-assimilation or in the coda of a syllable with /e
|
||||
i/@fn-dorsal-assimilation as the nucleus.
|
||||
- The dorsal plosive ⁊ approximant are realised as velar otherwise
|
||||
- Plosives are realised as voiced next to other phonemically voiced consonants.
|
||||
- Plosives are realised as non-sibilant fricatives of the same place of articulation word finally.
|
||||
- Plosives are realised as non-sibilant fricatives of the same place of
|
||||
articulation word finally.
|
||||
|
||||
== Coalescence <sec-coalescence>
|
||||
|
||||
Mosici doesn't allow consecutive vowels inside of words. To resolve would-be hiatuses, a coalescence process is used.
|
||||
This process is historic for all native words, but it still current to resolve diphthongs in loan words and is necessary
|
||||
to understand to read the written language, as the spelling was fixed before that sound change occurred.
|
||||
Mosici doesn't allow consecutive vowels inside of words. To resolve would-be
|
||||
hiatuses, a coalescence process is used. This process is historic for all native
|
||||
words, but it still current to resolve diphthongs in loan words and is necessary
|
||||
to understand to read the written language, as the spelling was fixed before
|
||||
that sound change occurred.
|
||||
|
||||
The process goes thusly (before applying the allophony):
|
||||
|
||||
1. Group <enumitem-coalesce-start> all consecutive vowels by pairs, starting at near the start of the word
|
||||
2. Combine all pairs of vowels according to the table below (the first vowel indexes the row, and the second vowel
|
||||
indexes the column)
|
||||
1. Group <enumitem-coalesce-start> all consecutive vowels by pairs, starting at
|
||||
near the start of the word
|
||||
2. Combine all pairs of vowels according to the table below (the first vowel
|
||||
indexes the row, and the second vowel indexes the column)
|
||||
3. If any vowel is long, the resulting vowel is long;
|
||||
4. Repeat from #context link(query(<enumitem-coalesce-start>).first().location())[step 1] until all hiatus has been
|
||||
resolved.
|
||||
4. Repeat from #context link(
|
||||
query(<enumitem-coalesce-start>).first().location(),
|
||||
)[step 1] until all hiatus has been resolved.
|
||||
#table(
|
||||
columns: 10,
|
||||
[ ], [*a*], [*ɛ*], [*ɔ*], [*e*], [*ø*], [*o*], [*i*], [*y*], [*u*],
|
||||
@ -83,46 +98,111 @@ The process goes thusly (before applying the allophony):
|
||||
)
|
||||
|
||||
== The Nahan Script <sec-nahan-script>
|
||||
Mosici is written in the [[/worlds/Asteron/Nahan Script]] (also named the Polia(h)r alphabet), which is am alphabet
|
||||
which in Mosici is considered to have the following letters, digraphs and diacritic’d letters. The sole diacritic is
|
||||
Mosici is written in the [[/worlds/Asteron/Nahan Script]] (also named the
|
||||
Polia(h)r alphabet), which is am alphabet which in Mosici is considered to have
|
||||
the following letters, digraphs and diacritic’d letters. The sole diacritic is
|
||||
called the #sn[] 〈sitrapaóha〉.
|
||||
|
||||
#table(
|
||||
#figure(caption: [Poliahr for Mosici], table(
|
||||
columns: 5,
|
||||
[Letter], [Transliteration], [Value (IPA)], [Name], [Name (IPA)],
|
||||
[*Letter*], [*Transliteration*], [*Value (IPA)*], [*Name*], [*Name (IPA)*],
|
||||
sn[], [p], [/p/], sn[], [[pe]],
|
||||
sn[], [o], [/o/], sn[], [[us]],
|
||||
sn[], [o], [/o/], sn[], [[us]],
|
||||
sn[], [l], [/ʟ/], sn[], [[ʟɔ̃]],
|
||||
sn[], [i], [/e/], sn[], [[iɐ̯nɛ]],
|
||||
sn[], [a], [/a/], sn[], [[ɔ̃ɸ]],
|
||||
sn[], [h], [/∅/#footnote[Lengthens a preceeding vowel] <fn-script-h>], sn[], [[apfɛ]],
|
||||
sn[],
|
||||
[h],
|
||||
[/∅/#footnote[Lengthens a preceding vowel] <fn-script-h>],
|
||||
sn[],
|
||||
[[apfɛ]],
|
||||
|
||||
sn[],
|
||||
[r],
|
||||
[/ʀ/],
|
||||
sn[ #footnote[Literally "sounded 〈base letter〉"] <fn-script-sounded>],
|
||||
sn[ #footnote[Literally "sounded hapfe"] <fn-script-sounded>],
|
||||
[[fasteɕɛx apfɛ]],
|
||||
|
||||
sn[], [c], [/k/], sn[], [[kaẅ]],
|
||||
sn[], [n], [/n/], sn[], [[nɔẅ]],
|
||||
sn[], [e], [/e/], sn[], [[istaẅ]],
|
||||
sn[], [s], [/s/], sn[], [[ɕpaẅ]],
|
||||
sn[], [z], [/z/], sn[ @fn-script-sounded], [[fasteɕɛx ɕpaẅ]],
|
||||
sn[], [f], [/f/], sn[], [[fasoː]],
|
||||
sn[], [v], [/v/], sn[ @fn-script-sounded], [[fasteɕex fasoː]],
|
||||
sn[], [e], [/e/], sn[], [[istaẅ]],
|
||||
sn[], [s], [/z/], sn[], [[ɕpaẅ]],
|
||||
sn[], [f], [/v/], sn[], [[fasoː]],
|
||||
sn[], [m], [/m/], sn[], [[miʎɔ]],
|
||||
sn[], [t], [/t/], sn[], [[tɛɟjo]],
|
||||
)
|
||||
== Examples <ex-orthopho>
|
||||
))
|
||||
#figure(caption: [Digraphs], table(
|
||||
columns: 3,
|
||||
[*Letter(s)*], [*Transliteration*], [*Value IPA*],
|
||||
sn[], [ó], [/u/],
|
||||
sn[], [í], [/i/],
|
||||
sn[], [á], [/ɔ/],
|
||||
sn[], [é], [/i/],
|
||||
sn[], [ssi], [/ɕ/],
|
||||
sn[], [si], [/ʑ/],
|
||||
sn[], [ff], [/f/],
|
||||
sn[], [ss], [/s/],
|
||||
))
|
||||
#figure(caption: [Punctuation], table(
|
||||
columns: 3,
|
||||
[*Punctuation*], [*Transliteration*], [*Use*],
|
||||
sn[], [,], [Comma, short break],
|
||||
sn[], [.], [Period, long break, sentence end],
|
||||
sn[], [· or -], [word-internal separator, hyphen],
|
||||
sn[],
|
||||
[’ or : or .],
|
||||
[Abbreviation mark, list initiator and hyphenation marker (on both sides of
|
||||
the cut).\ Transliteration depends on use],
|
||||
|
||||
#sn[] ⟨tráihéins⟩ "fox"
|
||||
sn[ ], [( )], [Quotes or parrenthesis],
|
||||
))
|
||||
|
||||
=== Numbering with the Poliahr order
|
||||
|
||||
The letters can be used to number things in the manner most alphabets are used
|
||||
elsewhere. for those purpose the order is as used above but #sn[] isn't used.
|
||||
|
||||
=== Note for Mosici as used on Nguhcraft
|
||||
|
||||
Mosici can also be found on the #link("https://mc.nguh.org/")[Nguhcraft world].
|
||||
That "Sialmoséce standard" version of the language is nearly identical to the
|
||||
Cairniasial standard described in this document, but has experienced a minor
|
||||
spelling reform affecting the spelling of voiced fricatives. it introduces two
|
||||
new modified letters, inserted after their plain versions in the order. They
|
||||
aren't used in Poliahr order numbering either.
|
||||
|
||||
#figure(caption: [New letters in Sialmoséce standard Mosici], table(
|
||||
columns: 5,
|
||||
[*Letter*], [*Transliteration*], [*Value (IPA)*], [*Name*], [*Name (IPA)*],
|
||||
sn[], [z], [/z/], sn[ ], [[fasteɕɛx ɕpaẅ]],
|
||||
sn[], [v], [/v/], sn[ ], [[fasteɕex fasoː]],
|
||||
))
|
||||
the following sequences are thus respelled
|
||||
#figure(
|
||||
caption: [Repellings in Sialmoséce standard Mosici],
|
||||
table(
|
||||
columns: 2,
|
||||
[*Cairniasial Standard*], [*Sialmoséce Standard*],
|
||||
sn[], sn[],
|
||||
sn[], sn[],
|
||||
sn[], sn[],
|
||||
sn[], sn[],
|
||||
sn[], sn[],
|
||||
sn[], sn[]
|
||||
),
|
||||
)
|
||||
|
||||
== Examples <ex-ortho>
|
||||
|
||||
#sn[] ⟨tráihéinss⟩ "fox"
|
||||
- \*/tʀɔiːɛins/
|
||||
- → \*/tʀ#high[øːi]ns/ #low[Coalescense 1]
|
||||
- → /tʀ#high[yː]ns/ #low[Coalescense 2]
|
||||
- → \*/tʀ#high[øːi]ns/ #low[Coalescence 1]
|
||||
- → /tʀ#high[yː]ns/ #low[Coalescence 2]
|
||||
- → [d#high[ʁʏ̃ː]s] #low[Allophony]
|
||||
|
||||
#sn[] ⟨moséceec⟩ "of islands"
|
||||
#sn[] ⟨mosséceec⟩ "of islands"
|
||||
- \*/mosikɛɛk/
|
||||
- → /mosik#high[i]k/ #low[Coalescense]
|
||||
- → /mosik#high[i]k/ #low[Coalescence]
|
||||
- → [mosi#high[c]i#high[ç]/ #low[Allophony]
|
||||
|
||||
#sn[] ⟨an·nielvc⟩ "of Nyelaf"
|
||||
@ -130,13 +210,14 @@ called the #sn[] 〈sitrapaóha〉.
|
||||
- → /a#high[n]jɛʟvk/ #low[Particle shenanigans]
|
||||
- → [#high[ã]njɛ#high[ẅ]v#high[ɣ]] #low[Allophony]
|
||||
|
||||
= Morphology <morpho>
|
||||
== Nouns <morpho-nouns>
|
||||
=== Number <morpho-nouns-number>
|
||||
= Words <morph>
|
||||
== Nouns <morph-nouns>
|
||||
=== Number <morph-nouns-number>
|
||||
|
||||
Number is marked by reduplicating the last orthographic vowel of the root without the sitrapaóha #low[(see following
|
||||
table)]. In most cases the pronunciation of the plural isn't directly derivable from the pronunciation of the
|
||||
singular.
|
||||
Number is marked by reduplicating the last orthographic vowel of the root
|
||||
without the sitrapaóha #low[(see following table)]. In most cases the
|
||||
pronunciation of the plural isn't directly derivable from the pronunciation of
|
||||
the singular.
|
||||
|
||||
#table(
|
||||
columns: 2,
|
||||
@ -151,31 +232,42 @@ singular.
|
||||
sn[], sn[],
|
||||
)
|
||||
|
||||
=== Cases <morpho-nouns-cases>
|
||||
=== Cases <morph-nouns-cases>
|
||||
|
||||
Nouns are also marked for case. There are 5 simple cases --- agent, patient, genitive, dative and ablative --- and 2
|
||||
compound cases --- spatial and temporal locative.
|
||||
Nouns are also marked for case. There are 5 simple cases --- agent, patient,
|
||||
genitive, dative and ablative --- and 2 compound cases --- spatial and temporal
|
||||
locative.
|
||||
|
||||
They are 7 patterns for the simple cases based on the the coda consonant(s) of the agent form: the concatenative
|
||||
pattern, and the 6 substitutive patterns (#sn[], #sn[], #sn[], #sn[], #sn[], #sn[])
|
||||
They are 7 patterns for the simple cases based on the the coda consonant(s) of
|
||||
the agent form: the concatenative pattern, and the 6 substitutive patterns
|
||||
(#sn[], #sn[], #sn[], #sn[], #sn[], #sn[])
|
||||
|
||||
#table(
|
||||
columns: 8,
|
||||
align: center,
|
||||
[], [*C*], [*Sub* #sn[]], [*Sub* #sn[]], [*Sub* #sn[]], [*Sub* #sn[]], [*Sub* #sn[]], [*Sub* #sn[]],
|
||||
[],
|
||||
[*C*],
|
||||
[*Sub* #sn[]],
|
||||
[*Sub* #sn[]],
|
||||
[*Sub* #sn[]],
|
||||
[*Sub* #sn[]],
|
||||
[*Sub* #sn[]],
|
||||
[*Sub* #sn[]],
|
||||
[*Agent*], [∅], sn[], sn[], sn[], sn[], sn[], sn[],
|
||||
[*Patient*], table.cell(colspan: 7, sn[]),
|
||||
[*Genitive*], table.cell(colspan: 7, sn[]),
|
||||
[*Dative*], table.cell(colspan: 2, sn[]), sn[], sn[], sn[],
|
||||
sn[], sn[],
|
||||
[*Ablative*], table.cell(colspan: 3, sn[]), table.cell(colspan: 2, sn[]),
|
||||
[*Ablative*],
|
||||
table.cell(colspan: 3, sn[]),
|
||||
table.cell(colspan: 2, sn[]),
|
||||
table.cell(colspan: 2, sn[]),
|
||||
)
|
||||
|
||||
==== Agent <case-agent>
|
||||
|
||||
The Agent case #low(sc[age]) indicates the agent of a transitive clause, or the subject of an active intransitive
|
||||
clause.
|
||||
The Agent case #low(sc[age]) indicates the agent of a transitive clause, or the
|
||||
subject of an active intransitive clause.
|
||||
|
||||
#ex(
|
||||
caption: [Agent case in an transitive clause],
|
||||
@ -187,23 +279,29 @@ clause.
|
||||
lbl: "ex-case-age-trans",
|
||||
)
|
||||
#ex(
|
||||
caption: [Agent case in an active intransitve clause],
|
||||
caption: [Agent case in an active intransitive clause],
|
||||
txt: [#high[] #high[] ],
|
||||
translit: ([#high[loarne]], [i], high[mazealn], [vionreor.]),
|
||||
phono: (bl + high[ʟɔɐ̯nɛ], [e], high[mazɛ̃ẅ], [vjõʀøɐ̯] + br),
|
||||
morphemes: (high[Loarne.#sc[age]], [and], high[Mazealn.#sc[age]], [eat.#sc[fut.3pa]]),
|
||||
morphemes: (
|
||||
high[Loarne.#sc[age]],
|
||||
[and],
|
||||
high[Mazealn.#sc[age]],
|
||||
[eat.#sc[fut.3pa]],
|
||||
),
|
||||
translation: [#high[Loarne] and #high[Mazealn] will eat],
|
||||
lbl: "ex-case-age-intrans",
|
||||
)
|
||||
|
||||
==== Patient <case-patient>
|
||||
|
||||
The Patient case #low(sc[pat]) indicates the patient of a transitive clause, or the subject of a stative intransitive
|
||||
clause.
|
||||
The Patient case #low(sc[pat]) indicates the patient of a transitive clause, or
|
||||
the subject of a stative intransitive clause.
|
||||
|
||||
#ex(
|
||||
caption: [Patient case in a transitive clause#footnote[Note that while the pronoun is dropped thanks to the verb
|
||||
conjugation, but the clause is still transitive]<fn-pat-trans>],
|
||||
caption: [Patient case in a transitive clause#footnote[Note that while the
|
||||
pronoun is dropped thanks to the verb conjugation, but the clause is still
|
||||
transitive]<fn-pat-trans>],
|
||||
txt: [#high[] ],
|
||||
translit: (high[nriiht], [vionreef.]),
|
||||
phono: (bl + high[nʁiːθ], [vjõʀiɸ] + br),
|
||||
@ -224,8 +322,9 @@ clause.
|
||||
|
||||
==== Genitive <case-genitive>
|
||||
|
||||
The genitive case #low(sc[gen]) indicates poessesion or qualification. Note that in the case of qualification, the
|
||||
formation of a compound is also possible. Note: Compounding is not subject to coalescence.
|
||||
The genitive case #low(sc[gen]) indicates possession or qualification. Note that
|
||||
in the case of qualification, the formation of a compound is also possible.
|
||||
Note: Compounding is not subject to coalescence.
|
||||
|
||||
#ex(
|
||||
caption: [Possessive genitive case],
|
||||
@ -258,8 +357,9 @@ formation of a compound is also possible. Note: Compounding is not subject to co
|
||||
|
||||
==== Dative <case-dative>
|
||||
|
||||
The dative case #low(sc[dat]) indicates the beneficiary of a ditransitive verbs, as well as indicating a direction
|
||||
faced. Note hover that it isn't used with verbs of movement towards something, for those use the patient case (see
|
||||
The dative case #low(sc[dat]) indicates the beneficiary of a ditransitive verbs,
|
||||
as well as indicating a direction faced. Note hover that it isn't used with
|
||||
verbs of movement towards something, for those use the patient case (see
|
||||
@case-patient) instead, the dative instead indicates the means of displacement.
|
||||
#ex(
|
||||
caption: [Dative in ditransitive clauses],
|
||||
@ -275,39 +375,54 @@ faced. Note hover that it isn't used with verbs of movement towards something, f
|
||||
txt: [ #high[] ],
|
||||
translit: ([an·sialmosécet], high[foítztselasi], [oisailin.]),
|
||||
phono: (bl + [ãɕaẅmosicɛθ], high[fydztsɛʟaɕ], [øsɛʎẽ] + br),
|
||||
morphemes: ([#sc[ppn-]Chalmosique#sc[.dat]], high[train.#sc[dat]], [go#sc[.pst.2s]]),
|
||||
translation: [You#ann[sg] went to Chalmosique #high[by train]],
|
||||
morphemes: (
|
||||
[#sc[ppn-]Sialmoséce#sc[.dat]],
|
||||
high[train.#sc[dat]],
|
||||
[go#sc[.pst.2s]],
|
||||
),
|
||||
translation: [You#ann[sg] went to Sialmoséce #high[by train]],
|
||||
lbl: "ex-case-dat-mot",
|
||||
)
|
||||
#ex(
|
||||
caption: [Dative as an allative substitute for other verbs],
|
||||
txt: [#high[] ],
|
||||
translit: (high[an·cairniasialsi], [an·sialmosécet], [foítztselavia], [vilinef.]),
|
||||
translit: (
|
||||
high[an·cairniasialsi],
|
||||
[an·sialmosécet],
|
||||
[foítztselavia],
|
||||
[vilinef.],
|
||||
),
|
||||
phono: (bl + high[ãkɛɐ̯nɛɕaẅɕ], [ãɕaẅmosicɛθ], [fydztsɛʟavja], [veʎẽnɛf] + br),
|
||||
morphemes: (
|
||||
high[#sc[ppn-]Quernechal#sc[.dat]],
|
||||
[#sc[ppn-]Chalmosique#sc[.pat]],
|
||||
high[#sc[ppn-]Cairniasial#sc[.dat]],
|
||||
[#sc[ppn-]Sialmoséce#sc[.pat]],
|
||||
[train.#sc[abl]],
|
||||
[leave.#sc[prs.1s]],
|
||||
),
|
||||
translation: [I leave Chalmosique by train #high[to Quernechal].],
|
||||
translation: [I leave Sialmoséce by train #high[to Cairniasial].],
|
||||
lbl: "ex-case-dat-all",
|
||||
)
|
||||
|
||||
==== Ablative <case-abl>
|
||||
|
||||
The ablative case #low(sc[abl]) indicates the provenance of the action. It is also used as an instrumental, indicating
|
||||
the means by which the action is done. For verbs of movement away from something, it only has it's instrumental meaning,
|
||||
the source is indicated by the patient case (see @case-patient). For verbs of movement towards something, the ablative
|
||||
doesn't have the instrumental meaning, for that role use the dative instead.
|
||||
The ablative case #low(sc[abl]) indicates the provenance of the action. It is
|
||||
also used as an instrumental, indicating the means by which the action is done.
|
||||
For verbs of movement away from something, it only has it's instrumental
|
||||
meaning, the source is indicated by the patient case (see @case-patient). For
|
||||
verbs of movement towards something, the ablative doesn't have the instrumental
|
||||
meaning, for that role use the dative instead.
|
||||
|
||||
#ex(
|
||||
caption: [Ablative case in an ablative meaning],
|
||||
txt: [#high[] ],
|
||||
translit: (high[an·sialmosécevia], [nriiht], [vionreef.]),
|
||||
phono: (bl + [ãɕaẅmosicɛvja], [nʁiːθ], [vjõʀiɸ] + br),
|
||||
morphemes: (high[#sc[ppn]-Chalmosique.#sc[abl]], [grain#sc[.pl.pat]], [eat#sc[.prs.1s]]),
|
||||
translation: [I eat grains #high[from Chalmosique]],
|
||||
morphemes: (
|
||||
high[#sc[ppn]-Sialmoséce.#sc[abl]],
|
||||
[grain#sc[.pl.pat]],
|
||||
[eat#sc[.prs.1s]],
|
||||
),
|
||||
translation: [I eat grains #high[from Sialmoséce]],
|
||||
lbl: "ex-case-abl-abl",
|
||||
)
|
||||
#ex(
|
||||
@ -322,8 +437,9 @@ doesn't have the instrumental meaning, for that role use the dative instead.
|
||||
|
||||
==== Spatial Locative <case-spaloc>
|
||||
|
||||
The spatial locative cases #low(sc[sploc]) is used to indicate a spacial location. it is marked by expressing the noun
|
||||
in the genitive case, followed by the #sn[] ⟨la⟩ particle.
|
||||
The spatial locative cases #low(sc[sploc]) is used to indicate a spacial
|
||||
location. it is marked by expressing the noun in the genitive case, followed by
|
||||
the #sn[] ⟨la⟩ particle.
|
||||
|
||||
#ex(
|
||||
caption: [Spatial Locative],
|
||||
@ -339,12 +455,14 @@ in the genitive case, followed by the #sn[] ⟨la⟩ particle.
|
||||
|
||||
There are four temporal locatives: past, present, future and gnomic #low(
|
||||
sc[tmploc.pst, tmploc.prs, tmploc.fut] + [ and ] + sc[tmploc.gno],
|
||||
). The past case (resp. present and future) is used, as its name indicates, to locate events that happened in the past
|
||||
(resp. present and future). The gnomic case locates events that are either generally happeneing, happening at an unknown
|
||||
point in time, or happening repeatedly. The past case (resp. present, future, gnomic) are indicated by expressing the
|
||||
noun in the oblique followed by the particle #sn[] ⟨anip⟩ (resp #sn[] ⟨anep⟩, #sn[] ⟨anop⟩ and
|
||||
#sn[] ⟨anap⟩) However the present case is rarely used outside of set phrases like #sn[ ] “today” or
|
||||
#sn[ ] “now”
|
||||
). The past case (resp. present and future) is used, as its name indicates, to
|
||||
locate events that happened in the past (resp. present and future). The gnomic
|
||||
case locates events that are either generally happening, happening at an unknown
|
||||
point in time, or happening repeatedly. The past case (resp. present, future,
|
||||
gnomic) are indicated by expressing the noun in the oblique followed by the
|
||||
particle #sn[] ⟨anip⟩ (resp #sn[] ⟨anep⟩, #sn[] ⟨anop⟩ and
|
||||
#sn[] ⟨anap⟩) However the present case is rarely used outside of set
|
||||
phrases like #sn[ ] “today” or #sn[ ] “now”
|
||||
|
||||
#ex(
|
||||
caption: [Present temporal locative],
|
||||
@ -361,7 +479,12 @@ noun in the oblique followed by the particle #sn[] ⟨anip⟩
|
||||
txt: [ #high[ ] ],
|
||||
translit: ([il], high[vionreipt‿anip], [,], [cirtin.]),
|
||||
phono: (bl + [eẅ], high[vjõʀipθ ãneɸ], [|], [ceɐ̯dẽ] + br),
|
||||
morphemes: (sc[1s.act], high[eat#sc[.pst.pcp.pat‿tmploc.pst]], [|], [write] + sc[.pst.2s]),
|
||||
morphemes: (
|
||||
sc[1s.act],
|
||||
high[eat#sc[.pst.pcp.pat‿tmploc.pst]],
|
||||
[|],
|
||||
[write] + sc[.pst.2s],
|
||||
),
|
||||
translation: [#high[When] I #high[ate], you#ann[sg] wrote],
|
||||
lbl: "ex-case-tmploc-pst",
|
||||
)
|
||||
@ -370,7 +493,12 @@ noun in the oblique followed by the particle #sn[] ⟨anip⟩
|
||||
txt: [ #high[ ] ],
|
||||
translit: ([il], high[vionreapt‿anop], [,], [cirton.]),
|
||||
phono: (bl + [eẅ], high[vjõʀøpθ ãnoɸ], [|], [ceɐ̯dõ] + br),
|
||||
morphemes: (sc[1s.act], high[eat#sc[.fut.pcp.pat‿tmploc.fut]], [|], [write] + sc[.fut.2s]),
|
||||
morphemes: (
|
||||
sc[1s.act],
|
||||
high[eat#sc[.fut.pcp.pat‿tmploc.fut]],
|
||||
[|],
|
||||
[write] + sc[.fut.2s],
|
||||
),
|
||||
translation: [#high[When] I#high[’ll eat], you#ann[sg]’ll write],
|
||||
lbl: "ex-case-tmploc-fut",
|
||||
)
|
||||
@ -379,62 +507,101 @@ noun in the oblique followed by the particle #sn[] ⟨anip⟩
|
||||
txt: [ #high[ ] ],
|
||||
translit: ([il], high[vionreapt‿anap], [,], [cirtan.]),
|
||||
phono: (bl + [eẅ], high[vjõʀɛpθ ãnaɸ], [|], [ceɐ̯dã] + br),
|
||||
morphemes: (sc[1s.act], high[eat#sc[.gno.pcp.pat‿tmploc.gno]], [|], [write] + sc[.gno.2s]),
|
||||
morphemes: (
|
||||
sc[1s.act],
|
||||
high[eat#sc[.gno.pcp.pat‿tmploc.gno]],
|
||||
[|],
|
||||
[write] + sc[.gno.2s],
|
||||
),
|
||||
translation: [#high[Whenever] I #high[eat], you#ann[sg] write],
|
||||
lbl: "ex-case-tmploc-gno",
|
||||
)
|
||||
|
||||
=== Proper noun clitic #sn[] <morpho-ppn>
|
||||
=== Proper noun enclitic #sn[] <morph-ppn>
|
||||
|
||||
Proper nouns that aren't personal names always take the proper noun clitic #low(sc[ppn]) #sn[] ⟨an·⟩
|
||||
Proper nouns that aren't personal names always take the proper noun enclitic
|
||||
#low(sc[ppn]) #sn[] ⟨an·⟩
|
||||
|
||||
The affix #sn[] ⟨ni-⟩ --- which on proper nouns forms demonyms --- attaches to the front of the proper noun clitic:
|
||||
#sn[] gives #sn[] and not \*#sn[] or \*#sn[]. Demonyms formed this way also
|
||||
mark plural on the proper noun clitic: #sn[] pluralises to #sn[] and not \*#sn[].
|
||||
The affix #sn[] ⟨ni-⟩ --- which on proper nouns forms demonyms --- attaches
|
||||
to the front of the proper noun enclitic: #sn[] gives
|
||||
#sn[] and not \*#sn[] or \*#sn[]. Demonyms
|
||||
formed this way also mark plural on the proper noun enclitic: #sn[]
|
||||
pluralises to #sn[] and not \*#sn[].
|
||||
|
||||
== Pronouns <morpho-pronouns>
|
||||
== Pronouns <morph-pronouns>
|
||||
|
||||
Mosici has a full set of personal, demonstrative and interrogative pronouns (see table at the end of this section). However, the use of personal pronouns is limited to situations where they are necessary.
|
||||
Mosici has a full set of personal, demonstrative and interrogative pronouns (see
|
||||
table at the end of this section). However, the use of personal pronouns is
|
||||
limited to situations where they are necessary.
|
||||
|
||||
The Agent and patient forms especially are often dropped in non-participal clauses. Indeed, a speaker would more often use the passive marking and avoid a pronoun altogether than use an patient form: Use #sn[ ] #low[(Loarne.#sc[age] #sc[pass.]eat#sc[.prs.3si])] rather than ?#sn[ ] #low[?(Loarne#sc[.age] #sc[3si.pat] eat#sc[.prs.3sa])] for "Loarne eats it."
|
||||
The Agent and patient forms especially are often dropped in non-participial
|
||||
clauses. Indeed, a speaker would more often use the passive marking and avoid a
|
||||
pronoun altogether than use an patient form: Use #sn[ ]
|
||||
#low[(Loarne.#sc[age] #sc[pass.]eat#sc[.prs.3si])] rather than ?#sn[
|
||||
] #low[?(Loarne#sc[.age] #sc[3si.pat] eat#sc[.prs.3sa])] for
|
||||
"Loarne eats it."
|
||||
|
||||
#mos-pron(none)
|
||||
#mos-pron(none, open: true)
|
||||
|
||||
== Verbs <morpho-verbs>
|
||||
== Verbs <morph-verbs>
|
||||
|
||||
Verbs are mainly conjugated according to their tense and the grammatical person of the agent, unless marked with the
|
||||
passive voice prefix #sn[] ⟨na-⟩, in which case, it agrees with the patient instead.
|
||||
Verbs are mainly conjugated according to their tense and the grammatical person
|
||||
of the agent.
|
||||
|
||||
Orthographically the pattern is completely regular, however the vowel coalescence (see @sec-coalescence) causes the
|
||||
pronunciation to be quite chaotic. The plural forms of past and present tense are always identical when spoken but
|
||||
Orthographically the pattern is completely regular, however the vowel
|
||||
coalescence (see @sec-coalescence) causes the pronunciation to be quite chaotic.
|
||||
The plural forms of past and present tense are always identical when spoken but
|
||||
distinguished in writing.
|
||||
|
||||
Verbs are typically listed in their gnomic infinitive form. to derive the stem, remove the final #sn[]. Here is a
|
||||
conjugation table for an hypothetical null-stemmed verb as a way to list the affixes#footnote[You may find those forms
|
||||
Verbs are typically listed in their gnomic infinitive form. to derive the stem,
|
||||
remove the final #sn[]. Here is a conjugation table for an hypothetical
|
||||
null-stemmed verb as a way to list the affixes#footnote[You may find those forms
|
||||
verbatim in some older texts as a now defunct copula.] <fn-old-copula>
|
||||
|
||||
#mos-v("")
|
||||
#mos-v("", open: true)
|
||||
|
||||
=== Aspect, mood ⁊ related nonsense <morpho-verbs-extra-tam>
|
||||
=== Aspect, mood ⁊ related nonsense <morph-verbs-extra-tam>
|
||||
|
||||
If you need other moods or aspects than an unaspected indicative, there is a pletora of affixes you can stack on verbs
|
||||
to specify them further, they all are interpreted as nested, coming away from the verb, and can be combined and stacked
|
||||
for more specific meanings
|
||||
If you need other moods or aspects than an unaspected indicative, there is a
|
||||
plethora of affixes you can stack on verbs to specify them further, they all are
|
||||
interpreted as nested, coming away from the verb, and can be combined and
|
||||
stacked for more specific meanings
|
||||
|
||||
Here is a (eventually but not yet) exhaustive list of such affixes: #low[(all of them are prefixes)]
|
||||
Here is a (eventually but not yet) exhaustive list of such affixes: #low[(all of
|
||||
them are prefixes)]
|
||||
|
||||
==== Conditionals, irrealis <morpho-verbs-cond>
|
||||
==== Imperfective, durative, iterative <morpho-verb-npfv>
|
||||
==== Perfective, terminative <morpho-verb-pfv>
|
||||
==== Desirative, Optative, Hortative <morpho-verb-opt>
|
||||
==== Imperative <morpho-verb-imp>
|
||||
==== Causatives <morpho-verb-cau>
|
||||
==== Passive <morpho-verb-pas>
|
||||
==== Negation <morpho-verb-neg>
|
||||
The negation prefix is #sn[] ⟨ta-⟩. It negates whatever component of the verb is immediately following it.
|
||||
==== Conditionals, irrealis <morph-verbs-cond>
|
||||
|
||||
==== Also on other parts of speach <morpho-verb-other>
|
||||
While frowned upon in more formal texts, all of the above mood and aspect affixes can be added to nouns to great effect
|
||||
in less formal or more poetic registers. Execption is of the negation affix which is considered perfectly acceptable in
|
||||
all registers.
|
||||
|
||||
==== Imperfective, durative, iterative <morph-verb-npfv>
|
||||
==== Perfective, terminative <morph-verb-pfv>
|
||||
==== Desiderative, Optative, Hortative <morpho-verb-opt>
|
||||
==== Imperative <morph-verb-imp>
|
||||
==== Causatives <morph-verb-cau>
|
||||
Mosici has two causatives: the purposeful and the accendental.
|
||||
|
||||
The purposeful causative #sn[] ⟨siehí-⟩ indicates that the described
|
||||
state is caused by the agent intentionally.
|
||||
|
||||
The accidental causative #sn[] ⟨sní-⟩ indicates that the described state
|
||||
is cased by the agent in unintentionally or accidentally.
|
||||
|
||||
Both change the valency of the verb. the cause is expressed as the agent, what
|
||||
would the agent of the root verb is expressed as the patient, and what would
|
||||
have been the patient of the root verb is expressed in the dative, the verb
|
||||
agrees with it's new agent (unless further modified). ====
|
||||
Passive <morph-verb-pas>
|
||||
The passive affix #sn[] ⟨na-⟩ makes a transitive verb agree with its
|
||||
patient instead of its agent. ==== Negation <morph-verb-neg>
|
||||
The negation prefix is #sn[] ⟨ta-⟩. It negates whatever component of the
|
||||
verb is immediately following it.
|
||||
|
||||
==== Also on other parts of speech <morph-verb-other>
|
||||
While frowned upon in more formal texts, all of the above mood and aspect
|
||||
affixes can be added to nouns to great effect in less formal or more poetic
|
||||
registers. Exception is of the negation affix which is considered perfectly
|
||||
acceptable in all registers.
|
||||
|
||||
== Numerals
|
||||
|
||||
= Syntax
|
||||
|
||||
@ -1,22 +1,26 @@
|
||||
#let tag = tagname => [ #metadata(tagname) <tag> ]
|
||||
#let wl(path, txt, frag) = {
|
||||
let fragtext = if frag == none {""} else {"#" + frag}
|
||||
let fragtext = if frag == none { "" } else { "#" + frag }
|
||||
let texttext = if txt == none {
|
||||
path.split("/").at(-1)
|
||||
} else {txt}
|
||||
} else { txt }
|
||||
link(path + ".html" + fragtext, texttext)
|
||||
}
|
||||
#let conf(
|
||||
page-title: "",
|
||||
title-override: none,
|
||||
subtitle: none,
|
||||
notoc: false,
|
||||
nofoot: false,
|
||||
page-script: none,
|
||||
doc,
|
||||
) = {
|
||||
let sitename = [Annwan's Wiki]
|
||||
// matches [[path|text!fragments]] with opt texts and fragment
|
||||
let link-re = regex(
|
||||
"\\[\\[([^\\]\\|!]+)(?:\\|([^\\]\\|!]+))?(?:!([^\\]\\|!]+))?\\]\\]"
|
||||
"\\[\\[([^\\]\\|!]+)(?:\\|([^\\]\\|!]+))?(?:!([^\\]\\|!]+))?\\]\\]",
|
||||
)
|
||||
let actual-title = if title-override != none { title-override } else { page-title }
|
||||
show figure.where(kind: "gloss"): set figure(supplement: [Example])
|
||||
show figure.where(kind: "gloss"): set figure.caption(position: top)
|
||||
show figure: it => {
|
||||
@ -28,20 +32,25 @@
|
||||
show regex("%[a-z0-9/-]+"): it => tag(it.text.slice(1))
|
||||
show link-re: it => wl(..it.text.match(link-re).captures)
|
||||
set table(stroke: none)
|
||||
set raw(theme: "/templates/gruvbox.tmTheme")
|
||||
html.head({
|
||||
html.link(rel: "stylesheet", href: "/assets/style/common.css")
|
||||
html.meta(charset: "utf-8")
|
||||
html.meta(name: "viewport", content: "width=device-width, initial-scale=1")
|
||||
html.meta(name: "search-title", content: if title-override != none {title-override} else {page-title}, id: "search-title")
|
||||
context html.meta(content: { let t = query(<tag>).map(it => it.value).join(" "); if type(t) != str {""} else {t}}, name: "search-tags", id: "search-tags")
|
||||
html.meta(name: "search-title", content: actual-title, id: "search-title")
|
||||
context html.meta(
|
||||
content: {
|
||||
let t = query(<tag>).map(it => it.value).join(" ")
|
||||
if type(t) != str { "" } else { t }
|
||||
},
|
||||
name: "search-tags",
|
||||
id: "search-tags",
|
||||
)
|
||||
|
||||
if title-override != none {
|
||||
html.title(sitename + " — " + title-override)
|
||||
} else {
|
||||
html.title(sitename + " — " + page-title)
|
||||
}
|
||||
html.script(src:"/assets/scripts/fuse.min.js")
|
||||
html.title(sitename + " — " + actual-title)
|
||||
html.script(src: "/assets/scripts/fuse.min.js")
|
||||
html.script(src: "/assets/scripts/search.js")
|
||||
if page-script != none { html.script(src: "/assets/scripts/pages/" + page-script + ".js") }
|
||||
})
|
||||
|
||||
html.header({
|
||||
@ -54,13 +63,21 @@
|
||||
html.h1(page-title)
|
||||
html.hr()
|
||||
doc
|
||||
|
||||
})
|
||||
html.aside(outline())
|
||||
if (not notoc) { html.aside(outline()) }
|
||||
})
|
||||
if (not nofoot) {
|
||||
html.footer[
|
||||
#import sym: *
|
||||
Source code available on #link("https://git.annwan.me/worldbuilding/wiki")[my gitea instance]\
|
||||
#actual-title on #sitename #copyright Annwan. This work is licensed under #link(
|
||||
"https://creativecommons.org/licenses/by-nc-sa/4.0/",
|
||||
)[CC BY-NC-SA 4.0] #cc #cc.by #cc.nc #cc.sa
|
||||
]
|
||||
}
|
||||
}
|
||||
#let sitename = [Annwan's Wiki]
|
||||
#let s(script, body) = {
|
||||
html.span(class: "scr-"+script, body)
|
||||
html.span(class: "scr-" + script, body)
|
||||
}
|
||||
#let sc = smallcaps
|
||||
|
||||
766
templates/gruvbox.tmTheme
Normal file
766
templates/gruvbox.tmTheme
Normal file
@ -0,0 +1,766 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>comment</key>
|
||||
<string>Based on original gruvbox color scheme.</string>
|
||||
<key>author</key>
|
||||
<string>peaceant</string>
|
||||
<key>name</key>
|
||||
<string>gruvbox</string>
|
||||
<key>settings</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>background</key>
|
||||
<string>#282828</string>
|
||||
|
||||
<key>caret</key>
|
||||
<string>#fcf9e3</string>
|
||||
|
||||
<key>foreground</key>
|
||||
<string>#fdf4c1aa</string>
|
||||
|
||||
<key>invisibles</key>
|
||||
<string>#fabd2f</string>
|
||||
|
||||
<key>lineHighlight</key>
|
||||
<string>#3c3836</string>
|
||||
|
||||
<key>selection</key>
|
||||
<string>#504945</string>
|
||||
|
||||
<key>bracketContentsForeground</key>
|
||||
<string>#928374</string>
|
||||
|
||||
<key>bracketsForeground</key>
|
||||
<string>#d5c4a1</string>
|
||||
|
||||
<key>guide</key>
|
||||
<string>#3c3836</string>
|
||||
|
||||
<key>activeGuide</key>
|
||||
<string>#a89984</string>
|
||||
|
||||
<key>stackGuide</key>
|
||||
<string>#665c54</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Punctuation</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.definition.tag</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
<key>foreground</key>
|
||||
<string>#83a598</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Punctuation</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.definition.entity</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
<key>foreground</key>
|
||||
<string>#d3869b</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Constant</string>
|
||||
<key>scope</key>
|
||||
<string>constant</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
<key>foreground</key>
|
||||
<string>#d3869b</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Constant escape</string>
|
||||
<key>scope</key>
|
||||
<string>constant.character.escape</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
<key>foreground</key>
|
||||
<string>#b8bb26</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Constant other</string>
|
||||
<key>scope</key>
|
||||
<string>constant.other</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
<key>foreground</key>
|
||||
<string>#fdf4c1</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Entity</string>
|
||||
<key>scope</key>
|
||||
<string>entity</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
<key>foreground</key>
|
||||
<string>#8ec07c</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Keyword</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.operator.comparison, keyword.operator, keyword.operator.symbolic, keyword.operator.string, keyword.operator.assignment, keyword.operator.arithmetic, keyword.operator.class, keyword.operator.key, keyword.operator.logical</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
<key>foreground</key>
|
||||
<string>#fe8019</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Keyword</string>
|
||||
<key>scope</key>
|
||||
<string>keyword, keyword.operator.new, keyword.other, keyword.control</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
<key>foreground</key>
|
||||
<string>#fa5c4b</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Storage</string>
|
||||
<key>scope</key>
|
||||
<string>storage</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
<key>foreground</key>
|
||||
<string>#fa5c4b</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>String</string>
|
||||
<key>scope</key>
|
||||
<string>string -string.unquoted.old-plist -string.unquoted.heredoc, string.unquoted.heredoc string</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
<key>foreground</key>
|
||||
<string>#b8bb26</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Comment</string>
|
||||
<key>scope</key>
|
||||
<string>comment</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
<key>foreground</key>
|
||||
<string>#928374</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Regexp</string>
|
||||
<key>scope</key>
|
||||
<string>string.regexp constant.character.escape</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#b8bb26</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Support</string>
|
||||
<key>scope</key>
|
||||
<string>support</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
<key>foreground</key>
|
||||
<string>#fabd2f</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Variable</string>
|
||||
<key>scope</key>
|
||||
<string>variable</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
<key>foreground</key>
|
||||
<string>#fdf4c1</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Lang Variable</string>
|
||||
<key>scope</key>
|
||||
<string>variable.language</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
<key>foreground</key>
|
||||
<string>#fdf4c1</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Function Call</string>
|
||||
<key>scope</key>
|
||||
<string>meta.function-call</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#fdf4c1</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Invalid</string>
|
||||
<key>scope</key>
|
||||
<string>invalid</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>background</key>
|
||||
<string>#932b1e</string>
|
||||
<key>foreground</key>
|
||||
<string>#fdf4c1</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Embedded Source</string>
|
||||
<key>scope</key>
|
||||
<string>text source, string.unquoted.heredoc, source source</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
<key>foreground</key>
|
||||
<string>#fdf4c1</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>String embedded-source</string>
|
||||
<key>scope</key>
|
||||
<string>string.quoted source</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
<key>foreground</key>
|
||||
<string>#b8bb26</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>String constant</string>
|
||||
<key>scope</key>
|
||||
<string>string</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#b8bb26</string>
|
||||
</dict>
|
||||
</dict>
|
||||
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Support.constant</string>
|
||||
<key>scope</key>
|
||||
<string>support.constant</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
<key>foreground</key>
|
||||
<string>#fabd2f</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Support.class</string>
|
||||
<key>scope</key>
|
||||
<string>support.class</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
<key>foreground</key>
|
||||
<string>#8ec07c</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Meta.tag.A</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.tag</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
<key>foreground</key>
|
||||
<string>#8ec07c</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Inner tag</string>
|
||||
<key>scope</key>
|
||||
<string>meta.tag, meta.tag entity</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8ec07c</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>css colors</string>
|
||||
<key>scope</key>
|
||||
<string>constant.other.color.rgb-value</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#83a598</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>css tag-name</string>
|
||||
<key>scope</key>
|
||||
<string>meta.selector.css entity.name.tag</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#fa5c4b</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>css#id</string>
|
||||
<key>scope</key>
|
||||
<string>meta.selector.css, entity.other.attribute-name.id</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#b8bb26</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>css.class</string>
|
||||
<key>scope</key>
|
||||
<string>meta.selector.css entity.other.attribute-name.class</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#b8bb26</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>css property-name:</string>
|
||||
<key>scope</key>
|
||||
<string>support.type.property-name.css</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8ec07c</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>css @at-rule</string>
|
||||
<key>scope</key>
|
||||
<string>meta.preprocessor.at-rule keyword.control.at-rule</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#fabd2f</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>css additional-constants</string>
|
||||
<key>scope</key>
|
||||
<string>meta.property-value constant</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#fabd2f</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>css additional-constants</string>
|
||||
<key>scope</key>
|
||||
<string>meta.property-value support.constant.named-color.css</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#fe8019</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>css constructor.argument</string>
|
||||
<key>scope</key>
|
||||
<string>meta.constructor.argument.css</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#fabd2f</string>
|
||||
</dict>
|
||||
</dict>
|
||||
|
||||
|
||||
<!-- diff -->
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>diff.header</string>
|
||||
<key>scope</key>
|
||||
<string>meta.diff, meta.diff.header</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#83a598</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>diff.deleted</string>
|
||||
<key>scope</key>
|
||||
<string>markup.deleted</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#fa5c4b</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>diff.changed</string>
|
||||
<key>scope</key>
|
||||
<string>markup.changed</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#fabd2f</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>diff.inserted</string>
|
||||
<key>scope</key>
|
||||
<string>markup.inserted</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8ec07c</string>
|
||||
</dict>
|
||||
</dict>
|
||||
|
||||
|
||||
<!-- markup -->
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Bold Markup</string>
|
||||
<key>scope</key>
|
||||
<string>markup.bold</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Italic Markup</string>
|
||||
<key>scope</key>
|
||||
<string>markup.italic</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string>italic</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Heading Markup</string>
|
||||
<key>scope</key>
|
||||
<string>markup.heading</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string>bold</string>
|
||||
<key>foreground</key>
|
||||
<string>#8ec07c</string>
|
||||
</dict>
|
||||
</dict>
|
||||
|
||||
|
||||
<!-- Language Specific -->
|
||||
|
||||
<!-- PHP -->
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>PHP: class name</string>
|
||||
<key>scope</key>
|
||||
<string>entity.name.type.class.php</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8ec07c</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>PHP: Comment</string>
|
||||
<key>scope</key>
|
||||
<string>keyword.other.phpdoc</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
<key>foreground</key>
|
||||
<string>#928374</string>
|
||||
</dict>
|
||||
</dict>
|
||||
|
||||
<!-- CSS -->
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>CSS: numbers</string>
|
||||
<key>scope</key>
|
||||
<string>constant.numeric.css, keyword.other.unit.css</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#d3869b</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>CSS: entity dot, hash, comma, etc.</string>
|
||||
<key>scope</key>
|
||||
<string>punctuation.definition.entity.css</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#b8bb26</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<!-- JS -->
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>JS: variable</string>
|
||||
<key>scope</key>
|
||||
<string>variable.language.js</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#fabd2f</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>JS: unquoted labe</string>
|
||||
<key>scope</key>
|
||||
<string>string.unquoted.label.js</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#fdf4c1</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<!-- SQL -->
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Constant other sql</string>
|
||||
<key>scope</key>
|
||||
<string>constant.other.table-name.sql</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
<key>foreground</key>
|
||||
<string>#b8bb26</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>Constant other sql</string>
|
||||
<key>scope</key>
|
||||
<string>constant.other.database-name.sql</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>fontStyle</key>
|
||||
<string></string>
|
||||
<key>foreground</key>
|
||||
<string>#b8bb26</string>
|
||||
</dict>
|
||||
</dict>
|
||||
|
||||
<!-- Plugins -->
|
||||
|
||||
<!-- dired plugin -->
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>dired directory</string>
|
||||
<key>scope</key>
|
||||
<string>storage.type.dired.item.directory, dired.item.directory</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8ec07c</string>
|
||||
</dict>
|
||||
</dict>
|
||||
|
||||
<!-- orgmode plugin -->
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>orgmode link</string>
|
||||
<key>scope</key>
|
||||
<string>orgmode.link</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#fabd2f</string>
|
||||
<key>fontStyle</key>
|
||||
<string>underline</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>orgmode page</string>
|
||||
<key>scope</key>
|
||||
<string>orgmode.page</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#b8bb26</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>orgmode break</string>
|
||||
<key>scope</key>
|
||||
<string>orgmode.break</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#d3869b</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>orgmode headline</string>
|
||||
<key>scope</key>
|
||||
<string>orgmode.headline</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#8ec07c</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>orgmode tack</string>
|
||||
<key>scope</key>
|
||||
<string>orgmode.tack</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#fabd2f</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>orgmode follow up</string>
|
||||
<key>scope</key>
|
||||
<string>orgmode.follow_up</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#fabd2f</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>orgmode checkbox</string>
|
||||
<key>scope</key>
|
||||
<string>orgmode.checkbox</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#fabd2f</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>orgmode checkbox summary</string>
|
||||
<key>scope</key>
|
||||
<string>orgmode.checkbox.summary</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#fabd2f</string>
|
||||
</dict>
|
||||
</dict>
|
||||
<dict>
|
||||
<key>name</key>
|
||||
<string>orgmode tags</string>
|
||||
<key>scope</key>
|
||||
<string>orgmode.tags</string>
|
||||
<key>settings</key>
|
||||
<dict>
|
||||
<key>foreground</key>
|
||||
<string>#fa5c4b</string>
|
||||
</dict>
|
||||
</dict>
|
||||
|
||||
</array>
|
||||
<key>uuid</key>
|
||||
<string>06CD1FB2-A00A-4F8C-97B2-60E131980454</string>
|
||||
</dict>
|
||||
|
||||
</plist>
|
||||
@ -60,13 +60,13 @@
|
||||
}
|
||||
|
||||
|
||||
#let mos-n(sg, pl: none) = {
|
||||
#let mos-n(sg, pl: none, open: false) = {
|
||||
let pr = if pl == false { "" } else if pl != none { pl } else { mos-pluralise(sg) }
|
||||
let (ps, pv) = mos-nstem(pr)
|
||||
let (ss, sv) = mos-nstem(sg)
|
||||
|
||||
let c(it) = [#base.s("nahan", it) \ #html.span(class: "low", mos-translit(it))]
|
||||
html.details({
|
||||
html.details(open: open, {
|
||||
html.summary[
|
||||
*Declension for* _#mos-cit(sg)_ #if pl != none and pl != false [*Irr. pl. stem* _#mos-cit(pl)_] else if (
|
||||
pl == false
|
||||
@ -82,10 +82,10 @@
|
||||
)
|
||||
})
|
||||
}
|
||||
#let mos-v(w) = {
|
||||
#let mos-v(w, open: false) = {
|
||||
let s = mos-vstem(w)
|
||||
let c(it) = [#base.s("nahan", it) \ #html.span(class: "low", mos-translit(it))]
|
||||
html.details({
|
||||
html.details(open: open, {
|
||||
html.summary[*Conjugation for* _#mos-cit(w)_]
|
||||
table(
|
||||
columns: 5,
|
||||
@ -106,14 +106,14 @@
|
||||
})
|
||||
}
|
||||
|
||||
#let mos-pron(this) = {
|
||||
#let mos-pron(this, open: false) = {
|
||||
let c(k, h: false) = if h and k != this [
|
||||
#base.wl("/dict/" + mos-translit(k), base.s("nahan", k), "mos") \ #html.span(class: "low", mos-translit(k))
|
||||
] else [
|
||||
#base.s("nahan", k) \ #html.span(class: "low", mos-translit(k))
|
||||
]
|
||||
|
||||
html.details({
|
||||
html.details(open: open, {
|
||||
html.summary[Mosici Pronouns]
|
||||
table(
|
||||
columns: 6,
|
||||
|
||||
Reference in New Issue
Block a user