space->space-old, homepage written with picocss

This commit is contained in:
DarkCat09 2023-03-16 15:05:58 +04:00
parent b1769ade0c
commit fa88138bc2
37 changed files with 544 additions and 48 deletions

View file

@ -1,2 +0,0 @@
www.dc09.ru
dc09.ru

1
.gitignore vendored
View file

@ -7,3 +7,4 @@ node_modules/
# IDE # IDE
.vscode/ .vscode/
.idea/

5
css/pico.min.css vendored Normal file

File diff suppressed because one or more lines are too long

1
css/pico.min.css.map Normal file

File diff suppressed because one or more lines are too long

14
dc09.js
View file

@ -3,9 +3,13 @@ const path = require('path')
const cp = require('child_process') const cp = require('child_process')
const process = require('process') const process = require('process')
//const exec = cp.execSync
/* Debug option */
const debug = false
/* ************ */
const exec = (cmd) => { const exec = (cmd) => {
console.log(`Exec: ${cmd}`) if (debug)
console.log(`Exec: ${cmd}`)
return cp.execSync(cmd) return cp.execSync(cmd)
} }
@ -18,6 +22,7 @@ const red = '\033[1;31m'
const green = '\033[1;32m' const green = '\033[1;32m'
const yellow = '\033[1;33m' const yellow = '\033[1;33m'
const blue = '\033[1;34m' const blue = '\033[1;34m'
const purple = '\033[1;35m'
const bold = '\033[1m' const bold = '\033[1m'
const reset = '\033[0m' const reset = '\033[0m'
@ -83,7 +88,10 @@ function buildAll() {
function buildOne(dir) { function buildOne(dir) {
print(`${bold}Building:${reset} ${dir}`) print(
`${bold}Building:${reset} ${dir}`,
false, '>', purple,
)
const config = `${dir}/webpage.json` const config = `${dir}/webpage.json`
if (!fs.existsSync(config)) { if (!fs.existsSync(config)) {

60
index.hbs Normal file
View file

@ -0,0 +1,60 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Hi! I'm Andrew aka DarkCat09, a 13-years-old fullstack developer from Russia.">
<title>DarkCat09's Homepage</title>
<link rel="stylesheet" href="css/pico.min.css">
<script src="js/script.js"></script>
</head>
<body>
<main class="container">
<article>
<hgroup>
<h1>Hi! I'm Andrew</h1>
<h2>
<b>aka @DarkCat09</b><br>
<span id="age">13</span>-years-old
fullstack developer
</h2>
</hgroup>
<div class="grid">
{{#each profiles}}
<div>
<a href="{{url}}">
{{name}}
</a>
</div>
{{/each}}
</div>
<div>
{{#each about}}
<div>
{{#if list}}
<details>
<summary>{{{listTitle}}}</summary>
<ul>
{{#each list}}
<li>{{{this}}}</li>
{{/each}}
</ul>
</details>
{{else if expand}}
<details>
<summary>{{{expandTitle}}}</summary>
{{{expand}}}
</details>
{{else}}
{{{content}}}
{{/if}}
</div>
{{/each}}
</div>
</article>
<article>
...
</article>
</main>
</body>
</html>

View file

@ -1,11 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="refresh" content="0;url=/space">
<title>Redirect to Homepage</title>
</head>
<body>
<a href="/space">Redirect to Homepage</a>
</body>
</html>

437
index.json Normal file
View file

@ -0,0 +1,437 @@
{
"about": [
{
"icon": "fa-solid fa-calendar-days",
"content": "Birthday: July, 2009"
},
{
"icon": "fa-solid fa-location-dot",
"content": "Russia, Ulyanovsk"
},
{
"icon": "fa-solid fa-headphones",
"list": [
"Linkin Park",
"One Direction",
"Set It Off",
"Imagine Dragons",
"Дайте танк (!)",
"Pizza/Пицца"
],
"listTitle": "Fav Music Bands"
},
{
"icon": "fa-solid fa-desktop",
"content": "Manjaro KDE",
"expand": "<pre id=\"inxi\"></pre>",
"expandTitle": "<code>inxi -Fxz</code>"
}
],
"profiles": [
{
"icon": "fa-brands fa-git-alt",
"url": "https://git.dc09.ru/DarkCat09",
"name": "Gitea",
"user": "DarkCat09"
},
{
"icon": "fa-brands fa-github",
"url": "https://github.com/DarkCat09",
"name": "GitHub",
"user": "DarkCat09"
},
{
"icon": "fa-solid fa-envelope",
"url": "mailto:a.chehckenev@yandex.ru",
"name": "E-mail",
"user": "a.chechkenev",
"copy": "a.chechkenev@yandex.ru"
},
{
"icon": "fa-brands fa-telegram",
"url": "https://t.me/darkcat09",
"name": "Telegram",
"user": "@darkcat09"
},
{
"icon": "fa-brands fa-discord",
"url": "https://discord.com/app",
"name": "Discord",
"user": "DarkCat09#5587",
"copy": "DarkCat09#5587"
},
{
"icon": "fa-solid fa-4",
"url": "https://4pda.to/forum/index.php?showuser=8898436",
"name": "4PDA",
"user": "8898436"
}
],
"langs": [
{
"icon": "fa-brands fa-python",
"name": "Python",
"id1": "py",
"id2": "python",
"skills": [
"Basics",
"OOP",
"PEP8, MyPy",
"Unpacking, filter/map",
"List/dict comprehension",
"Flask",
"PyPI packaging",
"Unittests",
"MkDocs",
"Lots of modules"
],
"projects": [
{
"url": "https://github.com/DarkCat09/python-aternos",
"name": "python-aternos",
"stars": 51
},
{
"url": "https://github.com/DarkCat09/python-scripts",
"name": "python-scripts",
"stars": 5
},
{
"url": "https://github.com/DarkCat09/showdialog",
"name": "showdialog",
"stars": 0
},
{
"url": "https://github.com/DarkCat09/randomus",
"name": "randomus",
"stars": 0
},
{
"url": "https://github.com/DarkCat09/knigavuhe",
"name": "knigavuhe",
"stars": 0
},
{
"url": "https://gist.github.com/DarkCat09/1e2d1c79d038392adab5280d79626eab",
"name": "discord bots",
"stars": 1
},
{
"url": "https://gist.github.com/DarkCat09/b53a72d94786aed696372e889a3b7885",
"name": "bb pixel art",
"stars": 1
}
]
},
{
"icon": "fa-brands fa-html5",
"name": "HTML & CSS",
"id1": "css",
"id2": "css",
"skills": [
"<img src=\"https://lesscss.org/public/img/less_logo.png\" alt=\"{less}\">",
"Handlebars",
"HTML, CSS basics",
"Forms, inputs",
"Animations",
"Flexboxes",
"Grid (learning)"
],
"projects": [
{
"url": "https://codeberg.org/DarkCat09/pages-src",
"name": "this page",
"stars": 0
},
{
"url": "https://github.com/DarkCat09/cmdsminew",
"name": "cmdsmine",
"stars": 0
},
{
"url": "https://github.com/DarkCat09/monolight",
"name": "monolight",
"stars": 0
}
]
},
{
"icon": "fa-brands fa-square-js",
"name": "JavaScript",
"id1": "js",
"id2": "js",
"skills": [
"Basics",
"Loops, conditions",
"Sort, filter, etc.",
"Arrow expresions",
"Destructuring",
"Promises, async/await",
"DOM, Event Handlers",
"2D Canvas",
"Handlebars",
"OOP (learning)",
"NodeJS & NPM (learning)"
],
"projects": [
{
"url": "https://codeberg.org/DarkCat09/pages-src",
"name": "this page",
"stars": 0
},
{
"url": "https://codeberg.org/DarkCat09/pages-src/src/branch/main/dc09.js",
"name": "build script (nodejs)",
"stars": 0
},
{
"url": "https://github.com/DarkCat09/monolight",
"name": "monolight",
"stars": 0
}
]
},
{
"svg": true,
"icon": "svg/kotlin.svg",
"name": "Kotlin",
"id1": "kt",
"id2": "kotlin",
"skills": [
"(currently learning)",
"Basics",
"If, when",
"Loops, ranges",
"Lists, Maps",
"OOP, data classes",
"Lambdas, Vararg",
"Null safety operators",
"Android development"
],
"projects": [
{
"url": "https://github.com/DarkCat09/helloapp",
"name": "helloapp",
"stars": 0
},
{
"url": "https://github.com/DarkCat09/replace-input",
"name": "replace-input",
"stars": 0
}
]
},
{
"icon": "fa-solid fa-hashtag",
"name": "CSharp",
"id1": "cs",
"id2": "csharp",
"skills": [
"Syntax",
"Loops, conditions",
"WinForms",
"MySql.Data",
"Tuples, destructuring",
"Null safety operators"
],
"projects": [
{
"url": "https://github.com/DarkCat09/dumptool",
"name": "windows dump tool",
"stars": 0
},
{
"url": "https://github.com/DarkCat09/AchSmartHome",
"name": "AchSmartHome",
"stars": 0
},
{
"url": "https://github.com/DarkCat09/RecurseWinFormsTest",
"name": "recursion example",
"stars": 0
},
{
"url": "https://github.com/DarkCat09/Tariffs",
"name": "tariffs",
"stars": 0
}
]
},
{
"icon": "fa-brands fa-windows",
"name": "VBScript",
"id1": "vbs",
"id2": "vbs",
"skills": [
"Syntax",
"Arrays",
"Loops, conditions",
"Message boxes",
"WScript.Shell",
"FileSystemObject",
"Registry Editing"
],
"projects": [
{
"url": "https://github.com/DarkCat09/vbscripting",
"name": "vbscripting",
"stars": 0
},
{
"url": "https://github.com/DarkCat09/vbs-season-wallpaper",
"name": "season-wallpaper",
"stars": 0
},
{
"url": "https://gist.github.com/DarkCat09/6b7226dc5afea2f4b5c8f6407e323a65",
"name": "add-to-startup",
"stars": 0
},
{
"url": "https://gist.github.com/DarkCat09/5f12095cbef4d299f2b8124410ca3e48",
"name": "winrestart",
"stars": 0
}
]
},
{
"icon": "fa-solid fa-terminal",
"name": "Bash",
"id1": "bash",
"id2": "bash",
"skills": [
"Basics",
"Loops and conditions",
"Functions",
"Crontab",
"Some escape codes",
"Arrays (learning)"
],
"projects": [
{
"url": "https://github.com/DarkCat09/saveyoureyes",
"name": "save-your-eyes",
"stars": 0
},
{
"url": "https://gist.github.com/DarkCat09/cba140c921a5bed7f042e157b2319808",
"name": "1compiler api",
"stars": 0
},
{
"url": "https://gist.github.com/DarkCat09/29e4628664dc53666f0b6242395aeab8",
"name": "bashrc",
"stars": 0
},
{
"url": "https://gist.github.com/DarkCat09/eb40c544a4a722bb3a62d23e8ad418cb",
"name": "floating window",
"stars": 0
}
]
},
{
"icon": "fa-brands fa-java",
"name": "Java",
"id1": "java",
"id2": "java",
"skills": [
"Syntax",
"Loops, conditions",
"Lists, HashMap",
"JavaFX + SceneBuilder",
"Android development"
],
"projects": [
{
"url": "https://github.com/DarkCat09/blockapp",
"name": "blockapp",
"stars": 0
},
{
"url": "https://gist.github.com/DarkCat09/ce7286f7acca79177b440bae9251e819",
"name": "magic substring",
"stars": 0
},
{
"url": "https://github.com/DarkCat09/mtkfwtools",
"name": "mtkfwtools",
"stars": 0
},
{
"url": "https://github.com/DarkCat09/virustotal-gui-fx",
"name": "virustotal-gui-fx",
"stars": 0
}
]
},{
"icon": "fa-brands fa-php",
"name": "PHP",
"id1": "php",
"id2": "php",
"skills": [
"Variables",
"Arrays",
"Conditions, loops",
"Headers",
"Drawing images",
"MySQLi",
"Bcrypt"
],
"projects": [
{
"url": "https://github.com/DarkCat09/englearn",
"name": "englearn",
"stars": 0
}
]
},
{
"icon": "fa-brands fa-android",
"name": "Smali",
"id1": "smali",
"id2": "smali",
"skills": [
"Main syntax",
"Can read non-obfuscated code",
"Can change simple code"
],
"projects": []
}
],
"vps": "Hosted on timeweb.cloud",
"selfhosted": [
{
"icon": "fa-solid fa-house",
"domain": "dc09.ru"
},
{
"icon": "fa-solid fa-magnifying-glass",
"domain": "searx.dc09.ru"
},
{
"icon": "fa-brands fa-git-alt",
"domain": "git.dc09.ru"
},
{
"icon": "fa-solid fa-play",
"domain": "yt.dc09.ru"
},
{
"icon": "fa-solid fa-link",
"domain": "url.dc09.ru"
},
{
"icon": "fa-solid fa-key",
"domain": "pswd.dc09.ru"
},
{
"icon": "fa-solid fa-cloud",
"domain": "cloud.dc09.ru"
},
{
"icon": "fa-brands fa-wikipedia-w",
"domain": "wt.dc09.ru"
}
]
}

6
js/script.js Normal file
View file

@ -0,0 +1,6 @@
addEventListener('load', () => {
const birthday = new Date(2009, 6, 13, 13, 30)
const delta = new Date() - birthday
const age = delta / (1000 * 3600 * 24 * 365.25)
document.getElementById('age').innerText = Math.floor(age)
})

View file

Before

Width:  |  Height:  |  Size: 365 KiB

After

Width:  |  Height:  |  Size: 365 KiB

View file

Before

Width:  |  Height:  |  Size: 259 KiB

After

Width:  |  Height:  |  Size: 259 KiB

View file

Before

Width:  |  Height:  |  Size: 475 KiB

After

Width:  |  Height:  |  Size: 475 KiB

View file

Before

Width:  |  Height:  |  Size: 319 KiB

After

Width:  |  Height:  |  Size: 319 KiB

View file

@ -434,35 +434,22 @@
"projects": [] "projects": []
} }
], ],
"vps": "Hosted on timeweb.cloud",
"selfhosted": [ "selfhosted": [
{ {
"icon": "fa-solid fa-house", "icon": "fa-solid fa-house",
"domain": "dc09.ru" "domain": "dc09.ru"
}, },
{
"icon": "fa-solid fa-magnifying-glass",
"domain": "searx.dc09.ru"
},
{ {
"icon": "fa-brands fa-git-alt", "icon": "fa-brands fa-git-alt",
"domain": "git.dc09.ru" "domain": "git.dc09.ru"
}, },
{
"icon": "fa-solid fa-play",
"domain": "yt.dc09.ru"
},
{ {
"icon": "fa-solid fa-link", "icon": "fa-solid fa-link",
"domain": "url.dc09.ru" "domain": "url.dc09.ru"
}, },
{ {
"icon": "fa-solid fa-key", "icon": "fa-solid fa-address-book",
"domain": "pswd.dc09.ru" "domain": "sync.dc09.ru"
},
{
"icon": "fa-solid fa-cloud",
"domain": "cloud.dc09.ru"
}, },
{ {
"icon": "fa-brands fa-wikipedia-w", "icon": "fa-brands fa-wikipedia-w",

View file

@ -1,5 +1,5 @@
System: System:
Kernel: 6.1.9-1-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 12.2.1 Kernel: 6.1.12-1-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 12.2.1
Desktop: KDE Plasma v: 5.26.5 Distro: Manjaro Linux base: Arch Linux Desktop: KDE Plasma v: 5.26.5 Distro: Manjaro Linux base: Arch Linux
Machine: Machine:
Type: Desktop System: ASUS product: N/A v: N/A serial: N/A Type: Desktop System: ASUS product: N/A v: N/A serial: N/A
@ -8,22 +8,22 @@ Machine:
CPU: CPU:
Info: 6-core model: Intel Core i5-10400 bits: 64 type: MT MCP Info: 6-core model: Intel Core i5-10400 bits: 64 type: MT MCP
arch: Comet Lake rev: 3 cache: L1: 384 KiB L2: 1.5 MiB L3: 12 MiB arch: Comet Lake rev: 3 cache: L1: 384 KiB L2: 1.5 MiB L3: 12 MiB
Speed (MHz): avg: 1675 high: 2900 min/max: 800/4300 cores: 1: 2900 2: 2900 Speed (MHz): avg: 2200 high: 2900 min/max: 800/4300 cores: 1: 2900 2: 2900
3: 801 4: 2900 5: 800 6: 800 7: 800 8: 800 9: 801 10: 2900 11: 2900 12: 800 3: 800 4: 800 5: 2900 6: 800 7: 2900 8: 800 9: 2900 10: 2900 11: 2900
bogomips: 69629 12: 2900 bogomips: 69629
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Graphics: Graphics:
Device-1: Intel CometLake-S GT2 [UHD Graphics 630] vendor: ASUSTeK Device-1: Intel CometLake-S GT2 [UHD Graphics 630] vendor: ASUSTeK
driver: i915 v: kernel arch: Gen-9.5 bus-ID: 00:02.0 driver: i915 v: kernel arch: Gen-9.5 bus-ID: 00:02.0
Display: x11 server: X.Org v: 21.1.6 driver: X: loaded: modesetting Display: x11 server: X.Org v: 21.1.7 driver: X: loaded: modesetting
dri: iris gpu: i915 resolution: 1920x1080~60Hz dri: iris gpu: i915 resolution: 1920x1080
API: OpenGL v: 4.6 Mesa 22.3.4 renderer: Mesa Intel UHD Graphics 630 (CML API: OpenGL v: 4.6 Mesa 22.3.5 renderer: Mesa Intel UHD Graphics 630 (CML
GT2) direct-render: Yes GT2) direct-render: Yes
Audio: Audio:
Device-1: Intel vendor: ASUSTeK driver: snd_hda_intel v: kernel Device-1: Intel vendor: ASUSTeK driver: snd_hda_intel v: kernel
bus-ID: 00:1f.3 bus-ID: 00:1f.3
Sound API: ALSA v: k6.1.9-1-MANJARO running: yes Sound API: ALSA v: k6.1.12-1-MANJARO running: yes
Sound Server-1: JACK v: 1.9.21 running: no Sound Server-1: JACK v: 1.9.22 running: no
Sound Server-2: PulseAudio v: 16.1 running: yes Sound Server-2: PulseAudio v: 16.1 running: yes
Sound Server-3: PipeWire v: 0.3.65 running: yes Sound Server-3: PipeWire v: 0.3.65 running: yes
Network: Network:
@ -34,20 +34,23 @@ Network:
v: kernel port: 3000 bus-ID: 02:00.0 v: kernel port: 3000 bus-ID: 02:00.0
IF: wlp2s0 state: down mac: <filter> IF: wlp2s0 state: down mac: <filter>
Drives: Drives:
Local Storage: total: 1.36 TiB used: 137.79 GiB (9.9%) Local Storage: total: 1.36 TiB used: 176.14 GiB (12.6%)
ID-1: /dev/nvme0n1 vendor: Western Digital model: WD Blue SN570 500GB ID-1: /dev/nvme0n1 vendor: Western Digital model: WD Blue SN570 500GB
size: 465.76 GiB temp: 31.9 C size: 465.76 GiB temp: 33.9 C
ID-2: /dev/sda vendor: Western Digital model: WD10EZEX-00BBHA0 ID-2: /dev/sda vendor: Western Digital model: WD10EZEX-00BBHA0
size: 931.51 GiB size: 931.51 GiB
Partition: Partition:
ID-1: / size: 423.37 GiB used: 137.79 GiB (32.5%) fs: ext4 ID-1: / size: 423.37 GiB used: 176.14 GiB (41.6%) fs: ext4
dev: /dev/nvme0n1p2 dev: /dev/nvme0n1p2
ID-2: /boot/efi size: 299.4 MiB used: 288 KiB (0.1%) fs: vfat ID-2: /boot/efi size: 299.4 MiB used: 288 KiB (0.1%) fs: vfat
dev: /dev/nvme0n1p1 dev: /dev/nvme0n1p1
Swap: Swap:
ID-1: swap-1 type: partition size: 34.26 GiB used: 0 KiB (0.0%) ID-1: swap-1 type: partition size: 34.26 GiB used: 0 KiB (0.0%)
dev: /dev/nvme0n1p3 dev: /dev/nvme0n1p3
Sensors:
System Temperatures: cpu: 26.0 C mobo: N/A
Fan Speeds (RPM): N/A
Info: Info:
Processes: 280 Uptime: 1h 25m Memory: 30.21 GiB used: 5.38 GiB (17.8%) Processes: 279 Uptime: 2h 12m Memory: 30.21 GiB used: 4.4 GiB (14.6%)
Init: systemd Compilers: gcc: 12.2.1 clang: 15.0.7 Packages: 1636 Shell: Zsh Init: systemd Compilers: gcc: 12.2.1 clang: 15.0.7 Packages: 1642 Shell: Zsh
v: 5.9 inxi: 3.3.25 v: 5.9 inxi: 3.3.25

View file

Before

Width:  |  Height:  |  Size: 501 B

After

Width:  |  Height:  |  Size: 501 B

View file

@ -1,6 +1,6 @@
{ {
"html": [], "html": [],
"hb": ["index.handlebars"], "hb": ["index.hbs"],
"less": ["styles.less"], "less": ["styles.less"],
"css": [], "css": [],
"js": [ "js": [

View file

@ -1,4 +1,5 @@
{ {
"html": ["index.html"], "hb": ["index.hbs"],
"other": [".domains"] "js": ["js/script.js"],
"other": ["css/"]
} }