Вроде готово
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