Вроде готово
This commit is contained in:
commit
87d26112d5
13 changed files with 187 additions and 0 deletions
8
.editorconfig
Normal file
8
.editorconfig
Normal 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
8
.gitattributes
vendored
Normal 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
24
.gitignore
vendored
Normal 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
76
main.v
Normal 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
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
BIN
static/em_wip.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 5.5 KiB |
23
static/index.css
Normal file
23
static/index.css
Normal 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
41
static/index.html
Normal 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
BIN
static/soon.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 4 KiB |
BIN
static/stealer.webp
Normal file
BIN
static/stealer.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.7 KiB |
BIN
static/throne.webp
Normal file
BIN
static/throne.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 9.9 KiB |
BIN
static/v-logo.png
Normal file
BIN
static/v-logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 28 KiB |
7
v.mod
Normal file
7
v.mod
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
Module {
|
||||||
|
name: 'випобеда.рф'
|
||||||
|
description: 'ура победа'
|
||||||
|
version: '0.0.0'
|
||||||
|
license: 'MS-PL'
|
||||||
|
dependencies: []
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue