Skip to content

Commit 2a45a30

Browse files
committed
Add VuePress documentation subproject
1 parent bd836c8 commit 2a45a30

Some content is hidden

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

53 files changed

+2933
-0
lines changed

docs/.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
node_modules
2+
.temp
3+
.cache
4+
/docs/*/modules/

docs/docs/.vuepress/config.js

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import { defineUserConfig, defaultTheme } from 'vuepress'
2+
import { prismjsPlugin } from '@vuepress/plugin-prismjs'
3+
import { sidebarConfig } from './configs/sidebar'
4+
import { navbarConfig } from './configs/navbar'
5+
import Prism from 'prismjs';
6+
import definePrismOwnLang from '../../../editors/prismjs/own-language.js'
7+
definePrismOwnLang(Prism)
8+
9+
export default defineUserConfig({
10+
locales: {
11+
'/en/': {
12+
lang: 'en-US',
13+
title: 'OwnLang',
14+
description: 'OwnLang documentation',
15+
},
16+
'/ru/': {
17+
lang: 'ru-RU',
18+
title: 'OwnLang',
19+
description: 'Документация OwnLang',
20+
}
21+
},
22+
23+
theme: defaultTheme({
24+
locales: {
25+
'/en/': {
26+
selectLanguageName: 'English',
27+
sidebar: sidebarConfig.en,
28+
navbar: navbarConfig.en
29+
},
30+
'/ru/': {
31+
selectLanguageName: 'Русский',
32+
sidebar: sidebarConfig.ru,
33+
navbar: navbarConfig.ru
34+
}
35+
}
36+
}),
37+
38+
plugins: [
39+
prismjsPlugin({
40+
preloadLanguages: ['own', 'json']
41+
}),
42+
],
43+
})

docs/docs/.vuepress/configs/navbar.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import pages from './pages'
2+
3+
let navbar = {}
4+
for (let lang of ['en', 'ru']) {
5+
let config = []
6+
for (let [relativePath, entry] of Object.entries(pages)) {
7+
const path = '/' + lang + relativePath
8+
config.push({
9+
text: entry.text[lang],
10+
children: entry.pages.map(r => path + r)
11+
})
12+
}
13+
navbar[lang] = config
14+
}
15+
16+
export const navbarConfig = navbar

docs/docs/.vuepress/configs/pages.js

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
export default {
2+
'/': {
3+
text: {'en': 'OwnLang', 'ru': 'OwnLang'},
4+
pages: [
5+
'README.md',
6+
'links.md'
7+
]
8+
},
9+
10+
'/basics/': {
11+
text: {'en': 'Basics', 'ru': 'Основы'},
12+
pages: [
13+
'comments.md',
14+
'strings.md',
15+
'types.md',
16+
'loops.md',
17+
'functions.md',
18+
'destructuring_assignment.md',
19+
'pattern_matching.md',
20+
'string_functions.md',
21+
'array_functions.md'
22+
]
23+
},
24+
25+
'/modules/': {
26+
text: {'en': 'Modules', 'ru': 'Модули'},
27+
pages: [
28+
]
29+
}
30+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import pages from './pages'
2+
3+
let sidebar = {}
4+
for (let lang of ['en', 'ru']) {
5+
let config = {}
6+
for (let [relativePath, entry] of Object.entries(pages)) {
7+
const path = '/' + lang + relativePath
8+
config[path] = (path in config) ? config[path] : []
9+
config[path].push({
10+
text: entry.text[lang],
11+
children: entry.pages.map(r => path + r)
12+
})
13+
}
14+
sidebar[lang] = config
15+
}
16+
17+
export const sidebarConfig = sidebar

docs/docs/README.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
home: true
3+
title: OwnLang
4+
heroText: OwnLang
5+
tagline: Dynamic functional programming language
6+
actions:
7+
- text: 🇺🇸 English
8+
link: /en/
9+
type: primary
10+
- text: 🇷🇺 Русский
11+
link: /ru/
12+
type: primary
13+
footer: © 2023 aNNiMON
14+
---
15+
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
arr = ["a", "b", "c"]
2+
extract(var1, var2, var3) = arr
3+
print var1 // a
4+
print var2 // b
5+
print var3 // c
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
arr = ["a", "b", "c"]
2+
var1 = arr[0]
3+
var2 = arr[1]
4+
var3 = arr[2]
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
map = {"key1": 1, "test", "text"}
2+
extract(var1, var2) = map
3+
println var1 // [key1, 1]
4+
println var2 // [test, text]
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
extract(x, , z) = [93, 58, 90]
2+
println x // 93
3+
println z // 90

0 commit comments

Comments
 (0)