@@ -0,0 +1,10 @@
|
|||||||
|
root = true
|
||||||
|
|
||||||
|
[*]
|
||||||
|
end_of_line = lf
|
||||||
|
insert_final_newline = true
|
||||||
|
charset = utf-8
|
||||||
|
|
||||||
|
[*.{js,ts,json,mts,css}]
|
||||||
|
indent_style = space
|
||||||
|
indent_size = 2
|
||||||
@@ -1,3 +1,4 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
eval "$(devenv direnvrc)"
|
eval "$(devenv direnvrc)"
|
||||||
|
dotenv
|
||||||
use devenv
|
use devenv
|
||||||
|
|||||||
@@ -0,0 +1,26 @@
|
|||||||
|
name: deploy
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
deploy:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v7
|
||||||
|
- uses: cachix/install-nix-action@v31
|
||||||
|
with:
|
||||||
|
nix_path: nixpkgs=channel:nixos-unstable
|
||||||
|
- uses: cachix/cachix-action@v16
|
||||||
|
with:
|
||||||
|
name: phundrak
|
||||||
|
authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
|
||||||
|
extraPullNames: devenv
|
||||||
|
- name: Install devenv
|
||||||
|
run: nix profile add nixpkgs#devenv
|
||||||
|
- name: Deploy to Cloudflare Pages
|
||||||
|
env:
|
||||||
|
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
||||||
|
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
|
||||||
|
run: devenv tasks run website:deploy
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
name: deploy
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
deploy:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- uses: actions/setup-node@v4
|
|
||||||
with:
|
|
||||||
node-version: 20.x
|
|
||||||
- run: npm ci
|
|
||||||
- uses: purcell/setup-emacs@master
|
|
||||||
with:
|
|
||||||
version: 29.1
|
|
||||||
- name: "Export org to md"
|
|
||||||
run: emacs -Q --script export.el
|
|
||||||
- run: npm run build
|
|
||||||
- name: "Deploy to Cloudflare Pages"
|
|
||||||
uses: cloudflare/pages-action@v1
|
|
||||||
with:
|
|
||||||
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
|
||||||
accountId: ${{ secrets.ACCOUNT_ID }}
|
|
||||||
projectName: conlang-phundrak-com
|
|
||||||
directory: docs/.vuepress/dist/
|
|
||||||
githubToken: ${{ secrets.TOKEN }}
|
|
||||||
@@ -1,9 +1,15 @@
|
|||||||
node_modules
|
node_modules
|
||||||
|
/docs/**/*.md
|
||||||
|
|
||||||
|
# Vitepress
|
||||||
|
/.vitepress/cache/
|
||||||
|
/.vitepress/dist/
|
||||||
|
/docs/.vitepress/
|
||||||
|
/docs/img
|
||||||
|
/docs/eittlandic/img
|
||||||
|
/docs/proto-nyqy/img
|
||||||
.temp
|
.temp
|
||||||
.cache
|
.cache
|
||||||
/docs/**/*.md
|
|
||||||
/docs/.vuepress/dist/
|
|
||||||
/.yarn/
|
|
||||||
|
|
||||||
# Devenv
|
# Devenv
|
||||||
.devenv*
|
.devenv*
|
||||||
|
|||||||
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://json.schemastore.org/prettierrc",
|
||||||
|
"semi": true,
|
||||||
|
"tabWidth": 2,
|
||||||
|
"useTabs": false,
|
||||||
|
"singleQuote": true,
|
||||||
|
"quoteProps": "as-needed",
|
||||||
|
"printWidth": 100,
|
||||||
|
"trailingComma": "es5",
|
||||||
|
"bracketSpacing": true,
|
||||||
|
"bracketSameLine": true,
|
||||||
|
"arrowParens": "always"
|
||||||
|
}
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
// -*- mode: typescript; -*-
|
||||||
|
import { defineConfig, HeadConfig } from 'vitepress';
|
||||||
|
import appHead from './head';
|
||||||
|
import { sidebar } from './sidebar';
|
||||||
|
import { nav } from './nav';
|
||||||
|
|
||||||
|
export default defineConfig({
|
||||||
|
title: "Phundrak's Conlangs",
|
||||||
|
cleanUrls: true,
|
||||||
|
description: 'Documentation of the constructed languages made by Phundrak',
|
||||||
|
head: appHead as HeadConfig[],
|
||||||
|
srcDir: './docs',
|
||||||
|
themeConfig: {
|
||||||
|
sidebar,
|
||||||
|
nav,
|
||||||
|
outline: {
|
||||||
|
level: 'deep'
|
||||||
|
},
|
||||||
|
search: {
|
||||||
|
provider: 'local'
|
||||||
|
},
|
||||||
|
},
|
||||||
|
markdown: {
|
||||||
|
image: {
|
||||||
|
lazyLoading: true
|
||||||
|
},
|
||||||
|
linkify: true,
|
||||||
|
typographer: true,
|
||||||
|
headers: {
|
||||||
|
level: [1, 2, 3, 4, 5]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
})
|
||||||
@@ -0,0 +1,79 @@
|
|||||||
|
interface Head {
|
||||||
|
type?: 'image/png';
|
||||||
|
async?: boolean,
|
||||||
|
src?: string,
|
||||||
|
'data-website-id'?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
interface Favicon extends Head {
|
||||||
|
rel: 'apple-touch-icon' | 'icon' | 'manifest';
|
||||||
|
href: string;
|
||||||
|
sizes?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface Meta extends Head {
|
||||||
|
property?: string,
|
||||||
|
name?: string,
|
||||||
|
content: string
|
||||||
|
}
|
||||||
|
|
||||||
|
const favicons: Favicon[] = [
|
||||||
|
{ rel: 'apple-touch-icon', sizes: '57x57', href: '/img/meta/apple-icon-57x57.png' },
|
||||||
|
{ rel: 'apple-touch-icon', sizes: '60x60', href: '/img/meta/apple-icon-60x60.png' },
|
||||||
|
{ rel: 'apple-touch-icon', sizes: '72x72', href: '/img/meta/apple-icon-72x72.png' },
|
||||||
|
{ rel: 'apple-touch-icon', sizes: '76x76', href: '/img/meta/apple-icon-76x76.png' },
|
||||||
|
{ rel: 'apple-touch-icon', sizes: '114x114', href: '/img/meta/apple-icon-114x114.png' },
|
||||||
|
{ rel: 'apple-touch-icon', sizes: '120x120', href: '/img/meta/apple-icon-120x120.png' },
|
||||||
|
{ rel: 'apple-touch-icon', sizes: '144x144', href: '/img/meta/apple-icon-144x144.png' },
|
||||||
|
{ rel: 'apple-touch-icon', sizes: '152x152', href: '/img/meta/apple-icon-152x152.png' },
|
||||||
|
{ rel: 'apple-touch-icon', sizes: '180x180', href: '/img/meta/apple-icon-180x180.png' },
|
||||||
|
{ rel: 'icon', type: 'image/png', sizes: '192x192', href: '/img/meta/android-icon-192x192.png' },
|
||||||
|
{ rel: 'icon', type: 'image/png', sizes: '32x32', href: '/img/meta/favicon-32x32.png' },
|
||||||
|
{ rel: 'icon', type: 'image/png', sizes: '96x96', href: '/img/meta/favicon-96x96.png' },
|
||||||
|
{ rel: 'icon', type: 'image/png', sizes: '16x16', href: '/img/meta/favicon-16x16.png' },
|
||||||
|
{ rel: 'manifest', href: '/img/meta/manifest.json' },
|
||||||
|
];
|
||||||
|
|
||||||
|
const meta: Meta[] = [
|
||||||
|
{
|
||||||
|
name: 'author',
|
||||||
|
content: 'Lucien Cartier-Tilet',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
property: 'og:image',
|
||||||
|
content: 'https://cdn.phundrak.com/img/rich_preview.png',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
property: 'og:title',
|
||||||
|
content: 'P’undrak’s Conlangs',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
property: 'og:description',
|
||||||
|
content: 'Documentation of P’undrak’s constructed languages',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'fediverse:creator',
|
||||||
|
content: '@phundrak@mastodon.phundrak.com',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'twitter:card',
|
||||||
|
content: 'summary',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'twitter:site',
|
||||||
|
content: '@phundrak',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'twitter:creator',
|
||||||
|
content: '@phundrak',
|
||||||
|
},
|
||||||
|
{ name: 'msapplication-TileColor', content: '#3b4252' },
|
||||||
|
{ name: 'msapplication-TileImage', content: '/ms-icon-144x144.png' },
|
||||||
|
{ name: 'theme-color', content: '#3b4252' },
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
|
const appHead: (string | Head)[][] = favicons.map((head) => ['link', head])
|
||||||
|
meta.map((item) => appHead.push(['meta', item]))
|
||||||
|
|
||||||
|
export default appHead;
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
import { DefaultTheme } from "vitepress";
|
||||||
|
|
||||||
|
export const nav: DefaultTheme.NavItem[] = [
|
||||||
|
{ text: 'About', link: '/about' },
|
||||||
|
{ text: 'Eittlandic', link: '/eittlandic/', activeMatch: '/eittlandic/*' },
|
||||||
|
{ text: 'Proto-Ñyqy', link: '/proto-nyqy/', activeMatch: '/proto-nyqy/*' },
|
||||||
|
{ text: 'Zikãti', link: '/zikãti' },
|
||||||
|
]
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
import { DefaultTheme } from "vitepress";
|
||||||
|
|
||||||
|
export const sidebar: DefaultTheme.Sidebar = {
|
||||||
|
'/eittlandic/': [
|
||||||
|
{ text: 'Index', link: '/eittlandic/' },
|
||||||
|
{ text: 'The Country', link: '/eittlandic/country' },
|
||||||
|
{ text: 'Typological Outline', link: '/eittlandic/typology' },
|
||||||
|
{ text: 'Phonetics & Translitteration', link: '/eittlandic/phonology' },
|
||||||
|
{ text: 'Grammar', link: '/eittlandic/grammar' },
|
||||||
|
{ text: 'Dictionary', link: '/eittlandic/dictionary' },
|
||||||
|
{ text: 'Names & Places', link: '/eittlandic/names-and-places' },
|
||||||
|
],
|
||||||
|
'/proto-nyqy/': [
|
||||||
|
{ text: 'Index', link: '/proto-nyqy/' },
|
||||||
|
{ text: 'Introduction', link: '/proto-nyqy/introduction' },
|
||||||
|
{ text: 'Culture of the Proto-Ñyqy people', link: '/proto-nyqy/culture-and-people' },
|
||||||
|
{ text: 'Typological Outline', link: '/proto-nyqy/typology' },
|
||||||
|
{ text: 'Phonetics & Phonology', link: '/proto-nyqy/phonology' },
|
||||||
|
{ text: 'Syntax', link: '/proto-nyqy/syntax' },
|
||||||
|
{ text: 'Dictionary', link: '/proto-nyqy/dictionary' },
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
import { Theme } from "vitepress";
|
||||||
|
import DefaultTheme from "vitepress/theme";
|
||||||
|
import ImgFigure from "../components/ImgFigure.vue";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
extends: DefaultTheme,
|
||||||
|
enhanceApp({ app }) {
|
||||||
|
app.component('ImgFigure', ImgFigure);
|
||||||
|
}
|
||||||
|
} satisfies Theme;
|
||||||
@@ -4,15 +4,37 @@
|
|||||||
npm.enable = false;
|
npm.enable = false;
|
||||||
pnpm.enable = true;
|
pnpm.enable = true;
|
||||||
};
|
};
|
||||||
|
dotenv.enable = true;
|
||||||
processes.dev.exec = "pnpm dev";
|
processes.dev.exec = "pnpm dev";
|
||||||
|
cachix = {
|
||||||
|
push = "phundrak";
|
||||||
|
pull = [
|
||||||
|
"phundrak"
|
||||||
|
"devenv"
|
||||||
|
];
|
||||||
|
};
|
||||||
tasks = {
|
tasks = {
|
||||||
|
"website:install-deps".exec = "pnpm ci";
|
||||||
"website:export-md" = {
|
"website:export-md" = {
|
||||||
exec = "${pkgs.emacs}/bin/emacs -Q --script export.el";
|
exec = "${pkgs.emacs}/bin/emacs -Q --script export.el";
|
||||||
execIfModified = [ "docs/**/*.org" ];
|
execIfModified = [ "docs/**/*.org" ];
|
||||||
};
|
};
|
||||||
"website:build" = {
|
"website:build" = {
|
||||||
exec = "pnpm run build";
|
exec = "pnpm build";
|
||||||
after = [ "website:export-md@succeeded" ];
|
after = [
|
||||||
|
"website:export-md@succeeded"
|
||||||
|
"website:install-deps@succeeded"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
"website:deploy" = {
|
||||||
|
exec = ''
|
||||||
|
if [[ -z "''${CLOUDFLARE_API_TOKEN:-}" ]]; then
|
||||||
|
echo "Error: CLOUDFLARE_API_TOKEN is not set. Run this in CI only."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
${pkgs.wrangler}/bin/wrangler pages deploy
|
||||||
|
'';
|
||||||
|
after = [ "website:build@succeeded" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +0,0 @@
|
|||||||
;;; Directory Local Variables -*- no-byte-compile: t -*-
|
|
||||||
;;; For more information see (info "(emacs) Directory Variables")
|
|
||||||
|
|
||||||
((typescript-mode . ((prettier-js-args . ("--single-quote" "--jsx-single-quote"))
|
|
||||||
(typescript-indent-level . 2)))
|
|
||||||
(scss-mode . ((prettier-js-args . ("--single-quote" "--jsx-single-quote")))))
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
import { defineClientConfig } from '@vuepress/client';
|
|
||||||
import ImgFigure from './components/ImgFigure.vue';
|
|
||||||
|
|
||||||
export default defineClientConfig({
|
|
||||||
enhance({ app }) {
|
|
||||||
app.component('ImgFigure', ImgFigure);
|
|
||||||
},
|
|
||||||
setup() {},
|
|
||||||
layouts: {},
|
|
||||||
rootComponents: [],
|
|
||||||
});
|
|
||||||
@@ -1,76 +0,0 @@
|
|||||||
import { defaultTheme } from '@vuepress/theme-default';
|
|
||||||
import { defineUserConfig } from 'vuepress';
|
|
||||||
import { viteBundler } from '@vuepress/bundler-vite';
|
|
||||||
import { umamiAnalyticsPlugin } from '@vuepress/plugin-umami-analytics';
|
|
||||||
import { slimsearchPlugin } from '@vuepress/plugin-slimsearch';
|
|
||||||
|
|
||||||
import head from './head';
|
|
||||||
|
|
||||||
const isProd = process.env.NODE_ENV === 'production';
|
|
||||||
|
|
||||||
export default defineUserConfig({
|
|
||||||
lang: 'en-GB',
|
|
||||||
title: "Phundrak's Conlangs",
|
|
||||||
head: head,
|
|
||||||
description: 'Documentation of the constructed languages made by Phundrak',
|
|
||||||
markdown: {
|
|
||||||
html: false,
|
|
||||||
linkify: true,
|
|
||||||
typographer: true,
|
|
||||||
headers: {
|
|
||||||
level: [1, 2, 3, 4, 5],
|
|
||||||
},
|
|
||||||
},
|
|
||||||
plugins: [
|
|
||||||
slimsearchPlugin({
|
|
||||||
indexContent: true,
|
|
||||||
}),
|
|
||||||
],
|
|
||||||
bundler: isProd
|
|
||||||
? viteBundler({})
|
|
||||||
: viteBundler({
|
|
||||||
viteOptions: {
|
|
||||||
server: {
|
|
||||||
allowedHosts: true,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}),
|
|
||||||
theme: defaultTheme({
|
|
||||||
sidebarDepth: 5,
|
|
||||||
repo: 'https://labs.phundrak.com/phundrak/conlang.phundrak.com',
|
|
||||||
sidebar: [
|
|
||||||
{
|
|
||||||
text: 'Index',
|
|
||||||
link: '/',
|
|
||||||
},
|
|
||||||
'/about',
|
|
||||||
{
|
|
||||||
text: 'Eittlandic',
|
|
||||||
link: '/eittlandic/',
|
|
||||||
collapsible: true,
|
|
||||||
children: [
|
|
||||||
'/eittlandic/country',
|
|
||||||
'/eittlandic/typology',
|
|
||||||
'/eittlandic/phonology',
|
|
||||||
'/eittlandic/grammar',
|
|
||||||
'/eittlandic/names-and-places',
|
|
||||||
'/eittlandic/dictionary',
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
text: 'Proto-Ñyqy',
|
|
||||||
link: '/proto-nyqy/',
|
|
||||||
collapsible: true,
|
|
||||||
children: [
|
|
||||||
'/proto-nyqy/introduction',
|
|
||||||
'/proto-nyqy/culture-and-people',
|
|
||||||
'/proto-nyqy/typology',
|
|
||||||
'/proto-nyqy/phonology',
|
|
||||||
'/proto-nyqy/syntax',
|
|
||||||
'/proto-nyqy/dictionary',
|
|
||||||
],
|
|
||||||
},
|
|
||||||
'/zikãti',
|
|
||||||
],
|
|
||||||
}),
|
|
||||||
});
|
|
||||||
@@ -1,148 +0,0 @@
|
|||||||
interface SimplifiedHeader {
|
|
||||||
tag: string;
|
|
||||||
content: [any];
|
|
||||||
}
|
|
||||||
|
|
||||||
const simplifiedHead = [
|
|
||||||
{
|
|
||||||
tag: 'script',
|
|
||||||
content: [
|
|
||||||
{
|
|
||||||
async: true,
|
|
||||||
src: 'https://umami.phundrak.com/script.js',
|
|
||||||
'data-website-id': 'dda1ea7b-086e-49b0-9cab-517314212ac5',
|
|
||||||
'data-do-not-track': 'true',
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
tag: 'meta',
|
|
||||||
content: [
|
|
||||||
{
|
|
||||||
name: 'author',
|
|
||||||
content: 'Lucien Cartier-Tilet',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
property: 'og:image',
|
|
||||||
content: 'https://cdn.phundrak.com/img/rich_preview.png',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
property: 'og:title',
|
|
||||||
content: 'P’undrak’s Conlangs',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
property: 'og:description',
|
|
||||||
content: 'Documentation of P’undrak’s constructed languages',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'fediverse:creator',
|
|
||||||
content: '@phundrak@mastodon.phundrak.com',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'twitter:card',
|
|
||||||
content: 'summary',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'twitter:site',
|
|
||||||
content: '@phundrak',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: 'twitter:creator',
|
|
||||||
content: '@phundrak',
|
|
||||||
},
|
|
||||||
{ name: 'msapplication-TileColor', content: '#3b4252' },
|
|
||||||
{ name: 'msapplication-TileImage', content: '/ms-icon-144x144.png' },
|
|
||||||
{ name: 'theme-color', content: '#3b4252' },
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
|
||||||
tag: 'link',
|
|
||||||
content: [
|
|
||||||
{
|
|
||||||
rel: 'apple-touch-icon',
|
|
||||||
sizes: '57x57',
|
|
||||||
href: '/apple-icon-57x57.png',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
rel: 'apple-touch-icon',
|
|
||||||
sizes: '60x60',
|
|
||||||
href: '/apple-icon-60x60.png',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
rel: 'apple-touch-icon',
|
|
||||||
sizes: '72x72',
|
|
||||||
href: '/apple-icon-72x72.png',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
rel: 'apple-touch-icon',
|
|
||||||
sizes: '76x76',
|
|
||||||
href: '/apple-icon-76x76.png',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
rel: 'apple-touch-icon',
|
|
||||||
sizes: '114x114',
|
|
||||||
href: '/apple-icon-114x114.png',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
rel: 'apple-touch-icon',
|
|
||||||
sizes: '120x120',
|
|
||||||
href: '/apple-icon-120x120.png',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
rel: 'apple-touch-icon',
|
|
||||||
sizes: '144x144',
|
|
||||||
href: '/apple-icon-144x144.png',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
rel: 'apple-touch-icon',
|
|
||||||
sizes: '152x152',
|
|
||||||
href: '/apple-icon-152x152.png',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
rel: 'apple-touch-icon',
|
|
||||||
sizes: '180x180',
|
|
||||||
href: '/apple-icon-180x180.png',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
rel: 'icon',
|
|
||||||
type: 'image/png',
|
|
||||||
sizes: '192x192',
|
|
||||||
href: '/android-icon-192x192.png',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
rel: 'icon',
|
|
||||||
type: 'image/png',
|
|
||||||
sizes: '32x32',
|
|
||||||
href: '/favicon-32x32.png',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
rel: 'icon',
|
|
||||||
type: 'image/png',
|
|
||||||
sizes: '96x96',
|
|
||||||
href: '/favicon-96x96.png',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
rel: 'icon',
|
|
||||||
type: 'image/png',
|
|
||||||
sizes: '16x16',
|
|
||||||
href: '/favicon-16x16.png',
|
|
||||||
},
|
|
||||||
{ rel: 'manifest', href: '/manifest.json' },
|
|
||||||
],
|
|
||||||
},
|
|
||||||
];
|
|
||||||
|
|
||||||
let head = [];
|
|
||||||
simplifiedHead.forEach((tag: SimplifiedHeader) => {
|
|
||||||
let tagName = tag.tag;
|
|
||||||
tag.content.forEach((element) => {
|
|
||||||
head.push([tagName, element]);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
head.push([
|
|
||||||
'a',
|
|
||||||
{ rel: 'me', href: 'https://mastodon.phundrak.com/@phundrak' },
|
|
||||||
'Mastodon',
|
|
||||||
]);
|
|
||||||
|
|
||||||
export default head;
|
|
||||||
@@ -1,198 +0,0 @@
|
|||||||
/*
|
|
||||||
* Nord Theme:
|
|
||||||
* - Copyright (c) 2016-present Arctic Ice Studio <development@arcticicestudio.com>
|
|
||||||
* - Copyright (c) 2016-present Sven Greb <development@svengreb.de>
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* :root { */
|
|
||||||
/* --nord0: #2e3440; */
|
|
||||||
/* --nord1: #3b4252; */
|
|
||||||
/* --nord2: #434c5e; */
|
|
||||||
/* --nord3: #4c566a; */
|
|
||||||
/* --nord4: #d8dee9; */
|
|
||||||
/* --nord5: #e5e9f0; */
|
|
||||||
/* --nord6: #eceff4; */
|
|
||||||
/* --nord7: #8fbcbb; */
|
|
||||||
/* --nord8: #88c0d0; */
|
|
||||||
/* --nord9: #81a1c1; */
|
|
||||||
/* --nord10: #5e81ac; */
|
|
||||||
/* --nord11: #bf616a; */
|
|
||||||
/* --nord12: #d08770; */
|
|
||||||
/* --nord13: #ebcb8b; */
|
|
||||||
/* --nord14: #a3be8c; */
|
|
||||||
/* --nord15: #b48ead; */
|
|
||||||
|
|
||||||
/* scroll-behavior: smooth; */
|
|
||||||
|
|
||||||
/* // brand colors */
|
|
||||||
/* --c-brand: var(--nord9); */
|
|
||||||
/* --c-brand-light: var(--nord14); */
|
|
||||||
|
|
||||||
/* // background colors */
|
|
||||||
/* --c-bg: var(--nord6); */
|
|
||||||
/* --c-bg-light: var(--nord6); */
|
|
||||||
/* --c-bg-lighter: var(--nord5); */
|
|
||||||
/* --c-bg-dark: var(--nord5); */
|
|
||||||
/* --c-bg-darker: var(--nord4); */
|
|
||||||
/* --c-bg-navbar: var(--c-bg); */
|
|
||||||
/* --c-bg-sidebar: var(--c-bg); */
|
|
||||||
/* --c-bg-arrow: var(--nord4); */
|
|
||||||
|
|
||||||
/* // text colors */
|
|
||||||
/* --c-text: var(--nord1); */
|
|
||||||
/* --c-text-accent: var(--c-brand); */
|
|
||||||
/* --c-text-light: var(--nord2); */
|
|
||||||
/* --c-text-lighter: var(--nord3); */
|
|
||||||
/* --c-text-lightest: var(--nord4); */
|
|
||||||
/* --c-text-quote: var(--nord2); */
|
|
||||||
|
|
||||||
/* // border colors */
|
|
||||||
/* --c-border: var(--nord4); */
|
|
||||||
/* --c-border-dark: var(--nord4); */
|
|
||||||
|
|
||||||
/* // custom container colors */
|
|
||||||
/* --c-tip: var(--nord14); */
|
|
||||||
/* --c-tip-bg: rgba(163, 190, 140, 0.2); */
|
|
||||||
/* --c-tip-title: var(--c-text); */
|
|
||||||
/* --c-tip-text: var(--c-text); */
|
|
||||||
/* --c-tip-text-accent: var(--c-text-accent); */
|
|
||||||
/* --c-warning: var(--nord13); */
|
|
||||||
/* --c-warning-bg: rgba(235, 203, 139, 0.3); */
|
|
||||||
/* --c-warning-bg-light: rgba(235, 203, 139, 0.2); */
|
|
||||||
/* --c-warning-bg-lighter: rgba(235, 203, 139, 0.1); */
|
|
||||||
/* --c-warning-border-dark: var(--nord3); */
|
|
||||||
/* --c-warning-details-bg: var(--c-bg); */
|
|
||||||
/* --c-warning-title: var(--nord12); */
|
|
||||||
/* --c-warning-text: var(--nord12); */
|
|
||||||
/* --c-warning-text-accent: var(--nord12); */
|
|
||||||
/* --c-warning-text-light: var(--nord12); */
|
|
||||||
/* --c-warning-text-quote: var(--nord12); */
|
|
||||||
|
|
||||||
/* --c-danger: var(--nord11); */
|
|
||||||
/* --c-danger-bg: rgba(191, 97, 106, 0.2); */
|
|
||||||
/* --c-danger-bg-light: rgba(191, 97, 106, 0.2); */
|
|
||||||
/* --c-danger-bg-lighter: rgba(191, 97, 106, 0.1); */
|
|
||||||
/* --c-danger-border-dark: var(--nord11); */
|
|
||||||
/* --c-danger-details-bg: var(--nord2); */
|
|
||||||
/* --c-danger-title: var(--nord11); */
|
|
||||||
/* --c-danger-text: var(--nord11); */
|
|
||||||
/* --c-danger-text-accent: var(--nord11); */
|
|
||||||
/* --c-danger-text-light: var(--nord11); */
|
|
||||||
/* --c-danger-text-quote: var(--nord11); */
|
|
||||||
|
|
||||||
/* --c-details-bg: var(--c-bg-lighter); */
|
|
||||||
|
|
||||||
/* // badge component colors */
|
|
||||||
/* --c-badge-tip: var(--c-tip); */
|
|
||||||
/* --c-badge-warning: var(--c-warning); */
|
|
||||||
/* --c-badge-warning-text: var(--c-bg); */
|
|
||||||
/* --c-badge-danger: var(--c-danger); */
|
|
||||||
/* --c-badge-danger-text: var(--c-bg); */
|
|
||||||
|
|
||||||
/* // transition vars */
|
|
||||||
/* --t-color: 0.3s ease; */
|
|
||||||
/* --t-transform: 0.3s ease; */
|
|
||||||
|
|
||||||
/* // code blocks vars */
|
|
||||||
/* --code-bg-color: var(--nord0); */
|
|
||||||
/* --code-hl-bg-color: var(--nord1); */
|
|
||||||
/* --code-ln-color: #9e9e9e; */
|
|
||||||
/* --code-ln-wrapper-width: 3.5rem; */
|
|
||||||
|
|
||||||
/* // font vars */
|
|
||||||
/* --font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, */
|
|
||||||
/* Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; */
|
|
||||||
/* --font-family-code: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; */
|
|
||||||
|
|
||||||
/* // layout vars */
|
|
||||||
/* --navbar-height: 3.6rem; */
|
|
||||||
/* --navbar-padding-v: 0.7rem; */
|
|
||||||
/* --navbar-padding-h: 1.5rem; */
|
|
||||||
/* --sidebar-width: 20rem; */
|
|
||||||
/* --sidebar-width-mobile: calc(var(--sidebar-width) * 0.82); */
|
|
||||||
/* --content-width: 740px; */
|
|
||||||
/* --homepage-width: 960px; */
|
|
||||||
/* } */
|
|
||||||
|
|
||||||
/* html.dark { */
|
|
||||||
/* // brand colors */
|
|
||||||
/* --c-brand: var(--nord14); */
|
|
||||||
/* --c-brand-light: var(--nord14); */
|
|
||||||
|
|
||||||
/* // background colors */
|
|
||||||
/* --c-bg: var(--nord1); */
|
|
||||||
/* --c-bg-light: var(--nord2); */
|
|
||||||
/* --c-bg-lighter: var(--nord2); */
|
|
||||||
/* --c-bg-dark: var(--nord3); */
|
|
||||||
/* --c-bg-darker: var(--nord3); */
|
|
||||||
|
|
||||||
/* // text colors */
|
|
||||||
/* --c-text: var(--nord4); */
|
|
||||||
/* --c-text-light: var(--nord5); */
|
|
||||||
/* --c-text-lighter: var(--nord5); */
|
|
||||||
/* --c-text-lightest: var(--nord6); */
|
|
||||||
/* --c-text-quote: var(--c-text); */
|
|
||||||
|
|
||||||
/* // border colors */
|
|
||||||
/* --c-border: var(--nord3); */
|
|
||||||
/* --c-border-dark: var(--nord3); */
|
|
||||||
|
|
||||||
/* // custom container colors */
|
|
||||||
/* --c-tip: var(--nord14); */
|
|
||||||
/* --c-warning: var(--nord13); */
|
|
||||||
/* --c-warning-bg: rgba(235, 203, 139, 0.2); */
|
|
||||||
/* --c-warning-bg-light: rgba(235, 203, 139, 0.2); */
|
|
||||||
/* --c-warning-bg-lighter: rgba(235, 203, 139, 0.1); */
|
|
||||||
/* --c-warning-border-dark: var(--nord3); */
|
|
||||||
/* --c-warning-details-bg: var(--c-bg); */
|
|
||||||
/* --c-warning-title: var(--nord13); */
|
|
||||||
/* --c-warning-text: var(--nord13); */
|
|
||||||
/* --c-warning-text-accent: var(--nord13); */
|
|
||||||
/* --c-warning-text-light: var(--nord13); */
|
|
||||||
/* --c-warning-text-quote: var(--nord13); */
|
|
||||||
|
|
||||||
/* --c-danger: var(--nord11); */
|
|
||||||
/* --c-danger-bg: rgba(191, 97, 106, 0.2); */
|
|
||||||
/* --c-danger-bg-light: rgba(191, 97, 106, 0.2); */
|
|
||||||
/* --c-danger-bg-lighter: rgba(191, 97, 106, 0.1); */
|
|
||||||
/* --c-danger-border-dark: var(--nord11); */
|
|
||||||
/* --c-danger-details-bg: var(--nord2); */
|
|
||||||
/* --c-danger-title: hsl(354 43% 75.7%); */
|
|
||||||
/* --c-danger-text: hsl(354 43% 80.7%); */
|
|
||||||
/* --c-danger-text-accent: var(--nord11); */
|
|
||||||
/* --c-danger-text-light: var(--nord11); */
|
|
||||||
/* --c-danger-text-quote: var(--nord11); */
|
|
||||||
|
|
||||||
/* --c-details-bg: var(--c-bg-light); */
|
|
||||||
|
|
||||||
/* // badge component colors */
|
|
||||||
/* --c-badge-warning-text: var(--nord0); */
|
|
||||||
/* --c-badge-danger-text: var(--nord0); */
|
|
||||||
|
|
||||||
/* // code blocks vars */
|
|
||||||
/* --code-hl-bg-color: var(--nord2); */
|
|
||||||
/* } */
|
|
||||||
|
|
||||||
/* .page table { */
|
|
||||||
/* border-color: var(--nord3); */
|
|
||||||
/* border-top: none; */
|
|
||||||
/* display: inline-block; */
|
|
||||||
|
|
||||||
/* tbody { */
|
|
||||||
/* border-color: var(--c-bg-dark); */
|
|
||||||
/* border-width: 3px; */
|
|
||||||
/* } */
|
|
||||||
|
|
||||||
/* tr { */
|
|
||||||
/* background-color: var(--c-bg); */
|
|
||||||
/* transition: background-color var(--t-color); */
|
|
||||||
/* } */
|
|
||||||
/* } */
|
|
||||||
|
|
||||||
/* tr:nth-child(even) td.org-left { */
|
|
||||||
/* background-color: var(--nord5) !important; */
|
|
||||||
/* } */
|
|
||||||
|
|
||||||
/* .dark tr:nth-child(even) td.org-left { */
|
|
||||||
/* background-color: var(--nord1) !important; */
|
|
||||||
/* } */
|
|
||||||
@@ -10,11 +10,8 @@ and open-source. You can find its source code on my Gitea instance
|
|||||||
[[https://labs.phundrak.com/phundrak/conlang.phundrak.com][here]].
|
[[https://labs.phundrak.com/phundrak/conlang.phundrak.com][here]].
|
||||||
|
|
||||||
** Where is the website hosted?
|
** Where is the website hosted?
|
||||||
This website is hosted on my private physical server, located in the
|
This website is hosted on Cloudflare Pages on servers all over the
|
||||||
town of Bron in France, near Lyon. All of my websites are also hosted
|
world.
|
||||||
on this server, except for [[https://labs.phundrak.com][=labs.phundrak.com=]] and =mail.phundrak.com=
|
|
||||||
which are hosted on servers rented to Scaleway and OVH France
|
|
||||||
respectively. These servers are also located in France.
|
|
||||||
|
|
||||||
** Cookies
|
** Cookies
|
||||||
*** What are cookies?
|
*** What are cookies?
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
../.vuepress/public/img
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
../.vuepress/public/img
|
|
||||||
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 214 KiB After Width: | Height: | Size: 214 KiB |
|
Before Width: | Height: | Size: 74 KiB After Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 68 KiB After Width: | Height: | Size: 68 KiB |
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 55 KiB After Width: | Height: | Size: 55 KiB |
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 149 KiB After Width: | Height: | Size: 149 KiB |
|
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 2.1 MiB After Width: | Height: | Size: 2.1 MiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 772 KiB After Width: | Height: | Size: 772 KiB |
|
Before Width: | Height: | Size: 739 KiB After Width: | Height: | Size: 739 KiB |
|
Before Width: | Height: | Size: 796 KiB After Width: | Height: | Size: 796 KiB |
|
Before Width: | Height: | Size: 748 KiB After Width: | Height: | Size: 748 KiB |
|
Before Width: | Height: | Size: 274 KiB After Width: | Height: | Size: 274 KiB |
|
Before Width: | Height: | Size: 864 KiB After Width: | Height: | Size: 864 KiB |
|
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 1.1 MiB |
|
Before Width: | Height: | Size: 755 KiB After Width: | Height: | Size: 755 KiB |
|
Before Width: | Height: | Size: 958 KiB After Width: | Height: | Size: 958 KiB |
|
Before Width: | Height: | Size: 389 KiB After Width: | Height: | Size: 389 KiB |
|
Before Width: | Height: | Size: 103 KiB After Width: | Height: | Size: 103 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 36 KiB After Width: | Height: | Size: 36 KiB |
|
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 7.3 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 6.4 KiB After Width: | Height: | Size: 6.4 KiB |
|
Before Width: | Height: | Size: 121 KiB After Width: | Height: | Size: 121 KiB |
|
Before Width: | Height: | Size: 93 KiB After Width: | Height: | Size: 93 KiB |
|
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 51 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 42 KiB |
|
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 6.3 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 45 KiB |
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 5.6 KiB |
|
Before Width: | Height: | Size: 9.8 KiB After Width: | Height: | Size: 9.8 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 7.5 KiB |
|
Before Width: | Height: | Size: 9.8 KiB After Width: | Height: | Size: 9.8 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 94 KiB After Width: | Height: | Size: 94 KiB |
|
Before Width: | Height: | Size: 9.4 KiB After Width: | Height: | Size: 9.4 KiB |
|
Before Width: | Height: | Size: 240 KiB After Width: | Height: | Size: 240 KiB |
|
Before Width: | Height: | Size: 153 KiB After Width: | Height: | Size: 153 KiB |
|
Before Width: | Height: | Size: 156 KiB After Width: | Height: | Size: 156 KiB |
|
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 64 KiB |
|
Before Width: | Height: | Size: 60 KiB After Width: | Height: | Size: 60 KiB |
@@ -85,10 +85,10 @@ graph{graph[dpi=300,bgcolor="transparent"];node[shape=plaintext];"vowels-0ju8102
|
|||||||
| V[+nasal] | ã ẽ õ |
|
| V[+nasal] | ã ẽ õ |
|
||||||
|
|
||||||
Prefixes follow the (C_{2})V[-nasal] phonetic structure, with C_{2} being
|
Prefixes follow the (C_{2})V[-nasal] phonetic structure, with C_{2} being
|
||||||
optional. Suffixes follow the CV[+nasal](C_{2}) structure with C_{2} being
|
optional. Suffixes follow the CV[+nasal](C_{2}) structure with C_{2} being
|
||||||
optional.
|
optional.
|
||||||
|
|
||||||
Roots are a bit more complex, with a C(V[+nasal](C_{2})C)V[-nasal](C_{2})
|
Roots are a bit more complex, with a C(V[+nasal](C_{2})C)V[-nasal](C_{2})
|
||||||
structure.
|
structure.
|
||||||
|
|
||||||
The only consonants that can follow the vowels /õ/ and /ẽ/ are non-nasal
|
The only consonants that can follow the vowels /õ/ and /ẽ/ are non-nasal
|
||||||
@@ -148,7 +148,7 @@ adverbs, e.g. *qigi* /before/ from *gi* /from/ (see [[file:./zikãti#gi-from][gi
|
|||||||
- -rã :: TR
|
- -rã :: TR
|
||||||
- -sõr :: NOMIN
|
- -sõr :: NOMIN
|
||||||
- -zãr :: PASS
|
- -zãr :: PASS
|
||||||
- -qã :: SUBJ, attaches to verbs only, see [[file:zikãti#subclauses][subclauses]]
|
- -qã :: SUBJ, attaches to verbs only, see [[file:./zikãti.md#subclauses][subclauses]]
|
||||||
|
|
||||||
*** Word order
|
*** Word order
|
||||||
Zikãti is a postpositional language following the SOV word order in
|
Zikãti is a postpositional language following the SOV word order in
|
||||||
@@ -347,12 +347,12 @@ He thinks about it, maybe remembers it
|
|||||||
- hiti (n.) :: fire, light
|
- hiti (n.) :: fire, light
|
||||||
|
|
||||||
*** hitimbi - hearth, coocked food
|
*** hitimbi - hearth, coocked food
|
||||||
See [[file:zikãti#hiti-fire-light][hiti]] and [[file:zikãti#mbi-meat-food][mbi]].
|
See [[file:./zikãti.md#hiti-fire-light][hiti]] and [[file:./zikãti.md#mbi-meat-food][mbi]].
|
||||||
|
|
||||||
- hitimbi (n.) :: hearth, coocked food
|
- hitimbi (n.) :: hearth, coocked food
|
||||||
|
|
||||||
*** hitimiz - tea
|
*** hitimiz - tea
|
||||||
See [[file:zikãti#hiti-fire-light][hiti]] and [[file:zikãti#miz-water-stream][miz]].
|
See [[file:./zikãti.md#hiti-fire-light][hiti]] and [[file:./zikãti.md#miz-water-stream][miz]].
|
||||||
|
|
||||||
- hitimiz (n.) :: tea
|
- hitimiz (n.) :: tea
|
||||||
|
|
||||||
@@ -374,7 +374,7 @@ See [[file:zikãti#hiti-fire-light][hiti]] and [[file:zikãti#miz-water-stream][
|
|||||||
- lud (n., con.) :: breath, life
|
- lud (n., con.) :: breath, life
|
||||||
|
|
||||||
*** ludmiz - blood
|
*** ludmiz - blood
|
||||||
See [[file:zikãti#lud-breath-life][lud]] and [[file:zikãti#miz-water-stream][miz]].
|
See [[file:./zikãti.md#lud-breath-life][lud]] and [[file:./zikãti.md#miz-water-stream][miz]].
|
||||||
|
|
||||||
- ludmiz (n.) :: blood
|
- ludmiz (n.) :: blood
|
||||||
|
|
||||||
|
|||||||
@@ -8,19 +8,10 @@
|
|||||||
"license": "AGPL-3.0",
|
"license": "AGPL-3.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@vuepress/bundler-vite": "2.0.0-rc.30",
|
"vitepress": "^2.0.0-alpha.18"
|
||||||
"@vuepress/plugin-slimsearch": "2.0.0-rc.131",
|
|
||||||
"@vuepress/plugin-umami-analytics": "2.0.0-rc.131",
|
|
||||||
"@vuepress/theme-default": "2.0.0-rc.132",
|
|
||||||
"sass-embedded": "^1.100.0",
|
|
||||||
"vuepress": "2.0.0-rc.30"
|
|
||||||
},
|
|
||||||
"dependencies": {
|
|
||||||
"less": "^4.6.7",
|
|
||||||
"nord": "^0.2.1"
|
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vuepress dev docs",
|
"dev": "vitepress dev",
|
||||||
"build": "vuepress build docs"
|
"build": "vitepress build"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
// -*- mode: json-ts; -*-
|
||||||
|
{
|
||||||
|
"$schema": "node_modules/wrangler/config-schema.json",
|
||||||
|
"name": "conlang-phundrak-com",
|
||||||
|
"pages_build_output_dir": ".vitepress/dist/",
|
||||||
|
"compatibility_date": "2026-07-11"
|
||||||
|
}
|
||||||