commit 87d26112d50c051706285ed00b75f74b70b2fe34 Author: Kira Edges Date: Fri May 16 10:43:19 2025 +0400 Вроде готово diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..01072ca --- /dev/null +++ b/.editorconfig @@ -0,0 +1,8 @@ +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true + +[*.v] +indent_style = tab diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9a98968 --- /dev/null +++ b/.gitattributes @@ -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 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2a3c60e --- /dev/null +++ b/.gitignore @@ -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 diff --git a/main.v b/main.v new file mode 100644 index 0000000..929c762 --- /dev/null +++ b/main.v @@ -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) +} diff --git a/static/em_soon.webp b/static/em_soon.webp new file mode 100644 index 0000000..b45b2d4 Binary files /dev/null and b/static/em_soon.webp differ diff --git a/static/em_wip.webp b/static/em_wip.webp new file mode 100644 index 0000000..2d3ad74 Binary files /dev/null and b/static/em_wip.webp differ diff --git a/static/index.css b/static/index.css new file mode 100644 index 0000000..1dc92b4 --- /dev/null +++ b/static/index.css @@ -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; +} diff --git a/static/index.html b/static/index.html new file mode 100644 index 0000000..455cd8e --- /dev/null +++ b/static/index.html @@ -0,0 +1,41 @@ + + + + + ВИПОБЕДА + + + + + + Логотип языка программирования V +

Ви Победа

+

+ уже +

5

+ лет + (примерно)
+

+

2025

+ это год очередной ви победы

+

Почему +

2025

+ это очередной год ви победы?

+
+ ви победа уже совсем скоро + эмодзи скорой ви победы + эмодзи того, что ви победа уже в прогрессе +
+

veb не гоняет статику + (не верим)

+ александер крадёт код из исходников go +

Самые быстрые отвечалы + (по версии nekoedges)

+ Наш сударь восседает на своём троне + + + + + \ No newline at end of file diff --git a/static/soon.webp b/static/soon.webp new file mode 100644 index 0000000..634ca6f Binary files /dev/null and b/static/soon.webp differ diff --git a/static/stealer.webp b/static/stealer.webp new file mode 100644 index 0000000..0d525b9 Binary files /dev/null and b/static/stealer.webp differ diff --git a/static/throne.webp b/static/throne.webp new file mode 100644 index 0000000..0697042 Binary files /dev/null and b/static/throne.webp differ diff --git a/static/v-logo.png b/static/v-logo.png new file mode 100644 index 0000000..b91c72f Binary files /dev/null and b/static/v-logo.png differ diff --git a/v.mod b/v.mod new file mode 100644 index 0000000..225eca0 --- /dev/null +++ b/v.mod @@ -0,0 +1,7 @@ +Module { + name: 'випобеда.рф' + description: 'ура победа' + version: '0.0.0' + license: 'MS-PL' + dependencies: [] +}