bash_scripts | ||
draft | ||
pictures | ||
.gitattributes | ||
.gitignore | ||
CONTRIBUTING.md | ||
DIRECTORY-TREE.md | ||
LICENSE.md | ||
OPEN_LICENSE.txt | ||
README.en.md | ||
README.md | ||
WIKI.md |
Pomodori
Updated and once again rewritten variant of my old blog, new versions of old programs: volumetric tetris, simple captcha and others — simplified site generating without obfuscation, lightweight page design without JavaScript and open license RF instead of MIT — there are a lot of changes and everywhere, but the essence remains the same — nothing has changed. Series of static websites «Pomodori» — not to be bored and not to forget how to write programs, when there is no work.
Content
Solutions to programming problems with errors and descriptions of solutions. Correction of errors — is an additional task for C students and cheaters. All code is checked and works — it looks nice, but such code cannot be used on the production server. Question for B students: find at least one error. Question for A students: find more errors and write the own solution.
Constructive criticism and error descriptions can be sent over electronic mail — at least it is interesting for me and useful for professional growth. Because, firstly, not all mistakes are made intentionally and, secondly, not all of them — are mistakes.
- pomodoro1 — Three-dimensional graphics in JavaScript.
- pomodoro2 — Cartesian product, combinatorics.
- pomodoro3 — Matrix multiplication, rotations.
- pomodoro4 — Poetry. Humor.
- pomodoro5 — Drawing pictures with text.
Build
Previously, a custom Java program was used to generate a site from templates. After generating, the obfuscation was performed for all classes, variables and functions of HTML, CSS and JS with a dictionary substitution cipher. Code blocks were left without obfuscation, and syntax highlighting was performed on the client. Obusificator — is a unique solution, no longer used.
Now the site is generated by Jekyll, the template language is Liquid, syntax highlighting during build time, and the content of the pages is in Markdown format. Maintenance is performed by Bash scripts. The thought does not leave me, that I made a senseless swap — in general, nothing has changed.
Design
Two design themes for Jekyll in the Liquid template language: «Color tomato» was written earlier using AngularJS and Material, this was the design of the previous version of my blog, then an «Older tomato» — lightweight single-color variant was written using only HTML and CSS, the appearance resembles the default design theme on GitHub Pages. Both tomatoes supplement each other and are similar to each other, commonalities and differences between them are marked in the list below.
- Responsive layout.
- User JS and CSS files in the head block of HTML pages.
- SEO-markup using JSON-LD and Open Graph.
- Switch between two languages and two tomato themes.
- Map of site pages with their translations in XML format.
- Simple 404 page for non-existing URLs.
- Fonts: Roboto for text and JBMono for code blocks.
- Tomatoes: PNG, JPG 120x120, SVG 64x64, ICO 32x32.
- Color selection during the build, green is the default color.
- Scroll-to-top button in Material style.
License
Previously, I attached the MIT license to my projects on the Internet, but when the open license RF appeared — I switched to it, promptly made minor changes to the text and supplemented it on my own, though I am not a lawyer. The main meaning of the license remains the same — the program is provided free of charge, but without any guarantees, and the author of the program is me.
- OPEN_LICENSE.txt — the main text of the license and an explanation to it without changes, can be found on the Internet. I removed the extra spaces and space characters out from it, so that the text looks more like text.
- LICENSE.md — supplementation from myself with a reference to the main text of the license.
- CONTRIBUTING.md — description of the way, in which the project can be contributed.
© Golovin G.G., Code with comments, translation from Russian, 2021-2023