From 3b6786ebe0b5e06a206a6d110ccb5c5c9e560056 Mon Sep 17 00:00:00 2001 From: Ivan Polyakov Date: Sat, 30 Apr 2022 22:13:38 +0300 Subject: [PATCH 1/5] build system --- Makefile | 58 +++++++++++++++++++++++++++++++++++++++++ README.md | 11 +++++--- config.mk | 23 ++++++++++++++++ hyde.scm | 20 -------------- scripts/minify-html.sed | 1 + 5 files changed, 89 insertions(+), 24 deletions(-) create mode 100644 Makefile create mode 100644 config.mk delete mode 100644 hyde.scm create mode 100644 scripts/minify-html.sed diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..32fe4a5 --- /dev/null +++ b/Makefile @@ -0,0 +1,58 @@ +# Copyright (C) 2022 Ivan Polyakov +# +# This file is part of vilor's website. +# +# Vilor's website is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Vilor's website is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +include config.mk + +DIRS := $(shell find $(SRCDIR)/pages/* -type d | sed 's/$(SRCDIR)\/pages/$(OUTDIR)/') + +SRCPAGES := $(shell find $(SRCDIR)/pages/* -name '*.scm') + +SRCSTYLES := $(shell find $(SRCDIR)/styles/* -name '*.scm') +OUTSTYLES := $(shell find $(SRCDIR)/styles/ -type f -name '*.scm' | sed 's/$(SRCDIR)\/styles/$(OUTDIR)/') +OUTSTYLES := $(OUTSTYLES:%.scm=%.css) + +SRCJS := $(shell find $(SRCDIR)/scripts/* -name '*.js') +OUTJS := $(shell find $(SRCDIR)/scripts/ -type f -name '*.js' | sed 's/$(SRCDIR)\/scripts/$(OUTDIR)/') + +all: $(OUTDIR) $(STATICDIR) pages $(OUTSTYLES) $(OUTJS) + +pages: $(SRCPAGES) + for page in $(SRCPAGES) ; do \ + $(SCHEME) $(SCHEMEFLAGS) $$page \ + | sed -f scripts/minify-html.sed \ + > $$(echo $$page | sed 's/.*\/pages/dist/' | sed 's/scm/xhtml/') \ + ; done + +$(OUTSTYLES): $(SRCSTYLES) + $(SCHEME) $(SCHEMEFLAGS) $< > $@ + +$(OUTJS): $(SRCJS) + for script in $(SRCJS) ; do \ + cp $$script $$(echo $$script | sed 's/.*\/scripts/dist/') \ + ; done + +$(OUTDIR): + mkdir -p $(OUTDIR) + mkdir -p $(DIRS) + +$(STATICDIR): $(OUTDIR) + cp -rf $@/* $< || echo $(STATICDIR) "dir is empty" + cp COPYING dist/ + +clean: + rm -rf $(OUTDIR) + +.PHONY: all $(OUTDIR) $(STATICDIR) clean diff --git a/README.md b/README.md index 1702d69..91c3905 100644 --- a/README.md +++ b/README.md @@ -3,11 +3,14 @@ website Dependencies ------------ Chicken Scheme: http://www.call-cc.org/ -Hyde egg: http://wiki.call-cc.org/eggref/5/hyde +sxml-serializer egg: http://wiki.call-cc.org/eggref/5/sxml-serializer +scss egg: http://wiki.call-cc.org/eggref/5/scss -Usage ------ -See `hyde --help`. +Building +-------- +``` + make +``` License ------- diff --git a/config.mk b/config.mk new file mode 100644 index 0000000..4294469 --- /dev/null +++ b/config.mk @@ -0,0 +1,23 @@ +# Copyright (C) 2022 Ivan Polyakov +# +# This file is part of vilor's website. +# +# Vilor's website is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Vilor's website is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +SCHEME=csi +SCHEMEFLAGS=-s + +SRCDIR=src +STATICDIR=public +OUTDIR=dist diff --git a/hyde.scm b/hyde.scm deleted file mode 100644 index 154d81f..0000000 --- a/hyde.scm +++ /dev/null @@ -1,20 +0,0 @@ -;; Copyright (C) 2022 Ivan Polyakov -;; -;; This file is part of vilor's website. -;; -;; Vilor's website is free software: you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. -;; -;; Vilor's website is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. -;; -;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see . - -(import hyde) - -(output-dir "dist") diff --git a/scripts/minify-html.sed b/scripts/minify-html.sed new file mode 100644 index 0000000..5edf340 --- /dev/null +++ b/scripts/minify-html.sed @@ -0,0 +1 @@ +:a;N;$!ba;s/>\s* Date: Sat, 30 Apr 2022 22:21:42 +0300 Subject: [PATCH 2/5] modular layouts --- layouts/default.sxml | 52 -------------------------- src/components/footer.scm | 38 +++++++++++++++++++ src/components/header.scm | 34 +++++++++++++++++ layouts/clean.sxml => src/general.scm | 12 ++---- src/templates/clean.scm | 39 +++++++++++++++++++ src/templates/default.scm | 54 +++++++++++++++++++++++++++ 6 files changed, 168 insertions(+), 61 deletions(-) delete mode 100644 layouts/default.sxml create mode 100644 src/components/footer.scm create mode 100644 src/components/header.scm rename layouts/clean.sxml => src/general.scm (68%) create mode 100644 src/templates/clean.scm create mode 100644 src/templates/default.scm diff --git a/layouts/default.sxml b/layouts/default.sxml deleted file mode 100644 index b99c9f5..0000000 --- a/layouts/default.sxml +++ /dev/null @@ -1,52 +0,0 @@ -;; Copyright (C) 2022 Ivan Polyakov -;; -;; This file is part of vilor's website. -;; -;; Vilor's website is free software: you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. -;; -;; Vilor's website is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. -;; -;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see . - -() -`((xhtml-1.0-strict) - (html (@ (xmlns "http://www.w3.org/1999/xhtml") (xml:lang "en") (lang "en")) - (head - (meta (@ (http-equiv "Content-Type") (content "text/html; charset=ascii"))) - (link (@ (rel "stylesheet") (href "/style.css"))) - (title ,($ 'title))) - (body - (div (@ (class "wrapper")) - (div (@ (class "header")) - (div (@ (class "container")) - (h4 (@ (class "header__logo")) vilor) - (ul (@ (class "header__nav")) - (li (a (@ (href "/index.html")) "Home")) - (li (a (@ (href "/webapps/index.html")) "Web Apps")) - (li (a (@ (href "http://31.184.254.176:8078/")) "Git")) - (li (a (@ (href "/contacts.html")) "Contacts"))))) - - (div (@ (class "content container")) - (h1 (@ (class "content__title")) ,($ 'page-name)) - (div (@ (class "content__description")) ,($ 'page-desc)) - (inject ,contents)) - - (div (@ (class "footer")) - (div (@ (class "footer__authors")) - (div "Content: " (a (@ (href "/contacts.html")) "Ivan Polyakov")) - (div "Design: " (a (@ (href "https://t.me/olnaolna")) "Olga Revenkova"))) - (div (@ (class "links")) - (a (@ (href "http://validator.w3.org/check?uri=referer")) - (img (@ (src "http://www.w3.org/Icons/valid-xhtml10") (alt "Valid XHTML 1.0 Strict") (height 31) (width 88)))) - (a (@ (href "http://31.184.254.176:8078/vilor/website/")) - "Source code") - (a (@ (href "http://www.anybrowser.org/campaign/")) - (img (@ (src "/img/anybrowser3.jpg") - (alt "Viewable With Any Browser")))))))))) diff --git a/src/components/footer.scm b/src/components/footer.scm new file mode 100644 index 0000000..9caca21 --- /dev/null +++ b/src/components/footer.scm @@ -0,0 +1,38 @@ +;; Copyright (C) 2022 Ivan Polyakov +;; +;; This file is part of vilor's website. +;; +;; Vilor's website is free software: you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. +;; +;; Vilor's website is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. +;; +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +(define footer-links + '(("http://validator.w3.org/check?uri=referer" "XHTML 1.0") + ("https://call-cc.org/" "Made with Chicken Scheme") + ("http://31.184.254.176:8078/vilor/website/" "Source code") + ("http://www.anybrowser.org/campaign/" "Any Browser"))) + +(define footer + `(div (@ (class "footer")) + (div (@ (class "footer__authors")) + (div "Content: " + (a (@ (href "/contacts.xhtml")) "Ivan Polyakov")) + (div "Design: " + (a (@ (href "https://t.me/olnaolna")) "Olga Revenkova"))) + + (div (@ (class "footer__links")) + ,(let ((idx -1)) + (map (lambda (l) + (set! idx (+ idx 1)) + `(,(if (> idx 0) '(" | ") '()) + (a (@ (href ,(car l))) ,(cdr l)))) + footer-links))))) diff --git a/src/components/header.scm b/src/components/header.scm new file mode 100644 index 0000000..e9025e8 --- /dev/null +++ b/src/components/header.scm @@ -0,0 +1,34 @@ +;; Copyright (C) 2022 Ivan Polyakov +;; +;; This file is part of vilor's website. +;; +;; Vilor's website is free software: you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. +;; +;; Vilor's website is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. +;; +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +(define header-links + '(("/index.xhtml" "Home") + ("/webapps/index.xhtml" "Web Apps") + ("http://31.184.254.176:8078/" "Git") + ("/contacts.xhtml" "Contacts"))) + +(define header + `(div (@ (class "header")) + (div (@ (class "container")) + (h4 (@ (class "header__logo")) "vilor") + (span (@ (class "header__nav")) + ,(let ((idx -1)) + (map (lambda (l) + (set! idx (+ idx 1)) + `(,(if (> idx 0) '(" | ") '()) + (a (@ (href ,(car l))) ,(cdr l)))) + header-links)))))) diff --git a/layouts/clean.sxml b/src/general.scm similarity index 68% rename from layouts/clean.sxml rename to src/general.scm index d6cd069..02c404d 100644 --- a/layouts/clean.sxml +++ b/src/general.scm @@ -11,15 +11,9 @@ ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. -;; +;; ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . -() -`((xhtml-1.0-strict) - (html (@ (xmlns "http://www.w3.org/1999/xhtml") (xml:lang "en") (lang "en")) - (head - (meta (@ (http-equiv "Content-Type") (content "text/html; charset=ascii"))) - (link (@ (rel "stylesheet") (href "/style.css"))) - (title ,($ 'title))) - (body (inject ,contents)))) +(define xhtml-1.0-doctype + "") diff --git a/src/templates/clean.scm b/src/templates/clean.scm new file mode 100644 index 0000000..bd16273 --- /dev/null +++ b/src/templates/clean.scm @@ -0,0 +1,39 @@ +;; Copyright (C) 2022 Ivan Polyakov +;; +;; This file is part of vilor's website. +;; +;; Vilor's website is free software: you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. +;; +;; Vilor's website is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. +;; +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +(define (clean-tpl + page-title + page-content + #!optional (page-styles '()) (page-scripts '())) + `(html (@ (xmlns "http://www.w3.org/1999/xhtml") + (xml:lang "en") + (lang "en")) + (head + (meta (@ (http-equiv "Content-Type") + (content "text/html; charset=ascii"))) + (meta (@ (name "viewport") + (content "width=device-width, initial-scale=1"))) + + ,(map (lambda (l) + `(link (@ (rel "stylesheet") (href ,l)))) + page-styles) + + (title ,page-title)) + (body + ,page-content + + ,(map (lambda (l) `(script (@ (src ,l)))) page-scripts)))) diff --git a/src/templates/default.scm b/src/templates/default.scm new file mode 100644 index 0000000..c37cbba --- /dev/null +++ b/src/templates/default.scm @@ -0,0 +1,54 @@ +;; Copyright (C) 2022 Ivan Polyakov +;; +;; This file is part of vilor's website. +;; +;; Vilor's website is free software: you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. +;; +;; Vilor's website is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. +;; +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +(load "./src/components/header.scm") +(load "./src/components/footer.scm") + +(define (default-tpl + page-title + page-content + page-name + page-desc + #!optional (page-styles '()) (page-scripts '())) + `(html (@ (xmlns "http://www.w3.org/1999/xhtml") + (xml:lang "en") + (lang "en")) + (head + (meta (@ (http-equiv "Content-Type") + (content "text/html; charset=ascii"))) + (meta (@ (name "viewport") + (content "width=device-width, initial-scale=1"))) + + ,(map (lambda (l) + `(link (@ (rel "stylesheet") (href ,l)))) + page-styles) + + (link (@ (rel "stylesheet") (href "/style.css"))) + + (title ,title)) + (body + ,header + (hr (@ (style "display: none"))) + + (div (@ (class "content container")) + (h1 (@ (class "content__title")) ,page-name) + (div (@ (class "content__description")) ,page-desc) + ,page-content) + + (hr (@ (style "display: none"))) + ,footer + ,(map (lambda (l) `(script (@ (src ,l)))) page-scripts)))) -- 2.36.1 From 86926140b174e6a16404996a4e55755fc917e6c1 Mon Sep 17 00:00:00 2001 From: Ivan Polyakov Date: Sat, 30 Apr 2022 22:22:18 +0300 Subject: [PATCH 3/5] static dir --- public/img/chicken.png | Bin 0 -> 80074 bytes {src => public}/img/under-construction.png | Bin src/img/anybrowser3.jpg | Bin 4251 -> 0 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 public/img/chicken.png rename {src => public}/img/under-construction.png (100%) delete mode 100644 src/img/anybrowser3.jpg diff --git a/public/img/chicken.png b/public/img/chicken.png new file mode 100644 index 0000000000000000000000000000000000000000..fbacd83f86b9eb7484f67b556e2515e70125ec32 GIT binary patch literal 80074 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 BB-H=_ literal 0 HcmV?d00001 diff --git a/src/img/under-construction.png b/public/img/under-construction.png similarity index 100% rename from src/img/under-construction.png rename to public/img/under-construction.png diff --git a/src/img/anybrowser3.jpg b/src/img/anybrowser3.jpg deleted file mode 100644 index fa903c76df56e1d19a8d550ba6cd6c697f95f44c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4251 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 -- 2.36.1 From 3e55e264c706e28bb007cbeb1c1d5e494dd735a5 Mon Sep 17 00:00:00 2001 From: Ivan Polyakov Date: Sat, 30 Apr 2022 23:44:22 +0300 Subject: [PATCH 4/5] styles target fix --- Makefile | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/Makefile b/Makefile index 32fe4a5..9dbd76e 100644 --- a/Makefile +++ b/Makefile @@ -19,15 +19,10 @@ include config.mk DIRS := $(shell find $(SRCDIR)/pages/* -type d | sed 's/$(SRCDIR)\/pages/$(OUTDIR)/') SRCPAGES := $(shell find $(SRCDIR)/pages/* -name '*.scm') - SRCSTYLES := $(shell find $(SRCDIR)/styles/* -name '*.scm') -OUTSTYLES := $(shell find $(SRCDIR)/styles/ -type f -name '*.scm' | sed 's/$(SRCDIR)\/styles/$(OUTDIR)/') -OUTSTYLES := $(OUTSTYLES:%.scm=%.css) - SRCJS := $(shell find $(SRCDIR)/scripts/* -name '*.js') -OUTJS := $(shell find $(SRCDIR)/scripts/ -type f -name '*.js' | sed 's/$(SRCDIR)\/scripts/$(OUTDIR)/') -all: $(OUTDIR) $(STATICDIR) pages $(OUTSTYLES) $(OUTJS) +all: $(OUTDIR) $(STATICDIR) pages styles js pages: $(SRCPAGES) for page in $(SRCPAGES) ; do \ @@ -36,10 +31,13 @@ pages: $(SRCPAGES) > $$(echo $$page | sed 's/.*\/pages/dist/' | sed 's/scm/xhtml/') \ ; done -$(OUTSTYLES): $(SRCSTYLES) - $(SCHEME) $(SCHEMEFLAGS) $< > $@ +styles: $(SRCSTYLES) + for style in $(SRCSTYLES) ; do \ + $(SCHEME) $(SCHEMEFLAGS) $$style \ + > $$(echo $$style | sed 's/.*\/styles/dist/' | sed 's/scm/css/') \ + ; done -$(OUTJS): $(SRCJS) +js: $(SRCJS) for script in $(SRCJS) ; do \ cp $$script $$(echo $$script | sed 's/.*\/scripts/dist/') \ ; done -- 2.36.1 From 6dbdc9fe0650a61660702fb204a80a6f0e28e240 Mon Sep 17 00:00:00 2001 From: Ivan Polyakov Date: Sun, 1 May 2022 00:37:04 +0300 Subject: [PATCH 5/5] remaked pages --- src/{contacts.sxml => pages/contacts.scm} | 19 +- src/{index.sxml => pages/index.scm} | 19 +- src/pages/webapps/index.scm | 55 +++++ .../webapps/scrollbar.scm} | 50 ++-- src/{ => scripts}/webapps/scrollbar.js | 0 src/style.scss | 227 ------------------ src/styles/style.scm | 111 +++++++++ src/styles/webapps/scrollbar.scm | 104 ++++++++ src/templates/default.scm | 19 +- src/webapps/index.sxml | 24 -- 10 files changed, 342 insertions(+), 286 deletions(-) rename src/{contacts.sxml => pages/contacts.scm} (70%) rename src/{index.sxml => pages/index.scm} (68%) create mode 100644 src/pages/webapps/index.scm rename src/{webapps/scrollbar.sxml => pages/webapps/scrollbar.scm} (82%) rename src/{ => scripts}/webapps/scrollbar.js (100%) delete mode 100644 src/style.scss create mode 100644 src/styles/style.scm create mode 100644 src/styles/webapps/scrollbar.scm delete mode 100644 src/webapps/index.sxml diff --git a/src/contacts.sxml b/src/pages/contacts.scm similarity index 70% rename from src/contacts.sxml rename to src/pages/contacts.scm index a761048..5254067 100644 --- a/src/contacts.sxml +++ b/src/pages/contacts.scm @@ -15,11 +15,22 @@ ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . -((title . "vilor/contacts") - (page-name . "contacts")) +(import sxml-serializer) -'(ul (@ (class "contacts")) +(load "./src/general.scm") + +(define title "vilor/contacts") +(define page-name "contacts") +(define page-desc '()) + +(define content + '(ul (@ (class "contacts")) (li "E-mail: " (a (@ (href "mailto:https://v1lor@protonmail.com")) "v1lor at protonmail dot com")) (li "Matrix: " (a (@ (href "https://matrix.to/#/@vilor:matrix.org")) - "vilor at matrix dot org"))) + "vilor at matrix dot org")))) + +(load "./src/templates/default.scm") +(display xhtml-1.0-doctype) +(display (serialize-sxml + (default-tpl title content page-name page-desc))) diff --git a/src/index.sxml b/src/pages/index.scm similarity index 68% rename from src/index.sxml rename to src/pages/index.scm index 77c7d2a..52b4fcb 100644 --- a/src/index.sxml +++ b/src/pages/index.scm @@ -15,9 +15,20 @@ ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . -((title . "vilor") - (page-name . "home")) +(import sxml-serializer) -'(div (@ (class "under-construction")) +(load "./src/general.scm") + +(define title "vilor") +(define page-name "home") +(define page-desc '()) + +(define content + '(div (@ (class "under-construction")) (img (@ (src "img/under-construction.png") (alt "under construction"))) - (h2 "Under construction.")) + (h2 "Under construction."))) + +(load "./src/templates/default.scm") +(display xhtml-1.0-doctype) +(display (serialize-sxml + (default-tpl title content page-name page-desc))) diff --git a/src/pages/webapps/index.scm b/src/pages/webapps/index.scm new file mode 100644 index 0000000..8b043e4 --- /dev/null +++ b/src/pages/webapps/index.scm @@ -0,0 +1,55 @@ +;; Copyright (C) 2022 Ivan Polyakov +;; +;; This file is part of vilor's website. +;; +;; Vilor's website is free software: you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. +;; +;; Vilor's website is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. +;; +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +(import sxml-serializer) + +(load "./src/general.scm") + +(define ideas-list + '(("Desktop YouTube client" + ("Google is peace of shit. Repository: " '(a (@ (href "https://notabug.org/vilor/fltube")) "notabug.org/vilor/fltube")) + "Work in progress") + + ("System calls translator and binary format converter" + + ("On computers with the same CPU architecture, the executable always has the same CPU instructions, " + "and the only difference is in the format of the executable (such as ELF and PE) and system calls. " + "So, if we convert the executable (and the libraries used, of course) and translate system calls " + "from the source OS to the target, we can run any software on any OS.") + + "Suspended, there are developments.") + + ("Open source ArmA" "ArmA is the battle simulator" "Idea"))) + +(define title "vilor/webapps") +(define page-name "webapps") +(define page-desc '()) + +(define webapps-links + '(("scrollbar.xhtml" "Scrollbar styling"))) + +(define content + `(div (@ (class "webapps")) + (ul + ,(map (lambda (l) + `(li (a (@ (href ,(car l))) ,(cdr l)))) + webapps-links)))) + +(load "./src/templates/default.scm") +(display xhtml-1.0-doctype) +(display (serialize-sxml + (default-tpl title content page-name page-desc))) diff --git a/src/webapps/scrollbar.sxml b/src/pages/webapps/scrollbar.scm similarity index 82% rename from src/webapps/scrollbar.sxml rename to src/pages/webapps/scrollbar.scm index 2f38825..cc38e0d 100644 --- a/src/webapps/scrollbar.sxml +++ b/src/pages/webapps/scrollbar.scm @@ -15,12 +15,22 @@ ;; You should have received a copy of the GNU General Public License ;; along with this program. If not, see . -((title . "vilor/webapps/scrollbar") - (page-name . "Scrollbar styling") - (page-desc . ("Demonstration of possible customization of the scrollbar." - (p (@ (class "note")) (b "Note") ": The result will look different in different browsers, try checking the result in browsers based on different engines.")))) +(import sxml-serializer) -'(div (@ (class "scrollbar-app")) +(load "./src/general.scm") + +(define title "vilor/webapps/scrollbar") +(define page-name "Scrollbar styling") +(define page-desc + '((p "Demonstration of possible customization of the scrollbar.") + (p (@ (class "note")) + (b "Note") + ": The result will look different in different browsers, try checking the result in browsers based on different engines."))) +(define page-styles '("scrollbar.css")) +(define page-scripts '("scrollbar.js")) + +(define content + `(div (@ (class "scrollbar-app")) (noscript "Sorry, but this crap doesn't work without JavaScript.") (form (fieldset (@ (class "scrollbar-app__panel")) @@ -43,14 +53,14 @@ (type "color") (id "thumbclr") (name "thumbclr") - (value "\#9b3e46"))) + (value "#9b3e46"))) (input (@ (type "text") (id "thumbclrtxt") (name "thumbclrtxt") - (value "\#9b3e46") - (pattern "\#[0-9A-Fa-f]{6}") - (title "Hexadecimal RGB color with \"\#\" at the beginning")))) + (value "#9b3e46") + (pattern "#[0-9A-Fa-f]{6}") + (title "Hexadecimal RGB color with \"#\" at the beginning")))) (fieldset (h4 "Border:") @@ -94,13 +104,13 @@ (type "color") (id "thumbbclr") (name "thumbbclr") - (value "\#ffffff"))) + (value "#ffffff"))) (input (@ (type "text") (id "thumbbclrtxt") (name "thumbbclrtxt") - (value "\#ffffff") - (pattern "\#[0-9A-Fa-f]{6}") + (value "#ffffff") + (pattern "#[0-9A-Fa-f]{6}") (title "Hexadecimal RGB color with \"\#\" at the beginning")))))) (fieldset (@ (class "scrollbar-app__panel")) @@ -111,14 +121,14 @@ (type "color") (id "trackclr") (name "trackclr") - (value "\#3b4252"))) + (value "#3b4252"))) (input (@ (type "text") (id "trackclrtxt") (name "trackclrtxt") - (value "\#3b4252") - (pattern "\#[0-9A-Fa-f]{6}") - (title "Hexadecimal RGB color with \"\#\" at the beginning")))) + (value "#3b4252") + (pattern "#[0-9A-Fa-f]{6}") + (title "Hexadecimal RGB color with \"#\" at the beginning")))) (div (@ (class "scrollbar-app__input")) (label (@ (for "trackbrad")) "Border radius: ") @@ -156,5 +166,9 @@ (button (@ (type "button") (id "sbClearBtn")) "clear output"))) (pre (@ (class "scrollbar-app__panel") (style "display: none") (id "sbScssOut"))) - (textarea (@ (id "sbTextArea") (readonly "readonly")) "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.") - (script (@ (src "scrollbar.js")))) + (textarea (@ (id "sbTextArea") (readonly "readonly")) "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."))) + +(load "./src/templates/default.scm") +(display xhtml-1.0-doctype) +(display (serialize-sxml + (default-tpl title content page-name page-desc page-styles page-scripts))) diff --git a/src/webapps/scrollbar.js b/src/scripts/webapps/scrollbar.js similarity index 100% rename from src/webapps/scrollbar.js rename to src/scripts/webapps/scrollbar.js diff --git a/src/style.scss b/src/style.scss deleted file mode 100644 index 19a7e19..0000000 --- a/src/style.scss +++ /dev/null @@ -1,227 +0,0 @@ -;; Copyright (C) 2022 Ivan Polyakov -;; -;; This file is part of vilor's website. -;; -;; Vilor's website is free software: you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. -;; -;; Vilor's website is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. -;; -;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see . - -() -'((|html, body| - (height 100%) - (margin 0)) - - (|body| - (font-family "Arial, sans-serif") - (color white) - (background-color "#3b4252")) - - (|.wrapper| - (position relative) - (min-height 100%)) - - (|.container| - (max-width 937px) - (padding 0 16px) - (margin 0 auto)) - - (|a| - (color white)) - - (|a:hover| - (text-decoration none)) - - (|a:visited| - (color "#bbb")) - - ;; /general - ;; header - - (|.header| - (background-color "#262d3e")) - - (|.header .container| - (display flex) - (justify-content space-between)) - - (|.header__logo| - (display inline) - (font-size 24px) - (padding 8px 0) - (margin 0)) - - (|.header__nav| - (display inline) - (list-style none) - (font-size 16px) - (padding 14px 0) - (margin 0)) - - (|.header__nav li| - (display inline)) - - ;; /header - ;; content - - (|.content| - (padding 32px 16px 138px 16px)) - - (|.content__title| - (font-size 36px) - (margin-top 0) - (margin-bottom 12px)) - - (|.content__description| - (font-size 20px) - (margin-bottom 24px)) - - (|.content__description .note| - (font-size 16px) - (margin-top 16px)) - - (|.content__description p| - (margin 0)) - - ;; /content - ;; footer - - (|.footer| - (position absolute) - (bottom 0) - (width 100%) - (text-align center) - (background-color "#262d3e") - (padding 14px 0)) - - (|.footer__authors| - (margin-bottom 5px)) - - (|.footer .links a| - (margin "0 5px")) - - ;; /footer - - (|.under-construction| - (max-width 300px) - (text-align center) - (margin "0 auto")) - - (|.ideas table| - (margin "0 auto")) - - (|table, th, td| - (border "1px solid black")) - - (|th, td| - (padding "5px")) - - (|.scrollbar-app form| - (margin-bottom 10px)) - - (|.scrollbar-app form fieldset| - (border none) - (padding 0) - (margin 0)) - - (|.scrollbar-app form .scrollbar-app__panel| - (margin-bottom 16px)) - - (|.scrollbar-app form h3| - (font-size 24px) - (margin 0)) - - (|.scrollbar-app form h4| - (font-size 20px) - (margin 12px 0 0 0)) - - (|.scrollbar-app__panel, .scrollbar-app form .scrollbar-app__panel| - (background-color "#585F70") - (padding 12px)) - - (|.scrollbar-app__input| - (display inline-block) - (display inline-flex) - (align-items center) - (padding 8px)) - - (|.scrollbar-app textarea| - ("--sb-w" 10px) - ("--thumb-clr" "#9b3e46") - ("--thumb-bstl" "solid") - ("--thumb-bw" 1px) - ("--thumb-bclr" white) - ("--thumb-brad" 8px) - ("--track-clr" "#3b4252") - ("--track-brad" 8px) - ("--track-mt" 0px) - ("--track-mb" 0px) - (height 300px) - (font-size 32px) - (overflow-y scroll) - (scrollbar-width "var(--sb-w)") - (scrollbar-color "var(--thumb-clr) var(--track-clr)") - (margin-top 60px)) - - (|.scrollbar-app textarea::-webkit-scrollbar| - (width "var(--sb-w)") - (margin-bottom 5px)) - - (|.scrollbar-app textarea::-webkit-scrollbar-thumb| - (background-color "var(--thumb-clr)") - (border-style "var(--thumb-bstl)") - (border-width "var(--thumb-bw)") - (border-color "var(--thumb-bclr)") - (border-radius "var(--thumb-brad)")) - - (|.scrollbar-app textarea::-webkit-scrollbar-track| - (background-color "var(--track-clr)") - (border-radius "var(--track-brad)") - (margin-top "var(--track-mt)") - (margin-bottom "var(--track-mb)")) - - (|.scrollbar-app__buttons| - (margin-top 24px)) - - (|.scrollbar-app__buttons button| - (min-width 149px) - (font-size 18px) - (background-color "#ced9f3") - (padding 14px 25px) - (border none) - (border-radius 4px) - (outline none) - (margin-right 16px)) - - (|.scrollbar-app__buttons button:hover| - (background-color "#a2b8ed")) - - (|.rad-app .rtable| - (width 100%)) - - (|.rad-app table td > div| - (resize horizontal) - (overflow auto)) - - (|.rad-app .rad-app__tree ul| - (list-style none) - (padding-left 10px)) - - (|.rad-app .rad-app__tree ul li| - (padding-left 5px) - (border-left "1px solid #9b3e46")) - - (|.rad-app .rad-app__tree ul li:hover| - (background-color "#9b3e46")) - - (|.rad-app__viewport| - (color black) - (background-color white))) diff --git a/src/styles/style.scm b/src/styles/style.scm new file mode 100644 index 0000000..0c6cc3e --- /dev/null +++ b/src/styles/style.scm @@ -0,0 +1,111 @@ +;; Copyright (C) 2022 Ivan Polyakov +;; +;; This file is part of vilor's website. +;; +;; Vilor's website is free software: you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. +;; +;; Vilor's website is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. +;; +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +(import scss) + +(define global-styles + `(css+ + (|html, body| + (height 100%) + (margin 0)) + + (|body| + (font-family "Arial, sans-serif") + (color white) + (background-color "#3b4252")) + + (a + (color white) + + ((& :hover) + (text-decoration none)) + + ((& :visited) + (color "#bbb"))) + + (.wrapper + (position relative) + (min-height 100%) + + ((// > hr) + (display none))) + + (.container + (max-width 937px) + (padding 0 16px) + (margin 0 auto)) + + (.under-construction + (max-width 300px) + (text-align center) + (margin 0 auto)) + + (.header + (background-color "#262d3e") + + ((// .container) + (display flex) + (justify-content space-between)) + + ((// .header__logo) + (display inline) + (font-size 24px) + (padding 8px 0) + (margin 0)) + + ((// .header__nav) + (display inline) + (list-style none) + (fonst-size 16px) + (padding 14px 0) + (margin 0))) + + (.content + (padding 32px 16px 138px 16px) + + ((// .content__title) + (font-size 36px) + (margin-top 0) + (margin-bottom 12px)) + + ((// .content__description) + (font-size 20px) + (margin-bottom 24px) + + ((// .note) + (font-size 16px) + (margin-top 16px)) + + ((// p) + (margin 0)))) + + (.footer + (position absolute) + (bottom 0) + (width 100%) + (text-align center) + (background-color "#262d3e") + (padding 14px 0) + + ((// .footer__authors) + (margin-bottom 15px) + + ((// a) + (margin 0 5px)))))) + +(write-css global-styles) +(newline) diff --git a/src/styles/webapps/scrollbar.scm b/src/styles/webapps/scrollbar.scm new file mode 100644 index 0000000..37482a7 --- /dev/null +++ b/src/styles/webapps/scrollbar.scm @@ -0,0 +1,104 @@ +;; Copyright (C) 2022 Ivan Polyakov +;; +;; This file is part of vilor's website. +;; +;; Vilor's website is free software: you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. +;; +;; Vilor's website is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. +;; +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +(import scss) + +(define scrollbar-styles + `(css+ + (.scrollbar-app + ((// form) + (margin-bottom 10px) + + ((// fieldset) + (border none) + (padding 0) + (margin 0)) + + ((// .scrollbar-app__panel) + (margin-bottom 16px)) + + ((// h3) + (font-size 24px) + (margin 0)) + + ((// h4) + (font-size 20px) + (margin 12px 0 0 0)) + + ((// .scrollbar-app__input) + (display inline-block) + (display inline-flex) + (align-items center) + (padding 8px))) + + ((// .scrollbar-app__panel) + (background-color "#585f70") + (padding 12px)) + + ((// textarea) + ("--sb-w" 10px) + ("--thumb-clr" "#9b3e46") + ("--thumb-bstl" "solid") + ("--thumb-bw" 1px) + ("--thumb-bclr" white) + ("--thumb-brad" 8px) + ("--track-clr" "#3b4252") + ("--track-brad" 8px) + ("--track-mt" 0px) + ("--track-mb" 0px) + (height 300px) + (font-size 32px) + (overflow-y scroll) + (scrollbar-width "var(--sb-w)") + (scrollbar-color "var(--thumb-clr) var(--track-clr)") + (margin-top 60px) + + ((& ::-webkit-scrollbar) + (width "var(--sb-w)") + (margin-bottom 5px)) + + ((& ::-webkit-scrollbar-thumb) + (background-color "var(--thumb-clr)") + (border-style "var(--thumb-bstl)") + (border-width "var(--thumb-bw)") + (border-color "var(--thumb-bclr)") + (border-radius "var(--thumb-brad)")) + + ((& ::-webkit-scrollbar-track) + (background-color "var(--track-clr)") + (border-radius "var(--track-brad)") + (margin-top "var(--track-mt)") + (margin-bottom "var(--track-mb)"))) + + ((// .scrollbar-app__buttons) + (margin-top 24px) + + ((// button) + (min-width 149px) + (font-size 18px) + (background-color "#ced9f3") + (padding 14px 25px) + (border none) + (border-radius 4px) + (outline none) + (margin-right 16px) + + ((& :hover) + (background-color "#a2b8ed"))))))) + +(write-css scrollbar-styles) +(newline) diff --git a/src/templates/default.scm b/src/templates/default.scm index c37cbba..0e91c4b 100644 --- a/src/templates/default.scm +++ b/src/templates/default.scm @@ -41,14 +41,15 @@ (title ,title)) (body - ,header - (hr (@ (style "display: none"))) + (div (@ (class "wrapper")) + ,header + (hr) - (div (@ (class "content container")) - (h1 (@ (class "content__title")) ,page-name) - (div (@ (class "content__description")) ,page-desc) - ,page-content) + (div (@ (class "content container")) + (h1 (@ (class "content__title")) ,page-name) + (div (@ (class "content__description")) ,page-desc) + ,page-content) - (hr (@ (style "display: none"))) - ,footer - ,(map (lambda (l) `(script (@ (src ,l)))) page-scripts)))) + (hr) + ,footer + ,(map (lambda (l) `(script (@ (src ,l)))) page-scripts))))) diff --git a/src/webapps/index.sxml b/src/webapps/index.sxml deleted file mode 100644 index b5c5997..0000000 --- a/src/webapps/index.sxml +++ /dev/null @@ -1,24 +0,0 @@ -;; Copyright (C) 2022 Ivan Polyakov -;; -;; This file is part of vilor's website. -;; -;; Vilor's website is free software: you can redistribute it and/or modify -;; it under the terms of the GNU General Public License as published by -;; the Free Software Foundation, either version 3 of the License, or -;; (at your option) any later version. -;; -;; Vilor's website is distributed in the hope that it will be useful, -;; but WITHOUT ANY WARRANTY; without even the implied warranty of -;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;; GNU General Public License for more details. -;; -;; You should have received a copy of the GNU General Public License -;; along with this program. If not, see . - -((title . "vilor/webapps") - (page-name . "webapps")) - -'(div (@ (class "webapps")) - (ul - (li - (a (@ (href "scrollbar.html")) "Scrollbar styling")))) -- 2.36.1