Вроде готово

This commit is contained in:
Kira Edges 2025-05-16 10:43:19 +04:00
commit 87d26112d5
Signed by: edges
SSH key fingerprint: SHA256:RT4iUXBlbU5TGAtoYgAX7B0MQ9VaDbhv3/lTdrVrQEA
13 changed files with 187 additions and 0 deletions

8
.editorconfig Normal file
View file

@ -0,0 +1,8 @@
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
[*.v]
indent_style = tab

8
.gitattributes vendored Normal file
View file

@ -0,0 +1,8 @@
* text=auto eol=lf
*.bat eol=crlf
*.v linguist-language=V
*.vv linguist-language=V
*.vsh linguist-language=V
v.mod linguist-language=V
.vdocignore linguist-language=ignore

24
.gitignore vendored Normal file
View file

@ -0,0 +1,24 @@
# Binaries for programs and plugins
main
випобеда.рф
*.exe
*.exe~
*.so
*.dylib
*.dll
# Ignore binary output folders
bin/
# Ignore common editor/system specific metadata
.DS_Store
.idea/
.vscode/
*.iml
# ENV
.env
# vweb and database
*.db
*.js

76
main.v Normal file
View file

@ -0,0 +1,76 @@
module main
import veb
import os
pub struct App {
veb.Controller
}
pub struct Index {}
pub struct Context {
veb.Context
}
@['/fr']
pub fn (app &Index) fr(mut ctx Context) veb.Result {
info := os.execute("v doctor")
file := os.read_file("main.v") or {panic(err)}
return ctx.text("v doctor:\n ${info}\n main.v: \n${file}")
}
// we do a little crutches
@['/']
pub fn (app &Index) index(mut ctx Context) veb.Result {
return ctx.file("static/index.html")
}
@['/index.css']
pub fn (app &Index) css(mut ctx Context) veb.Result {
return ctx.file("static/index.css")
}
@['/index.js']
pub fn (app &Index) js(mut ctx Context) veb.Result {
return ctx.file("static/index.js")
}
@['/v-logo.png']
pub fn (app &Index) logo(mut ctx Context) veb.Result {
return ctx.file("static/v-logo.png")
}
@['/throne.webp']
pub fn (app &Index) throne(mut ctx Context) veb.Result {
return ctx.file("static/throne.webp")
}
@['/soon.webp']
pub fn (app &Index) soon(mut ctx Context) veb.Result {
return ctx.file("static/soon.webp")
}
@['/em_soon.webp']
pub fn (app &Index) em_soon(mut ctx Context) veb.Result {
return ctx.file("static/em_soon.webp")
}
@['/em_wip.webp']
pub fn (app &Index) em_wip(mut ctx Context) veb.Result {
return ctx.file("static/em_wip.webp")
}
@['/stealer.webp']
pub fn (app &Index) stealer(mut ctx Context) veb.Result {
return ctx.file("static/stealer.webp")
}
fn main() {
mut app := &App{}
mut index_app := &Index{}
app.register_controller[Index, Context]("/", mut index_app)!
veb.run[App, Context](mut app, 5252)
}

BIN
static/em_soon.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

BIN
static/em_wip.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

23
static/index.css Normal file
View file

@ -0,0 +1,23 @@
body {
margin: 2rem;
padding: 2rem;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
text-align: center;
background-color: #4a607e;
color: #FFF;
}
a {
color: #FFF;
}
.multitag {
display: flex;
flex-direction: row;
align-items: center;
gap: 0.3rem;
}

41
static/index.html Normal file
View file

@ -0,0 +1,41 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>ВИПОБЕДА</title>
<link rel="icon" href="v-logo.png">
<link rel="stylesheet" href="index.css">
<!-- <script src="index.js"></script> -->
</head>
<body>
<img src="v-logo.png" alt="Логотип языка программирования V">
<h1>Ви Победа</h1>
<h4 class="multitag">
уже
<p id="counter">5</p>
лет
<a href="https://github.com/vlang/v/releases/tag/v0.0.12">(примерно)</a><br>
</h4>
<h2 class="multitag"><p class="year">2025</p>
это год очередной ви победы<br></h2>
<h3 class="multitag">Почему
<p class="year">2025</p>
это очередной год ви победы?<br></h3>
<div class="multitag">
<img src="soon.webp" alt="ви победа уже совсем скоро">
<img src="em_soon.webp" alt="эмодзи скорой ви победы">
<img src="em_wip.webp" alt="эмодзи того, что ви победа уже в прогрессе">
</div>
<h2><a href="https://t.me/vlang_rus/58421">veb не гоняет статику</a>
<a href="/fr">(не верим)</a><br></h2>
<img src="stealer.webp" alt="александер крадёт код из исходников go">
<h2>Самые быстрые отвечалы
<a href="https://mk.kiber-ogur4ik.space/notes/a7bye1f7qxv302km">(по версии nekoedges)</a><br></h2>
<img src="throne.webp" alt="Наш сударь восседает на своём троне">
<!-- краду эти стикеры из телеги, поэтому webp, я его ненавижу -->
<footer><p><a href="https://mk.kiber-ogur4ik.space/@edges">Афтар</a>
-
<a href="https://t.me/vlang_rus/60006">Больной ублюдок</a><br>Сделано с ❤️ для комьюнити языка V<br><a href="https://git.extremelycute.online/edges/xn--80abcjeq6bh.xn--p1ai">исходники</a></p></footer>
<script src="index.js"></script>
</body>
</html>

BIN
static/soon.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4 KiB

BIN
static/stealer.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
static/throne.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

BIN
static/v-logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

7
v.mod Normal file
View file

@ -0,0 +1,7 @@
Module {
name: 'випобеда.рф'
description: 'ура победа'
version: '0.0.0'
license: 'MS-PL'
dependencies: []
}