2023-07-31
4
.gitattributes
vendored
|
@ -1,3 +1 @@
|
||||||
README*.md linguist-language=HTML
|
*.md linguist-language=HTML
|
||||||
draft/2023-06-05-round-robin.md linguist-language=Java
|
|
||||||
draft/2023-06-13-directory-tree.md linguist-language=Shell
|
|
||||||
|
|
2
.gitignore
vendored
|
@ -1,4 +1,4 @@
|
||||||
.idea
|
.idea
|
||||||
*.iml
|
*.iml
|
||||||
.repo_*.sh
|
|
||||||
.token_*
|
.token_*
|
||||||
|
.repo_*
|
||||||
|
|
|
@ -1,46 +0,0 @@
|
||||||
## Дерево каталогов
|
|
||||||
|
|
||||||
<pre>
|
|
||||||
.
|
|
||||||
├─ <a href='bash_scripts'>bash_scripts</a>
|
|
||||||
│ ├─ <a href='bash_scripts/README.en.md'>README.en.md</a>
|
|
||||||
│ ├─ <a href='bash_scripts/README.md'>README.md</a>
|
|
||||||
│ ├─ <a href='bash_scripts/archive-common.sh'>archive-common.sh</a>
|
|
||||||
│ ├─ <a href='bash_scripts/archive-packages.sh'>archive-packages.sh</a>
|
|
||||||
│ ├─ <a href='bash_scripts/info-copy.sh'>info-copy.sh</a>
|
|
||||||
│ ├─ <a href='bash_scripts/info-domain.sh'>info-domain.sh</a>
|
|
||||||
│ ├─ <a href='bash_scripts/info-toggle.sh'>info-toggle.sh</a>
|
|
||||||
│ ├─ <a href='bash_scripts/repo-compose.sh'>repo-compose.sh</a>
|
|
||||||
│ ├─ <a href='bash_scripts/repo-gitea.tmpl.sh'>repo-gitea.tmpl.sh</a>
|
|
||||||
│ ├─ <a href='bash_scripts/repo-gitlab.tmpl.sh'>repo-gitlab.tmpl.sh</a>
|
|
||||||
│ ├─ <a href='bash_scripts/repo-local.tmpl.sh'>repo-local.tmpl.sh</a>
|
|
||||||
│ └─ <a href='bash_scripts/repo-update.sh'>repo-update.sh</a>
|
|
||||||
├─ <a href='draft'>draft</a>
|
|
||||||
│ ├─ <a href='draft/2023-06-05-round-robin.md'>2023-06-05-round-robin.md</a>
|
|
||||||
│ ├─ <a href='draft/2023-06-13-directory-tree.md'>2023-06-13-directory-tree.md</a>
|
|
||||||
│ └─ <a href='draft/README.md'>README.md</a>
|
|
||||||
├─ <a href='pictures'>pictures</a>
|
|
||||||
│ ├─ <a href='pictures/1.jpg'>1.jpg</a>
|
|
||||||
│ ├─ <a href='pictures/2.jpg'>2.jpg</a>
|
|
||||||
│ ├─ <a href='pictures/3.jpg'>3.jpg</a>
|
|
||||||
│ ├─ <a href='pictures/4.jpg'>4.jpg</a>
|
|
||||||
│ ├─ <a href='pictures/5.jpg'>5.jpg</a>
|
|
||||||
│ ├─ <a href='pictures/README.md'>README.md</a>
|
|
||||||
│ ├─ <a href='pictures/color-tomato-theme.jpg'>color-tomato-theme.jpg</a>
|
|
||||||
│ ├─ <a href='pictures/directory-tree1.jpg'>directory-tree1.jpg</a>
|
|
||||||
│ ├─ <a href='pictures/directory-tree2.jpg'>directory-tree2.jpg</a>
|
|
||||||
│ ├─ <a href='pictures/directory-tree3.jpg'>directory-tree3.jpg</a>
|
|
||||||
│ ├─ <a href='pictures/directory-tree4.jpg'>directory-tree4.jpg</a>
|
|
||||||
│ ├─ <a href='pictures/draft.jpg'>draft.jpg</a>
|
|
||||||
│ ├─ <a href='pictures/maintenance.jpg'>maintenance.jpg</a>
|
|
||||||
│ ├─ <a href='pictures/older-tomato-theme.jpg'>older-tomato-theme.jpg</a>
|
|
||||||
│ ├─ <a href='pictures/pictures.jpg'>pictures.jpg</a>
|
|
||||||
│ └─ <a href='pictures/pomodoro.jpg'>pomodoro.jpg</a>
|
|
||||||
├─ <a href='CONTRIBUTING.md'>CONTRIBUTING.md</a>
|
|
||||||
├─ <a href='DIRECTORY-TREE.md'>DIRECTORY-TREE.md</a>
|
|
||||||
├─ <a href='LICENSE.md'>LICENSE.md</a>
|
|
||||||
├─ <a href='OPEN_LICENSE.txt'>OPEN_LICENSE.txt</a>
|
|
||||||
├─ <a href='README.en.md'>README.en.md</a>
|
|
||||||
├─ <a href='README.md'>README.md</a>
|
|
||||||
└─ <a href='WIKI.md'>WIKI.md</a>
|
|
||||||
</pre>
|
|
39
DIRECTORY_TREE.md
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
## Дерево каталогов
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
<a href='.'>.</a>
|
||||||
|
├─ <a href='bash_scripts'>bash_scripts</a>
|
||||||
|
│ ├─ <a href='bash_scripts/README.en.md'>README.en.md</a>
|
||||||
|
│ ├─ <a href='bash_scripts/README.md'>README.md</a>
|
||||||
|
│ ├─ <a href='bash_scripts/archive_backup.sh'>archive_backup.sh</a>
|
||||||
|
│ ├─ <a href='bash_scripts/archive_packages.sh'>archive_packages.sh</a>
|
||||||
|
│ ├─ <a href='bash_scripts/info_param.sh'>info_param.sh</a>
|
||||||
|
│ ├─ <a href='bash_scripts/info_references.sh'>info_references.sh</a>
|
||||||
|
│ ├─ <a href='bash_scripts/info_tree_license.sh'>info_tree_license.sh</a>
|
||||||
|
│ ├─ <a href='bash_scripts/repo_compose.sh'>repo_compose.sh</a>
|
||||||
|
│ ├─ <a href='bash_scripts/repo_gitea.tmpl.sh'>repo_gitea.tmpl.sh</a>
|
||||||
|
│ ├─ <a href='bash_scripts/repo_gitlab.tmpl.sh'>repo_gitlab.tmpl.sh</a>
|
||||||
|
│ ├─ <a href='bash_scripts/repo_local.tmpl.sh'>repo_local.tmpl.sh</a>
|
||||||
|
│ └─ <a href='bash_scripts/repo_update.sh'>repo_update.sh</a>
|
||||||
|
├─ <a href='draft'>draft</a>
|
||||||
|
│ ├─ <a href='draft/README.md'>README.md</a>
|
||||||
|
│ └─ <a href='draft/round-robin.md'>round-robin.md</a>
|
||||||
|
├─ <a href='pictures'>pictures</a>
|
||||||
|
│ ├─ <a href='pictures/README.md'>README.md</a>
|
||||||
|
│ ├─ <a href='pictures/bash_scripts.jpg'>bash_scripts.jpg</a>
|
||||||
|
│ ├─ <a href='pictures/color-tomato-theme.jpg'>color-tomato-theme.jpg</a>
|
||||||
|
│ ├─ <a href='pictures/draft.jpg'>draft.jpg</a>
|
||||||
|
│ ├─ <a href='pictures/older-tomato-theme.jpg'>older-tomato-theme.jpg</a>
|
||||||
|
│ ├─ <a href='pictures/pictures.jpg'>pictures.jpg</a>
|
||||||
|
│ ├─ <a href='pictures/pomodoro-website.jpg'>pomodoro-website.jpg</a>
|
||||||
|
│ └─ <a href='pictures/pomodoro.jpg'>pomodoro.jpg</a>
|
||||||
|
├─ <a href='.gitattributes'>.gitattributes</a>
|
||||||
|
├─ <a href='.gitignore'>.gitignore</a>
|
||||||
|
├─ <a href='CONTRIBUTING.md'>CONTRIBUTING.md</a>
|
||||||
|
├─ <a href='DIRECTORY_TREE.md'>DIRECTORY_TREE.md</a>
|
||||||
|
├─ <a href='LICENSE.md'>LICENSE.md</a>
|
||||||
|
├─ <a href='OPEN_LICENSE.txt'>OPEN_LICENSE.txt</a>
|
||||||
|
├─ <a href='README.en.md'>README.en.md</a>
|
||||||
|
├─ <a href='README.md'>README.md</a>
|
||||||
|
└─ <a href='WIKI.md'>WIKI.md</a>
|
||||||
|
</pre>
|
53
README.en.md
|
@ -17,11 +17,21 @@ Constructive criticism and error descriptions can be sent over electronic mail
|
||||||
interesting for me and useful for professional growth. Because, firstly, not all mistakes are made
|
interesting for me and useful for professional growth. Because, firstly, not all mistakes are made
|
||||||
intentionally and, secondly, not all of them — are mistakes.
|
intentionally and, secondly, not all of them — are mistakes.
|
||||||
|
|
||||||
- [pomodoro1](https://hub.mos.ru/pomodoro/1/blob/master/README.en.md) — Three-dimensional graphics in JavaScript.
|
1. [Three-dimensional graphics in JavaScript](https://pomodoro1.mircloud.ru/en/).
|
||||||
- [pomodoro2](https://hub.mos.ru/pomodoro/2/blob/master/README.en.md) — Cartesian product, combinatorics.
|
2. [Cartesian product, combinatorics](https://pomodoro2.mircloud.ru/en/).
|
||||||
- [pomodoro3](https://hub.mos.ru/pomodoro/3/blob/master/README.en.md) — Matrix multiplication, rotations.
|
3. [Matrix multiplication and rotations](https://pomodoro3.mircloud.ru/en/).
|
||||||
- [pomodoro4](https://hub.mos.ru/pomodoro/4/blob/master/README.en.md) — Poetry. Humor.
|
4. [Poetry, humor](https://pomodoro4.mircloud.ru/en/).
|
||||||
- [pomodoro5](https://hub.mos.ru/pomodoro/5/blob/master/README.en.md) — Drawing pictures with text.
|
5. [Drawing pictures with text](https://pomodoro5.mircloud.ru/en/).
|
||||||
|
|
||||||
|
### Process
|
||||||
|
|
||||||
|
The creative process continues continuously, especially when there is no work. Fully mature
|
||||||
|
thoughts become separate projects, and immature ones go as parts of this project. It is
|
||||||
|
difficult for some thoughts to mature, so they remain incomplete.
|
||||||
|
|
||||||
|
- [Process management](bash_scripts/README.en.md) — scripts Bash.
|
||||||
|
- [Incomplete publications](draft/README.md) — draft without translation.
|
||||||
|
- [Avatars for repositories](pictures/README.md) — pictures.
|
||||||
|
|
||||||
### Build
|
### Build
|
||||||
|
|
||||||
|
@ -30,33 +40,20 @@ obfuscation was performed for all classes, variables and functions of HTML, CSS
|
||||||
substitution cipher. Code blocks were left without obfuscation, and syntax highlighting was performed on
|
substitution cipher. Code blocks were left without obfuscation, and syntax highlighting was performed on
|
||||||
the client. *Obusificator* — is a unique solution, no longer used.
|
the client. *Obusificator* — is a unique solution, no longer used.
|
||||||
|
|
||||||
Now the site is generated by Jekyll, the template language is Liquid, syntax
|
Now the site is generated by Jekyll, the template language is Liquid, syntax highlighting during build
|
||||||
highlighting during build time, and the content of the pages is in Markdown format.
|
time, and the content of the pages is in Markdown format. Process management is performed by Bash scripts.
|
||||||
[Maintenance](bash_scripts/README.en.md)
|
The thought does not leave me, that I made a *senseless swap* — in general, nothing has changed.
|
||||||
is performed by Bash scripts. The thought does not leave me, that
|
|
||||||
I made a *senseless swap* — in general, nothing has changed.
|
|
||||||
|
|
||||||
### Design
|
### Design
|
||||||
|
|
||||||
Two design themes for Jekyll in the Liquid template language:
|
Two design themes for Jekyll in the Liquid template language: «Color tomato» was written earlier using
|
||||||
[«Color tomato»](https://hub.mos.ru/golovin.gg/color-tomato-theme/blob/master/README.en.md)
|
AngularJS and Material, this was the design of the previous version of my blog, then an «Older tomato»
|
||||||
was written earlier using AngularJS and Material, this was
|
— lightweight single-color variant was written using only HTML and CSS, the appearance resembles the
|
||||||
the design of the previous version of my blog, then an
|
default design theme on GitHub Pages. Both tomatoes supplement each other and are similar to each other,
|
||||||
[«Older tomato»](https://hub.mos.ru/golovin.gg/older-tomato-theme/blob/master/README.en.md)
|
so they can be used together on the same site.
|
||||||
— 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.
|
|
||||||
|
|
||||||
- [x] Responsive layout.
|
- [Color tomato](https://hub.mos.ru/golovin.gg/color-tomato-theme/blob/master/README.en.md) — color selection during the build.
|
||||||
- [x] User JS and CSS files in the head block of HTML pages.
|
- [Older tomato](https://hub.mos.ru/golovin.gg/older-tomato-theme/blob/master/README.en.md) — lightweight decoration theme.
|
||||||
- [x] SEO-markup using JSON-LD and Open Graph.
|
|
||||||
- [x] Switch between two languages and two tomato themes.
|
|
||||||
- [x] Map of site pages with their translations in XML format.
|
|
||||||
- [x] Simple 404 page for non-existing URLs.
|
|
||||||
- [x] Fonts: Roboto for text and JBMono for code blocks.
|
|
||||||
- [x] 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
|
### License
|
||||||
|
|
||||||
|
|
92
README.md
|
@ -1,70 +1,64 @@
|
||||||
# [Помидоры](README.en.md)
|
# [Помидоры](README.en.md)
|
||||||
|
|
||||||
Обновлённый и ещё раз переписанный вариант моего старого блога, новые версии
|
Обновлённый и ещё раз переписанный вариант моего старого блога, новые версии старых программ: объёмный тетрис,
|
||||||
старых программ: объёмный тетрис, простая капча и другие — упрощённая сборка
|
простая капча и другие — упрощённая сборка сайта без обфускации, облегчённое оформление страниц без JavaScript и
|
||||||
сайта без обфускации, облегчённое оформление страниц без JavaScript и открытая
|
открытая лицензия РФ вместо MIT — изменений много и везде, но суть осталась прежней — ничего не изменилось. Серия
|
||||||
лицензия РФ вместо MIT — изменений много и везде, но суть осталась прежней —
|
статических вёб-сайтов «Помидоры» — чтобы не скучать и чтобы не забыть, как программы писать, когда работы нет.
|
||||||
ничего не изменилось. Серия статических вёб-сайтов «Помидоры» — чтобы не скучать и
|
|
||||||
чтобы не забыть, как программы писать, когда работы нет.
|
|
||||||
|
|
||||||
### Содержание
|
### Содержание
|
||||||
|
|
||||||
Решения задач по программированию с ошибками и описания решений. Исправление ошибок — дополнительная
|
Решения задач по программированию с ошибками и описания решений. Исправление ошибок — дополнительная задача для
|
||||||
задача для троечников и любителей списывать. Весь код проверен и работает — выглядит красиво, но на
|
троечников и любителей списывать. Весь код проверен и работает — выглядит красиво, но на продуктовом сервере такой
|
||||||
продуктовом сервере такой код использовать нельзя. Вопрос на четвёрку: найти хотя бы одну ошибку.
|
код использовать нельзя. Вопрос на четвёрку: найти хотя бы одну ошибку. Вопрос на пятёрку: найти *больше* ошибок и
|
||||||
Вопрос на пятёрку: найти *больше* ошибок и написать *своё* решение.
|
написать *своё* решение.
|
||||||
|
|
||||||
Конструктивную критику и описания ошибок можно отправлять по электронной почте — как минимум мне
|
Конструктивную критику и описания ошибок можно отправлять по электронной почте — как минимум мне это интересно и
|
||||||
это интересно и полезно для профессионального роста. Потому что, во-первых, не все ошибки допущены
|
полезно для профессионального роста. Потому что, во-первых, не все ошибки допущены намеренно и, во-вторых, не все
|
||||||
намеренно и, во-вторых, не все они — есть ошибки.
|
они — есть ошибки.
|
||||||
|
|
||||||
- [pomodoro1](https://hub.mos.ru/pomodoro/1/blob/master/README.md) — Трёхмерная графика на JavaScript.
|
1. [Трёхмерная графика на JavaScript](https://pomodoro1.mircloud.ru/).
|
||||||
- [pomodoro2](https://hub.mos.ru/pomodoro/2/blob/master/README.md) — Декартово произведение, комбинаторика.
|
2. [Декартово произведение, комбинаторика](https://pomodoro2.mircloud.ru/).
|
||||||
- [pomodoro3](https://hub.mos.ru/pomodoro/3/blob/master/README.md) — Умножение матриц, повороты.
|
3. [Умножение матриц и повороты](https://pomodoro3.mircloud.ru/).
|
||||||
- [pomodoro4](https://hub.mos.ru/pomodoro/4/blob/master/README.md) — Поэзия. Юмор.
|
4. [Поэзия, юмор](https://pomodoro4.mircloud.ru/).
|
||||||
- [pomodoro5](https://hub.mos.ru/pomodoro/5/blob/master/README.md) — Рисуем картинки текстом.
|
5. [Рисуем картинки текстом](https://pomodoro5.mircloud.ru/).
|
||||||
|
|
||||||
|
### Процесс
|
||||||
|
|
||||||
|
Творческий процесс продолжается непрерывно, особенно, когда работы нет. Полностью созревшие мысли
|
||||||
|
становятся отдельными проектами, а несозревшие идут как части этого проекта. Некоторым мыслям
|
||||||
|
сложно созреть, поэтому они остаются незавершёнными.
|
||||||
|
|
||||||
|
- [Управление процессами](bash_scripts/README.md) — скрипты Bash.
|
||||||
|
- [Незавершённые публикации](draft/README.md) — черновик.
|
||||||
|
- [Аватарки для репозиториев](pictures/README.md) — картинки.
|
||||||
|
|
||||||
### Сборка
|
### Сборка
|
||||||
|
|
||||||
Раньше сборку сайта из шаблонов выполняла кастомная программа на Java. После сборки выполнялась
|
Раньше сборку сайта из шаблонов выполняла кастомная программа на Java. После сборки выполнялась обфускация для
|
||||||
обфускация для всех классов, переменных и функций HTML, CSS и JS шифром замены по словарю. Блоки
|
всех классов, переменных и функций HTML, CSS и JS шифром замены по словарю. Блоки кода оставлялись без обфускации,
|
||||||
кода оставлялись без обфускации, а подсветка синтаксиса выполнялась на клиенте. *Обусификатор* —
|
а подсветка синтаксиса выполнялась на клиенте. *Обусификатор* — уникальное решение, больше не используется.
|
||||||
уникальное решение, больше не используется.
|
|
||||||
|
|
||||||
Теперь сборку сайта выполняет Jekyll, язык шаблонов Liquid, подсветка
|
Теперь сборку сайта выполняет Jekyll, язык шаблонов Liquid, подсветка синтаксиса во время
|
||||||
синтаксиса во время сборки, а содержание страниц в формате Markdown.
|
сборки, а содержание страниц в формате Markdown. Управление процессами выполняют скрипты Bash.
|
||||||
[Обслуживание](bash_scripts/README.md)
|
Меня не покидает мысль, что я *поменял шило на мыло* — в целом ничего не изменилось.
|
||||||
выполняется скриптами Bash. Меня не покидает мысль, что
|
|
||||||
я *поменял шило на мыло* — в целом ничего не изменилось.
|
|
||||||
|
|
||||||
### Оформление
|
### Оформление
|
||||||
|
|
||||||
Две темы оформления для Jekyll на языке шаблонов Liquid:
|
Две темы оформления для Jekyll на языке шаблонов Liquid: «Цветной помидор» был написан раньше с
|
||||||
[«Цветной помидор»](https://hub.mos.ru/golovin.gg/color-tomato-theme/blob/master/README.md)
|
использованием AngularJS и Material, таким было оформление предыдущей версии моего блога, затем
|
||||||
был написан раньше с использованием AngularJS и Material, таким
|
был написан «Старый помидор» — облегчённый одноцветный вариант с использованием только HTML и CSS,
|
||||||
было оформление предыдущей версии моего блога, затем был написан
|
внешний вид напоминает тему оформления по умолчанию на GitHub Pages. Оба помидора дополняют друг
|
||||||
[«Старый помидор»](https://hub.mos.ru/golovin.gg/older-tomato-theme/blob/master/README.md)
|
друга и похожи друг на друга, поэтому их можно использовать вместе на одном сайте.
|
||||||
— облегчённый одноцветный вариант с использованием только HTML и CSS, внешний вид
|
|
||||||
напоминает тему оформления по умолчанию на GitHub Pages. Оба помидора дополняют друг
|
|
||||||
друга и похожи друг на друга, общие черты и различия между ними отмечены в списке ниже.
|
|
||||||
|
|
||||||
- [x] Адаптивная вёрстка или Responsive layout.
|
- [Цветной помидор](https://hub.mos.ru/golovin.gg/color-tomato-theme/blob/master/README.md) — выбор цвета во время сборки.
|
||||||
- [x] Файлы пользователя JS и CSS в блоке head страниц HTML.
|
- [Старый помидор](https://hub.mos.ru/golovin.gg/older-tomato-theme/blob/master/README.md) — легковесная тема оформления.
|
||||||
- [x] SEO-разметка с использованием JSON-LD и Open Graph.
|
|
||||||
- [x] Переключение между двумя языками и помидорными темами.
|
|
||||||
- [x] Карта страниц сайта с их переводами в формате XML.
|
|
||||||
- [x] Простая страница 404 для несуществующих URL-адресов.
|
|
||||||
- [x] Шрифты: Roboto для текста и JBMono для блоков кода.
|
|
||||||
- [x] Помидоры: PNG, JPG 120x120, SVG 64x64, ICO 32x32.
|
|
||||||
- [ ] Выбор цвета во время сборки, зелёный цвет по умолчанию.
|
|
||||||
- [ ] Кнопка прокрутки вверх в стиле Material.
|
|
||||||
|
|
||||||
### Лицензия
|
### Лицензия
|
||||||
|
|
||||||
Раньше к своим проектам в интернете прикладывал лицензию MIT, но когда появилась открытая
|
Раньше к своим проектам в интернете прикладывал лицензию MIT, но когда появилась открытая лицензия РФ
|
||||||
лицензия РФ — перешёл на неё, сразу внёс небольшие изменения в текст и дополнил от себя,
|
— перешёл на неё, сразу внёс небольшие изменения в текст и дополнил от себя, хотя я не юрист. Основной
|
||||||
хотя я не юрист. Основной смысл лицензии остался прежним — программа предоставляется
|
смысл лицензии остался прежним — программа предоставляется бесплатно, но без каких-либо гарантий,
|
||||||
бесплатно, но без каких-либо гарантий, и автор программы — это я.
|
и автор программы — это я.
|
||||||
|
|
||||||
- [OPEN_LICENSE.txt](OPEN_LICENSE.txt) — основной текст лицензии и пояснение к нему без
|
- [OPEN_LICENSE.txt](OPEN_LICENSE.txt) — основной текст лицензии и пояснение к нему без
|
||||||
изменений, можно найти в интернете. Из него удалил лишние пробелы и пробельные символы,
|
изменений, можно найти в интернете. Из него удалил лишние пробелы и пробельные символы,
|
||||||
|
|
18
WIKI.md
|
@ -1,7 +1,7 @@
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
<details open>
|
<details open>
|
||||||
<summary><h3>Содержание</h3></summary>
|
<summary><h3>Оглавление</h3></summary>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
|
@ -16,16 +16,17 @@
|
||||||
- [Комбинации элементов по столбцам](https://pomodoro2.mircloud.ru/ru/2021/09/13/combinations-by-columns.html) — 13.09.2021.
|
- [Комбинации элементов по столбцам](https://pomodoro2.mircloud.ru/ru/2021/09/13/combinations-by-columns.html) — 13.09.2021.
|
||||||
- [Треугольник Паскаля на Java](https://pomodoro2.mircloud.ru/ru/2021/09/09/pascals-triangle-in-java.html) — 09.09.2021.
|
- [Треугольник Паскаля на Java](https://pomodoro2.mircloud.ru/ru/2021/09/09/pascals-triangle-in-java.html) — 09.09.2021.
|
||||||
- [Декартово произведение множеств](https://pomodoro2.mircloud.ru/ru/2021/09/06/cartesian-product-of-sets.html) — 06.09.2021.
|
- [Декартово произведение множеств](https://pomodoro2.mircloud.ru/ru/2021/09/06/cartesian-product-of-sets.html) — 06.09.2021.
|
||||||
3. Оптимизация умножения матриц.
|
3. Умножение матриц и повороты.
|
||||||
- [Алгоритм Винограда — Штрассена](https://pomodoro3.mircloud.ru/ru/2022/02/10/winograd-strassen-algorithm.html) — 10.02.2022.
|
- [Алгоритм Винограда — Штрассена](https://pomodoro3.mircloud.ru/ru/2022/02/10/winograd-strassen-algorithm.html) — 10.02.2022.
|
||||||
- [Умножение матриц в параллельных потоках](https://pomodoro3.mircloud.ru/ru/2022/02/08/matrix-multiplication-parallel-streams.html) — 08.02.2022.
|
- [Умножение матриц в параллельных потоках](https://pomodoro3.mircloud.ru/ru/2022/02/08/matrix-multiplication-parallel-streams.html) — 08.02.2022.
|
||||||
- [Поворот матрицы на 180 градусов](https://pomodoro3.mircloud.ru/ru/2021/12/16/matrix-rotation-180-degrees.html) — 16.12.2021.
|
- [Поворот матрицы на 180 градусов](https://pomodoro3.mircloud.ru/ru/2021/12/16/matrix-rotation-180-degrees.html) — 16.12.2021.
|
||||||
- [Поворот матрицы на 90 градусов](https://pomodoro3.mircloud.ru/ru/2021/12/12/matrix-rotation-90-degrees.html) — 12.12.2021.
|
- [Поворот матрицы на 90 градусов](https://pomodoro3.mircloud.ru/ru/2021/12/12/matrix-rotation-90-degrees.html) — 12.12.2021.
|
||||||
- [Оптимизация умножения матриц](https://pomodoro3.mircloud.ru/ru/2021/12/09/optimizing-matrix-multiplication.html) — 09.12.2021.
|
- [Оптимизация умножения матриц](https://pomodoro3.mircloud.ru/ru/2021/12/09/optimizing-matrix-multiplication.html) — 09.12.2021.
|
||||||
4. Юмор. Поэзия.
|
4. Поэзия, юмор.
|
||||||
- [Поэзия начала 20 века](https://pomodoro4.mircloud.ru/ru/2022/01/07/poetry-early-20th-century.html) — 07.01.2022.
|
- [Поэзия начала 20 века](https://pomodoro4.mircloud.ru/ru/2022/01/07/poetry-early-20th-century.html) — 07.01.2022.
|
||||||
- [История про лес, название утеряно](https://pomodoro4.mircloud.ru/ru/2022/01/05/forest-story-title-lost.html) — 05.01.2022.
|
- [История про лес, название утеряно](https://pomodoro4.mircloud.ru/ru/2022/01/05/forest-story-title-lost.html) — 05.01.2022.
|
||||||
5. Рисуем картинки на Java.
|
5. Рисуем картинки текстом.
|
||||||
|
- [Дерево каталогов со ссылками](https://pomodoro5.mircloud.ru/ru/2023/08/03/directory-tree.html) — 03.08.2023.
|
||||||
- [Генератор паролей](https://pomodoro5.mircloud.ru/ru/2023/06/19/password-generator.html) — 19.06.2023.
|
- [Генератор паролей](https://pomodoro5.mircloud.ru/ru/2023/06/19/password-generator.html) — 19.06.2023.
|
||||||
- [Рисуем сердечко в консоли](https://pomodoro5.mircloud.ru/ru/2023/03/08/drawing-heart-in-console.html) — 08.03.2023.
|
- [Рисуем сердечко в консоли](https://pomodoro5.mircloud.ru/ru/2023/03/08/drawing-heart-in-console.html) — 08.03.2023.
|
||||||
- [График функции в консоли](https://pomodoro5.mircloud.ru/ru/2023/02/05/function-graph-in-console.html) — 05.02.2023.
|
- [График функции в консоли](https://pomodoro5.mircloud.ru/ru/2023/02/05/function-graph-in-console.html) — 05.02.2023.
|
||||||
|
@ -36,7 +37,7 @@
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
<details open>
|
<details open>
|
||||||
<summary><h3>Content</h3></summary>
|
<summary><h3>Contents</h3></summary>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
|
@ -51,16 +52,17 @@
|
||||||
- [Combinations of elements by columns](https://pomodoro2.mircloud.ru/en/2021/09/14/combinations-by-columns.html) — 14.09.2021.
|
- [Combinations of elements by columns](https://pomodoro2.mircloud.ru/en/2021/09/14/combinations-by-columns.html) — 14.09.2021.
|
||||||
- [Pascal's Triangle in Java](https://pomodoro2.mircloud.ru/en/2021/09/10/pascals-triangle-in-java.html) — 10.09.2021.
|
- [Pascal's Triangle in Java](https://pomodoro2.mircloud.ru/en/2021/09/10/pascals-triangle-in-java.html) — 10.09.2021.
|
||||||
- [Cartesian product of sets](https://pomodoro2.mircloud.ru/en/2021/09/07/cartesian-product-of-sets.html) — 07.09.2021.
|
- [Cartesian product of sets](https://pomodoro2.mircloud.ru/en/2021/09/07/cartesian-product-of-sets.html) — 07.09.2021.
|
||||||
3. Optimizing matrix multiplication.
|
3. Matrix multiplication and rotations.
|
||||||
- [Winograd — Strassen algorithm](https://pomodoro3.mircloud.ru/en/2022/02/11/winograd-strassen-algorithm.html) — 11.02.2022.
|
- [Winograd — Strassen algorithm](https://pomodoro3.mircloud.ru/en/2022/02/11/winograd-strassen-algorithm.html) — 11.02.2022.
|
||||||
- [Matrix multiplication in parallel streams](https://pomodoro3.mircloud.ru/en/2022/02/09/matrix-multiplication-parallel-streams.html) — 09.02.2022.
|
- [Matrix multiplication in parallel streams](https://pomodoro3.mircloud.ru/en/2022/02/09/matrix-multiplication-parallel-streams.html) — 09.02.2022.
|
||||||
- [Matrix rotation 180 degrees](https://pomodoro3.mircloud.ru/en/2021/12/17/matrix-rotation-180-degrees.html) — 17.12.2021.
|
- [Matrix rotation 180 degrees](https://pomodoro3.mircloud.ru/en/2021/12/17/matrix-rotation-180-degrees.html) — 17.12.2021.
|
||||||
- [Matrix rotation 90 degrees](https://pomodoro3.mircloud.ru/en/2021/12/13/matrix-rotation-90-degrees.html) — 13.12.2021.
|
- [Matrix rotation 90 degrees](https://pomodoro3.mircloud.ru/en/2021/12/13/matrix-rotation-90-degrees.html) — 13.12.2021.
|
||||||
- [Optimizing matrix multiplication](https://pomodoro3.mircloud.ru/en/2021/12/10/optimizing-matrix-multiplication.html) — 10.12.2021.
|
- [Optimizing matrix multiplication](https://pomodoro3.mircloud.ru/en/2021/12/10/optimizing-matrix-multiplication.html) — 10.12.2021.
|
||||||
4. Humor. Poetry.
|
4. Poetry, humor.
|
||||||
- [Poetry early 20th century](https://pomodoro4.mircloud.ru/en/2022/01/08/poetry-early-20th-century.html) — 08.01.2022.
|
- [Poetry early 20th century](https://pomodoro4.mircloud.ru/en/2022/01/08/poetry-early-20th-century.html) — 08.01.2022.
|
||||||
- [Forest story, title lost](https://pomodoro4.mircloud.ru/en/2022/01/06/forest-story-title-lost.html) — 06.01.2022.
|
- [Forest story, title lost](https://pomodoro4.mircloud.ru/en/2022/01/06/forest-story-title-lost.html) — 06.01.2022.
|
||||||
5. Drawing images in Java.
|
5. Drawing pictures with text.
|
||||||
|
- [Directory tree with links](https://pomodoro5.mircloud.ru/en/2023/08/04/directory-tree.html) — 04.08.2023.
|
||||||
- [Password generator](https://pomodoro5.mircloud.ru/en/2023/06/20/password-generator.html) — 20.06.2023.
|
- [Password generator](https://pomodoro5.mircloud.ru/en/2023/06/20/password-generator.html) — 20.06.2023.
|
||||||
- [Drawing heart in console](https://pomodoro5.mircloud.ru/en/2023/03/08/drawing-heart-in-console.html) — 08.03.2023.
|
- [Drawing heart in console](https://pomodoro5.mircloud.ru/en/2023/03/08/drawing-heart-in-console.html) — 08.03.2023.
|
||||||
- [Function graph in console](https://pomodoro5.mircloud.ru/en/2023/02/06/function-graph-in-console.html) — 06.02.2023.
|
- [Function graph in console](https://pomodoro5.mircloud.ru/en/2023/02/06/function-graph-in-console.html) — 06.02.2023.
|
||||||
|
|
|
@ -1,36 +1,36 @@
|
||||||
# [Maintenance](README.md)
|
# [Process management](README.md)
|
||||||
|
|
||||||
Process automation for static websites [«Pomodori»](https://hub.mos.ru/golovin.gg/pomodoro/blob/master/README.en.md).
|
Creating an archive, switching the domain, composing scripts and creating repositories for publishing.
|
||||||
|
|
||||||
Creating archives, building websites, creating local and remote repositories for publishing.
|
|
||||||
|
|
||||||
| Bash scripts | Actions performed |
|
| Bash scripts | Actions performed |
|
||||||
|:-------------------------------------------|:------------------------------------------------------------------------------------------------|
|
|:---------------------------------------------|:--------------------------------------------------------------------------------------------|
|
||||||
| [archive-common.sh](archive-common.sh) | Creating a common archive for the directories of projects on the current date. |
|
| [**archive_backup.sh**](archive_backup.sh) | Creating a common archive for the directories of projects on the current date. |
|
||||||
| [archive-packages.sh](archive-packages.sh) | Building websites, creating and copying archives for deployment. |
|
| [archive_packages.sh](archive_packages.sh) | Building websites, creating and copying archives for deployment. |
|
||||||
| [info-copy.sh](info-copy.sh) | Copying information files and building a tree in each of the directories of projects. |
|
| [**info_param.sh**](info_param.sh) | Parameter for other scripts. Switching the domain of the remote repository. |
|
||||||
| [**info-domain.sh**](info-domain.sh) | Used in other scripts. Setting the domain parameter of the remote repository. |
|
| [info_references.sh](info_references.sh) | Updating the domain of a remote repository in cross-references in descriptions. |
|
||||||
| [info-toggle.sh](info-toggle.sh) | Toggling the remote repository for cross-references in descriptions. |
|
| [info_tree_license.sh](info_tree_license.sh) | Building a directory tree for each project and copying license files. |
|
||||||
| [**repo-compose.sh**](repo-compose.sh) | Setting parameters for templates and copying ready-made scripts to the directories of projects. |
|
| [**repo_compose.sh**](repo_compose.sh) | Composing scripts with parameters and copying them to the directories of projects. |
|
||||||
| [repo-local.tmpl.sh](repo-local.tmpl.sh) | Script template without parameters to create a local repository. |
|
| [repo_gitea.tmpl.sh](repo_gitea.tmpl.sh) | Script template without parameters to create a remote repository gitea. |
|
||||||
| [repo-gitea.tmpl.sh](repo-gitea.tmpl.sh) | Script template without parameters to create a remote repository gitea. |
|
| [repo_gitlab.tmpl.sh](repo_gitlab.tmpl.sh) | Script template without parameters to create a remote repository gitlab. |
|
||||||
| [repo-gitlab.tmpl.sh](repo-gitlab.tmpl.sh) | Script template without parameters to create a remote repository gitlab. |
|
| [repo_local.tmpl.sh](repo_local.tmpl.sh) | Script template without parameters to create a local repository. |
|
||||||
| [**repo-update.sh**](repo-update.sh) | Executing scripts in parallel mode and creating repositories for the directories of projects. |
|
| [**repo_update.sh**](repo_update.sh) | Parallel execution of scripts and creation of repositories for the directories of projects. |
|
||||||
|
|
||||||
## Structure
|
## Directories of projects
|
||||||
|
|
||||||
Linear directory structure — all projects are located in one folder.
|
Single-level directory structure — local projects are located on the same level.
|
||||||
|
On the server, repositories with websites are moved to a separate group, and the
|
||||||
Scripts are launched from those directories, in which they are located.
|
rest of the repositories remain with the user. The directory structure for
|
||||||
|
[git.org.ru](https://git.org.ru/golovin.gg) and
|
||||||
|
[hub.mos.ru](https://hub.mos.ru/golovin.gg).
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
.
|
<a href='https://hub.mos.ru/golovin.gg'>.</a>
|
||||||
├─ <a href='https://hub.mos.ru/golovin.gg/color-tomato-theme/blob/master/README.en.md'>color-tomato-theme</a> — Decoration
|
├─ <a href='https://hub.mos.ru/golovin.gg/color-tomato-theme'>color-tomato-theme</a>
|
||||||
├─ <a href='https://hub.mos.ru/golovin.gg/older-tomato-theme/blob/master/README.en.md'>older-tomato-theme</a> — Decoration
|
├─ <a href='https://hub.mos.ru/golovin.gg/older-tomato-theme'>older-tomato-theme</a>
|
||||||
├─ <a href='https://hub.mos.ru/golovin.gg/pomodoro/blob/master/README.en.md'>pomodoro</a> — Description
|
├─ <a href='https://hub.mos.ru/golovin.gg/pomodoro'>pomodoro</a>
|
||||||
├─ <a href='https://hub.mos.ru/pomodoro/1/blob/master/README.en.md'>pomodoro1</a> — Website
|
├─ <a href='https://hub.mos.ru/pomodoro/1'>pomodoro1</a>
|
||||||
├─ <a href='https://hub.mos.ru/pomodoro/2/blob/master/README.en.md'>pomodoro2</a> — Website
|
├─ <a href='https://hub.mos.ru/pomodoro/2'>pomodoro2</a>
|
||||||
├─ <a href='https://hub.mos.ru/pomodoro/3/blob/master/README.en.md'>pomodoro3</a> — Website
|
├─ <a href='https://hub.mos.ru/pomodoro/3'>pomodoro3</a>
|
||||||
├─ <a href='https://hub.mos.ru/pomodoro/4/blob/master/README.en.md'>pomodoro4</a> — Website
|
├─ <a href='https://hub.mos.ru/pomodoro/4'>pomodoro4</a>
|
||||||
└─ <a href='https://hub.mos.ru/pomodoro/5/blob/master/README.en.md'>pomodoro5</a> — Website
|
└─ <a href='https://hub.mos.ru/pomodoro/5'>pomodoro5</a>
|
||||||
</pre>
|
</pre>
|
||||||
|
|
|
@ -1,36 +1,36 @@
|
||||||
# [Обслуживание](README.en.md)
|
# [Управление процессами](README.en.md)
|
||||||
|
|
||||||
Автоматизация процессов для статических вёб-сайтов [«Помидоры»](https://hub.mos.ru/golovin.gg/pomodoro/blob/master/README.md).
|
Создание архива, переключение домена, составление скриптов и создание репозиториев для публикации.
|
||||||
|
|
||||||
Создание архивов, сборка вёб-сайтов, создание локальных и удалённых репозиториев для публикации.
|
|
||||||
|
|
||||||
| Скрипты Bash | Выполняемые действия |
|
| Скрипты Bash | Выполняемые действия |
|
||||||
|:-------------------------------------------|:------------------------------------------------------------------------------------------|
|
|:---------------------------------------------|:---------------------------------------------------------------------------------|
|
||||||
| [archive-common.sh](archive-common.sh) | Создание общего архива для каталогов проектов на текущую дату. |
|
| [**archive_backup.sh**](archive_backup.sh) | Создание общего архива для каталогов проектов на текущую дату. |
|
||||||
| [archive-packages.sh](archive-packages.sh) | Сборка вёб-сайтов, создание и копирование архивов для развёртывания. |
|
| [archive_packages.sh](archive_packages.sh) | Сборка вёб-сайтов, создание и копирование архивов для развёртывания. |
|
||||||
| [info-copy.sh](info-copy.sh) | Копирование информационных файлов и построение дерева в каждом из каталогов проектов. |
|
| [**info_param.sh**](info_param.sh) | Параметр для других скриптов. Переключение домена удалённого репозитория. |
|
||||||
| [**info-domain.sh**](info-domain.sh) | Используется в других скриптах. Установка параметра домена удалённого репозитория. |
|
| [info_references.sh](info_references.sh) | Обновление домена удалённого репозитория в перекрёстных ссылках в описаниях. |
|
||||||
| [info-toggle.sh](info-toggle.sh) | Переключение удалённого репозитория для перекрёстных ссылок в описаниях. |
|
| [info_tree_license.sh](info_tree_license.sh) | Построение дерева каталогов для каждого проекта и копирование файлов лицензии. |
|
||||||
| [**repo-compose.sh**](repo-compose.sh) | Установка параметров для шаблонов и копирование готовых скриптов в каталоги проектов. |
|
| [**repo_compose.sh**](repo_compose.sh) | Составление скриптов с параметрами и копирование их в каталоги проектов. |
|
||||||
| [repo-local.tmpl.sh](repo-local.tmpl.sh) | Шаблон скрипта без параметров для создания локального репозитория. |
|
| [repo_gitea.tmpl.sh](repo_gitea.tmpl.sh) | Шаблон скрипта без параметров для создания удалённого репозитория gitea. |
|
||||||
| [repo-gitea.tmpl.sh](repo-gitea.tmpl.sh) | Шаблон скрипта без параметров для создания удалённого репозитория gitea. |
|
| [repo_gitlab.tmpl.sh](repo_gitlab.tmpl.sh) | Шаблон скрипта без параметров для создания удалённого репозитория gitlab. |
|
||||||
| [repo-gitlab.tmpl.sh](repo-gitlab.tmpl.sh) | Шаблон скрипта без параметров для создания удалённого репозитория gitlab. |
|
| [repo_local.tmpl.sh](repo_local.tmpl.sh) | Шаблон скрипта без параметров для создания локального репозитория. |
|
||||||
| [**repo-update.sh**](repo-update.sh) | Выполнение скриптов в параллельном режиме и создание репозиториев для каталогов проектов. |
|
| [**repo_update.sh**](repo_update.sh) | Параллельное выполнение скриптов и создание репозиториев для каталогов проектов. |
|
||||||
|
|
||||||
## Структура
|
## Каталоги проектов
|
||||||
|
|
||||||
Линейная структура каталогов — все проекты расположены в одной папке.
|
Одноуровневая структура каталогов — локальные проекты расположены на одном
|
||||||
|
уровне. На сервере репозитории с вёб-сайтами переходят в отдельную группу,
|
||||||
Скрипты запускаются из тех каталогов, в которых они расположены.
|
а остальные репозитории остаются у пользователя. Структура каталогов для
|
||||||
|
[git.org.ru](https://git.org.ru/golovin.gg) и
|
||||||
|
[hub.mos.ru](https://hub.mos.ru/golovin.gg).
|
||||||
|
|
||||||
<pre>
|
<pre>
|
||||||
.
|
<a href='https://hub.mos.ru/golovin.gg'>.</a>
|
||||||
├─ <a href='https://hub.mos.ru/golovin.gg/color-tomato-theme/blob/master/README.md'>color-tomato-theme</a> — Оформление
|
├─ <a href='https://hub.mos.ru/golovin.gg/color-tomato-theme'>color-tomato-theme</a>
|
||||||
├─ <a href='https://hub.mos.ru/golovin.gg/older-tomato-theme/blob/master/README.md'>older-tomato-theme</a> — Оформление
|
├─ <a href='https://hub.mos.ru/golovin.gg/older-tomato-theme'>older-tomato-theme</a>
|
||||||
├─ <a href='https://hub.mos.ru/golovin.gg/pomodoro/blob/master/README.md'>pomodoro</a> — Описание
|
├─ <a href='https://hub.mos.ru/golovin.gg/pomodoro'>pomodoro</a>
|
||||||
├─ <a href='https://hub.mos.ru/pomodoro/1/blob/master/README.md'>pomodoro1</a> — Вёб-сайт
|
├─ <a href='https://hub.mos.ru/pomodoro/1'>pomodoro1</a>
|
||||||
├─ <a href='https://hub.mos.ru/pomodoro/2/blob/master/README.md'>pomodoro2</a> — Вёб-сайт
|
├─ <a href='https://hub.mos.ru/pomodoro/2'>pomodoro2</a>
|
||||||
├─ <a href='https://hub.mos.ru/pomodoro/3/blob/master/README.md'>pomodoro3</a> — Вёб-сайт
|
├─ <a href='https://hub.mos.ru/pomodoro/3'>pomodoro3</a>
|
||||||
├─ <a href='https://hub.mos.ru/pomodoro/4/blob/master/README.md'>pomodoro4</a> — Вёб-сайт
|
├─ <a href='https://hub.mos.ru/pomodoro/4'>pomodoro4</a>
|
||||||
└─ <a href='https://hub.mos.ru/pomodoro/5/blob/master/README.md'>pomodoro5</a> — Вёб-сайт
|
└─ <a href='https://hub.mos.ru/pomodoro/5'>pomodoro5</a>
|
||||||
</pre>
|
</pre>
|
||||||
|
|
|
@ -3,5 +3,6 @@ echo "Создание общего архива для каталогов пр
|
||||||
cd ../..
|
cd ../..
|
||||||
filename="pomodoro-$(date '+%Y-%m-%d').zip"
|
filename="pomodoro-$(date '+%Y-%m-%d').zip"
|
||||||
rm -rf "$filename"
|
rm -rf "$filename"
|
||||||
7z a -tzip -ssw -mx9 -r0 "$filename" ./* -xr!".idea" -xr!".git" -x!".token_*" \
|
7z a -tzip -ssw -mx9 -r0 "$filename" ./* -xr!".idea" -xr!".git" -x!"*.iml" \
|
||||||
-x!"*.iml" -x!"*.gem" -x!"*.lock" -x!"*.zip" -x!"_site*" -x!".repo_*.sh"
|
-x!"*.gem" -x!"*.lock" -x!"*.zip" -x!"_site*" -x!".token_*" -x!".repo_*" \
|
||||||
|
-xr!"DIRECTORY_TREE.md" -xr!"CONTRIBUTING.md" -x!"*LICENSE*"
|
|
@ -7,6 +7,6 @@ for ((i = 1; i <= 5; i++)); do
|
||||||
cd "../pomodoro$i" || continue
|
cd "../pomodoro$i" || continue
|
||||||
./build.sh
|
./build.sh
|
||||||
./package.sh
|
./package.sh
|
||||||
cp -uv "pomodoro$i.zip" ..
|
cp -v "pomodoro$i.zip" ..
|
||||||
done
|
done
|
||||||
echo "Общее время выполнения: $(("$(date '+%s%3N')" - "$milliseconds")) мс."
|
echo "Общее время выполнения: $(("$(date '+%s%3N')" - "$milliseconds")) мс."
|
|
@ -1,26 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
echo "Копирование информационных файлов и построение дерева в каждом из каталогов проектов."
|
|
||||||
cd ..
|
|
||||||
basedir=$(pwd)
|
|
||||||
milliseconds=$(date '+%s%3N')
|
|
||||||
find .. -mindepth 1 -maxdepth 1 -type d | sort -r | while read -r dir; do
|
|
||||||
echo "Обработка: $dir"
|
|
||||||
cd "$dir" || continue
|
|
||||||
if [ "${dir##*/}" != "${basedir##*/}" ]; then
|
|
||||||
cp -uv "$basedir"/CONTRIBUTING.md .
|
|
||||||
cp -uv "$basedir"/*LICENSE* .
|
|
||||||
fi
|
|
||||||
{
|
|
||||||
echo "## Дерево каталогов"
|
|
||||||
echo
|
|
||||||
echo "<pre>"
|
|
||||||
tree -nvf --dirsfirst -I "*.gem|*.lock|*.zip|_site*" --noreport
|
|
||||||
echo "</pre>"
|
|
||||||
} >DIRECTORY-TREE.md
|
|
||||||
sed -i -e "s/ / /g" -e "s/ / /g" -e "s/──/─/g" DIRECTORY-TREE.md
|
|
||||||
find . -mindepth 1 -type f,d -not -regex '.*\.\(gem\|lock\|zip\)\|.*/\(\.\|_site\).*' | sort -r | while read -r file; do
|
|
||||||
# echo "${dir#*/} => \\$file >> ${file#*/} >> ${file##*/}"
|
|
||||||
sed -i "s|\\$file|<a href='${file#*/}'>${file##*/}<\/a>|g" DIRECTORY-TREE.md
|
|
||||||
done
|
|
||||||
done
|
|
||||||
echo "Время выполнения: $(("$(date '+%s%3N')" - "$milliseconds")) мс."
|
|
|
@ -1,4 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
#remote="git.org.ru"
|
|
||||||
remote="hub.mos.ru"
|
|
||||||
echo "Репозиторий: $remote"
|
|
4
bash_scripts/info_param.sh
Executable file
|
@ -0,0 +1,4 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#remote="git.org.ru"
|
||||||
|
remote="hub.mos.ru"
|
||||||
|
echo "Переключение домена удалённого репозитория: $remote"
|
|
@ -1,6 +1,6 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
echo "Переключение удалённого репозитория для перекрёстных ссылок в описаниях."
|
echo "Обновление домена удалённого репозитория в перекрёстных ссылках в описаниях."
|
||||||
source info-domain.sh || remote="git.org.ru"
|
remote="git.org.ru" && source info_param.sh
|
||||||
cd ../..
|
cd ../..
|
||||||
find . -type f -name 'README*.md' -o -name '*.gemspec' | sort -r | while read -r file; do
|
find . -type f -name 'README*.md' -o -name '*.gemspec' | sort -r | while read -r file; do
|
||||||
echo "$remote => $file"
|
echo "$remote => $file"
|
54
bash_scripts/info_tree_license.sh
Executable file
|
@ -0,0 +1,54 @@
|
||||||
|
#!/bin/bash
|
||||||
|
echo "Построение дерева каталогов для каждого проекта и копирование файлов лицензии."
|
||||||
|
function list_directory_contents {
|
||||||
|
eval "LC_COLLATE=C ls -A --group-directories-first $exclusions $1"
|
||||||
|
}
|
||||||
|
function directory_tree {
|
||||||
|
local path="$1"
|
||||||
|
local head="$2"
|
||||||
|
local tail="$3"
|
||||||
|
if [ "one" == "$4" ]; then
|
||||||
|
echo -n "/"
|
||||||
|
else
|
||||||
|
echo -ne "\n$head"
|
||||||
|
fi
|
||||||
|
echo -n "<a href='${path#*/}'>${path##*/}</a>"
|
||||||
|
if [ -d "$path" ]; then
|
||||||
|
local list
|
||||||
|
readarray -t list <<<"$(list_directory_contents "$path")"
|
||||||
|
local len=${#list[@]}
|
||||||
|
local i
|
||||||
|
for ((i = 0; i < len; i++)); do
|
||||||
|
if [ -z "${list[$i]}" ]; then
|
||||||
|
continue
|
||||||
|
elif ((len == 1)); then
|
||||||
|
directory_tree "$path/${list[$i]}" "$tail" "$tail" "one"
|
||||||
|
elif ((i < len - 1)); then
|
||||||
|
directory_tree "$path/${list[$i]}" "$tail├─ " "$tail│ "
|
||||||
|
else
|
||||||
|
directory_tree "$path/${list[$i]}" "$tail└─ " "$tail "
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
cd ..
|
||||||
|
basedir=$(pwd)
|
||||||
|
milliseconds=$(date '+%s%3N')
|
||||||
|
find .. -mindepth 1 -maxdepth 1 -type d | sort -r | while read -r dir; do
|
||||||
|
echo "Обработка: $dir"
|
||||||
|
cd "$dir" || continue
|
||||||
|
exclusions="-I \".git\" $(sed 's/^/ -I "/;s/$/"/' .gitignore | tr -d '\n')"
|
||||||
|
{
|
||||||
|
echo "## Дерево каталогов"
|
||||||
|
echo -ne "\n<pre>"
|
||||||
|
directory_tree .
|
||||||
|
echo -e "\n</pre>"
|
||||||
|
} >DIRECTORY_TREE.md
|
||||||
|
if [ "${dir##*/}" != "${basedir##*/}" ]; then
|
||||||
|
rm CONTRIBUTING.md
|
||||||
|
rm ./*LICENSE*
|
||||||
|
cp "$basedir"/CONTRIBUTING.md .
|
||||||
|
cp "$basedir"/*LICENSE* .
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
echo "Время выполнения: $(("$(date '+%s%3N')" - "$milliseconds")) мс."
|
|
@ -1,69 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
echo "Установка параметров для шаблонов и копирование готовых скриптов в каталоги проектов."
|
|
||||||
source info-domain.sh || remote="git.org.ru"
|
|
||||||
basedir=$(pwd)
|
|
||||||
cd ../..
|
|
||||||
find . -mindepth 1 -maxdepth 1 -type d | sort -r | while read -r dir; do
|
|
||||||
echo "Обработка: $dir"
|
|
||||||
if [ ! -f "$dir"/.gitignore ] || [ "$(grep -cx "\.repo_\*\.sh" "$dir"/.gitignore)" == 0 ]; then
|
|
||||||
echo ".repo_*.sh" >>"$dir"/.gitignore
|
|
||||||
echo "Обновлён файл .gitignore"
|
|
||||||
fi
|
|
||||||
owner="golovin.gg"
|
|
||||||
repo=${dir##*/}
|
|
||||||
description=""
|
|
||||||
type="usr"
|
|
||||||
wiki=""
|
|
||||||
if [[ "$dir" =~ "pomodoro" ]]; then
|
|
||||||
if [[ "$dir" =~ [[:digit:]] ]]; then
|
|
||||||
owner="pomodoro"
|
|
||||||
repo=${dir//[^[:digit:]]/}
|
|
||||||
type="org"
|
|
||||||
description="Вёб-сайт: https://${owner}${repo}.mircloud.ru"
|
|
||||||
else
|
|
||||||
if [ "$remote" == "hub.mos.ru" ]; then
|
|
||||||
wiki=$(uni2ascii -a U -qpsn "$dir"/WIKI.md)
|
|
||||||
else
|
|
||||||
wiki=$(basenc "$dir"/WIKI.md --base64)
|
|
||||||
fi
|
|
||||||
description="Серия статических вёб-сайтов / Содержание / Сборка / Оформление / Открытая лицензия РФ"
|
|
||||||
fi
|
|
||||||
elif [[ "$dir" =~ "color-tomato" ]]; then
|
|
||||||
description="Цветной помидор / Тема оформления Jekyll"
|
|
||||||
elif [[ "$dir" =~ "older-tomato" ]]; then
|
|
||||||
description="Старый помидор / Тема оформления Jekyll"
|
|
||||||
elif [[ "$dir" =~ "maintenance" ]]; then
|
|
||||||
description="Скрипты Bash / Обслуживание / Автоматизация процессов / Создание архивов / Сборка вёб-сайтов / "
|
|
||||||
description+="Копирование файлов / Построение дерева каталогов / Создание скриптов из шаблонов / "
|
|
||||||
description+="Шаблоны скриптов / Создание локальных и удалённых репозиториев"
|
|
||||||
elif [[ "$dir" =~ "draft" ]]; then
|
|
||||||
description="Черновик / Код с комментариями"
|
|
||||||
elif [[ "$dir" =~ "pictures" ]]; then
|
|
||||||
description="Картинки / Аватарки для репозиториев"
|
|
||||||
fi
|
|
||||||
{
|
|
||||||
echo "#!/bin/bash"
|
|
||||||
if [ "$remote" == "hub.mos.ru" ]; then
|
|
||||||
echo "user=\"golovin.gg\""
|
|
||||||
fi
|
|
||||||
echo "owner=\"$owner\""
|
|
||||||
echo "repo=\"$repo\""
|
|
||||||
echo "description=\"$description\""
|
|
||||||
echo "type=\"$type\""
|
|
||||||
echo "wiki=\"$wiki\""
|
|
||||||
if [ "$remote" == "hub.mos.ru" ]; then
|
|
||||||
echo "token=\"$(cat "$basedir/.token_hub_mos_ru")\""
|
|
||||||
cat "$basedir/repo-gitlab.tmpl.sh"
|
|
||||||
else
|
|
||||||
echo "token=\"$(cat "$basedir/.token_git_org_ru")\""
|
|
||||||
cat "$basedir/repo-gitea.tmpl.sh"
|
|
||||||
fi
|
|
||||||
} >"$dir"/.repo_remote.sh && chmod +x "$dir"/.repo_remote.sh
|
|
||||||
{
|
|
||||||
echo "#!/bin/bash"
|
|
||||||
echo "remote=\"$remote\""
|
|
||||||
echo "owner=\"$owner\""
|
|
||||||
echo "repo=\"$repo\""
|
|
||||||
cat "$basedir/repo-local.tmpl.sh"
|
|
||||||
} >"$dir"/.repo_local.sh && chmod +x "$dir"/.repo_local.sh
|
|
||||||
done
|
|
|
@ -1,7 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
echo "Выполнение скриптов в параллельном режиме и создание репозиториев для каталогов проектов."
|
|
||||||
cd ..
|
|
||||||
milliseconds=$(date '+%s%3N')
|
|
||||||
find .. -mindepth 1 -maxdepth 1 -type d -printf \
|
|
||||||
'cd %h/%f && ./.repo_remote.sh >/dev/null && ./.repo_local.sh >/dev/null\0' | xargs -L1 -0 -P0 bash -c
|
|
||||||
echo "Общее время выполнения: $(("$(date '+%s%3N')" - "$milliseconds")) мс."
|
|
64
bash_scripts/repo_compose.sh
Executable file
|
@ -0,0 +1,64 @@
|
||||||
|
#!/bin/bash
|
||||||
|
echo "Составление скриптов с параметрами и копирование их в каталоги проектов."
|
||||||
|
remote="git.org.ru" && source info_param.sh
|
||||||
|
basedir=$(pwd)
|
||||||
|
cd ../..
|
||||||
|
find . -mindepth 1 -maxdepth 1 -type d | sort -r | while read -r dir; do
|
||||||
|
echo "Обработка: $dir"
|
||||||
|
if [ ! -f "$dir"/.gitignore ] || [ "$(grep -cx "\.repo_\*" "$dir"/.gitignore)" == 0 ]; then
|
||||||
|
echo ".repo_*" >>"$dir"/.gitignore
|
||||||
|
echo "Обновлён файл .gitignore"
|
||||||
|
fi
|
||||||
|
owner="golovin.gg"
|
||||||
|
repo=${dir##*/}
|
||||||
|
description=""
|
||||||
|
type="usr"
|
||||||
|
wiki=""
|
||||||
|
if [ -f "$dir"/WIKI.md ]; then
|
||||||
|
if [ "$remote" == "hub.mos.ru" ]; then
|
||||||
|
wiki=$(uni2ascii -a U -qpsn "$dir"/WIKI.md)
|
||||||
|
else
|
||||||
|
wiki=$(basenc "$dir"/WIKI.md --base64)
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if [[ "$dir" =~ "pomodoro" ]]; then
|
||||||
|
if [[ "$dir" =~ [[:digit:]] ]]; then
|
||||||
|
owner="pomodoro"
|
||||||
|
repo=${dir//[^[:digit:]]/}
|
||||||
|
type="org"
|
||||||
|
description="Вёб-сайт: https://${owner}${repo}.mircloud.ru"
|
||||||
|
else
|
||||||
|
description="Описание / Управление процессами / Незавершённые публикации / Аватарки для репозиториев"
|
||||||
|
fi
|
||||||
|
elif [[ "$dir" =~ "color-tomato" ]]; then
|
||||||
|
description="Цветной помидор / Тема оформления Jekyll"
|
||||||
|
elif [[ "$dir" =~ "older-tomato" ]]; then
|
||||||
|
description="Старый помидор / Тема оформления Jekyll"
|
||||||
|
fi
|
||||||
|
{
|
||||||
|
echo "#!/bin/bash"
|
||||||
|
if [ "$remote" == "hub.mos.ru" ]; then
|
||||||
|
echo "user=\"golovin.gg\""
|
||||||
|
fi
|
||||||
|
echo "owner=\"$owner\""
|
||||||
|
echo "repo=\"$repo\""
|
||||||
|
echo "description=\"$description\""
|
||||||
|
echo "type=\"$type\""
|
||||||
|
echo "wiki=\"$wiki\""
|
||||||
|
if [ "$remote" == "hub.mos.ru" ]; then
|
||||||
|
echo "token=\"$(cat "$basedir/.token_hub_mos_ru")\""
|
||||||
|
cat "$basedir/repo_gitlab.tmpl.sh"
|
||||||
|
else
|
||||||
|
echo "token=\"$(cat "$basedir/.token_git_org_ru")\""
|
||||||
|
cat "$basedir/repo_gitea.tmpl.sh"
|
||||||
|
fi
|
||||||
|
} >"$dir"/.repo_remote.sh && chmod +x "$dir"/.repo_remote.sh
|
||||||
|
{
|
||||||
|
echo "#!/bin/bash"
|
||||||
|
echo "remote=\"$remote\""
|
||||||
|
echo "owner=\"$owner\""
|
||||||
|
echo "repo=\"$repo\""
|
||||||
|
echo "folder=\"${dir##*/}\""
|
||||||
|
cat "$basedir/repo_local.tmpl.sh"
|
||||||
|
} >"$dir"/.repo_local.sh && chmod +x "$dir"/.repo_local.sh
|
||||||
|
done
|
|
@ -2,7 +2,7 @@ if [ -z "$token" ] || [ -z "$owner" ] || [ -z "$repo" ] || [ -z "$description" ]
|
||||||
echo "Не указаны обязательные параметры." && exit 2
|
echo "Не указаны обязательные параметры." && exit 2
|
||||||
fi
|
fi
|
||||||
echo "Создание удалённого репозитория для текущего каталога."
|
echo "Создание удалённого репозитория для текущего каталога."
|
||||||
seconds=2
|
seconds=3
|
||||||
milliseconds=$(date '+%s%3N')
|
milliseconds=$(date '+%s%3N')
|
||||||
echo "Удаление старого репозитория."
|
echo "Удаление старого репозитория."
|
||||||
curl -X DELETE "https://git.org.ru/api/v1/repos/$owner/$repo" \
|
curl -X DELETE "https://git.org.ru/api/v1/repos/$owner/$repo" \
|
|
@ -80,8 +80,12 @@ echo
|
||||||
echo "Ожидание $seconds с."
|
echo "Ожидание $seconds с."
|
||||||
sleep $seconds
|
sleep $seconds
|
||||||
echo "Добавление аватарки для репозитория."
|
echo "Добавление аватарки для репозитория."
|
||||||
|
picture=$repo
|
||||||
|
if [ "$type" == "org" ]; then
|
||||||
|
picture="pomodoro-website"
|
||||||
|
fi
|
||||||
curl -i -X PUT "https://hub.mos.ru/api/v4/projects/$owner%2F$repo" \
|
curl -i -X PUT "https://hub.mos.ru/api/v4/projects/$owner%2F$repo" \
|
||||||
-H "PRIVATE-TOKEN: $token" \
|
-H "PRIVATE-TOKEN: $token" \
|
||||||
-F "avatar=@../pictures/pictures/$repo.jpg"
|
-F "avatar=@../pomodoro/pictures/$picture.jpg"
|
||||||
echo
|
echo
|
||||||
echo "Время создания удалённого репозитория: $(("$(date '+%s%3N')" - "$milliseconds")) мс."
|
echo "Время создания удалённого репозитория: $(("$(date '+%s%3N')" - "$milliseconds")) мс."
|
|
@ -1,32 +1,39 @@
|
||||||
if [ -z "$remote" ] || [ -z "$owner" ] || [ -z "$repo" ]; then
|
if [ -z "$remote" ] || [ -z "$owner" ] || [ -z "$repo" ] || [ -z "$folder" ]; then
|
||||||
echo "Не указаны обязательные параметры." && exit 2
|
echo "Не указаны обязательные параметры." && exit 2
|
||||||
fi
|
fi
|
||||||
echo "Создание локального репозитория, подключение к удалённому и передача данных."
|
echo "Создание локального репозитория, подключение к удалённому и передача данных."
|
||||||
|
seconds=3
|
||||||
milliseconds=$(date '+%s%3N')
|
milliseconds=$(date '+%s%3N')
|
||||||
rm -rf .git
|
rm -rf .git
|
||||||
git init -b master
|
git init -b master
|
||||||
git remote add "$remote" "git@$remote:$owner/$repo.git"
|
git remote add "$remote" "git@$remote:$owner/$repo.git"
|
||||||
git add .git*
|
git add .git*
|
||||||
git commit -m "Инициализация / $repo"
|
git commit -m "Инициализация / $folder"
|
||||||
git push -u "$remote" master
|
if [ "$remote" == "hub.mos.ru" ]; then
|
||||||
|
echo "Второй пуш, потому что лингвист с первого раза не срабатывает."
|
||||||
|
git push -u "$remote" master
|
||||||
|
echo "Ожидание $seconds с."
|
||||||
|
sleep $seconds
|
||||||
|
fi
|
||||||
git add CONTRIBUTING.md
|
git add CONTRIBUTING.md
|
||||||
git add ./*LICENSE*
|
git add \*LICENSE*
|
||||||
git commit -m "Открытая лицензия РФ"
|
git commit -m "Открытая лицензия РФ"
|
||||||
git add DIRECTORY-TREE.md
|
git add DIRECTORY_TREE.md
|
||||||
git add README*
|
git add WIKI.md
|
||||||
|
git add \*README*
|
||||||
git commit -m "Описание проекта"
|
git commit -m "Описание проекта"
|
||||||
git add ./*.sh
|
git add \*.sh
|
||||||
git commit -m "Скрипты bash"
|
git commit -m "Скрипты bash"
|
||||||
git add ./*.min.css
|
git add \*.min.css
|
||||||
git add ./*.min.js
|
git add \*.min.js
|
||||||
git add ./*.woff
|
git add \*.woff
|
||||||
git commit -m "Сторонние материалы"
|
git commit -m "Сторонние материалы"
|
||||||
git add ./*.bmp
|
git add \*.bmp
|
||||||
git add ./*.gif
|
git add \*.gif
|
||||||
git add ./*.ico
|
git add \*.ico
|
||||||
git add ./*.jpg
|
git add \*.jpg
|
||||||
git add ./*.png
|
git add \*.png
|
||||||
git add ./*.svg
|
git add \*.svg
|
||||||
git commit -m "Картинки"
|
git commit -m "Картинки"
|
||||||
find . -type f -not -regex '.*\.\(gem\|zip\|lock\)\|.*/\(\.\|_site\).*' | sort -r | while read -r file; do
|
find . -type f -not -regex '.*\.\(gem\|zip\|lock\)\|.*/\(\.\|_site\).*' | sort -r | while read -r file; do
|
||||||
echo "Обработка: $file"
|
echo "Обработка: $file"
|
7
bash_scripts/repo_update.sh
Executable file
|
@ -0,0 +1,7 @@
|
||||||
|
#!/bin/bash
|
||||||
|
echo "Параллельное выполнение скриптов и создание репозиториев для каталогов проектов."
|
||||||
|
cd ..
|
||||||
|
milliseconds=$(date '+%s%3N')
|
||||||
|
find .. -mindepth 1 -maxdepth 1 -type d -printf \
|
||||||
|
'cd %h/%f && ./.repo_remote.sh >.repo_remote.log && ./.repo_local.sh >.repo_local.log\0' | xargs -L1 -0 -P0 bash -c
|
||||||
|
echo "Общее время выполнения: $(("$(date '+%s%3N')" - "$milliseconds")) мс."
|
|
@ -1,75 +0,0 @@
|
||||||
# Дерево каталогов со ссылками
|
|
||||||
|
|
||||||
Напишем скрипт Bash для создания файла [`DIRECTORY-TREE.md`](../DIRECTORY-TREE.md) в корне репозитория со
|
|
||||||
ссылками на его объекты. Будем использовать полученный файл для навигации по репозиторию в вёб-интерфейсе.
|
|
||||||
|
|
||||||
<details>
|
|
||||||
<summary>
|
|
||||||
<b>1.</b> Выполняем программу <code>tree</code> и получаем дерево каталогов в текстовом виде, где для
|
|
||||||
каждогофайла указываем полный префикс пути Linux от корня репозитория. Папки выводим перед файлами и
|
|
||||||
применяем буквенно-цифровую сортировку. Исключаем файлы и папки, которых не должно быть в репозитории.
|
|
||||||
Полученное дерево помещаем в блок <code><pre></code> и добавляем заголовок.
|
|
||||||
</summary>
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
</details>
|
|
||||||
|
|
||||||
<details>
|
|
||||||
<summary>
|
|
||||||
<b>2.</b> Для красоты, веточки-рамки у дерева box-drawing делаем короче. Для замены подстрок используем
|
|
||||||
программу <code>sed</code> и регулярные выражения. Пробельные символы заменяем на пробелы. Пошагово
|
|
||||||
формируем файл <code>DIRECTORY-TREE.md</code>.
|
|
||||||
</summary>
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
</details>
|
|
||||||
|
|
||||||
<details>
|
|
||||||
<summary>
|
|
||||||
<b>3.</b> Далее выполняем программу <code>find</code> и получаем список файлов и каталогов Linux, сортируем
|
|
||||||
этот список в обратном порядке от самого длинного пути до самого короткого, т. е. вложенные файлы будут перед
|
|
||||||
их каталогами, чтобы не получилось заменить только часть пути. Затем обходим отсортированный список и заменяем
|
|
||||||
в полученном дереве относительный путь Linux на относительную ссылку HTTP в теге <code><a></code> и именем
|
|
||||||
файла в представлении ссылки.
|
|
||||||
</summary>
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
</details>
|
|
||||||
|
|
||||||
<details>
|
|
||||||
<summary>
|
|
||||||
<b>4.</b> Получаем файл <code>DIRECTORY-TREE.md</code> для вёб-интерфейса репозитория — Markdown преобразованный в HTML.
|
|
||||||
</summary>
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
</details>
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
<details open>
|
|
||||||
<summary><h3 id="directory-tree.sh">directory-tree.sh</h3></summary>
|
|
||||||
|
|
||||||
```bash
|
|
||||||
#!/bin/bash
|
|
||||||
echo "Построение дерева каталогов со ссылками."
|
|
||||||
{
|
|
||||||
echo "## Дерево каталогов"
|
|
||||||
echo
|
|
||||||
echo "<pre>"
|
|
||||||
tree -nvf --dirsfirst -I "*.gem|*.lock|*.zip|_site*" --noreport
|
|
||||||
echo "</pre>"
|
|
||||||
} >DIRECTORY-TREE.md
|
|
||||||
sed -i -e "s/ / /g" -e "s/ / /g" -e "s/──/─/g" DIRECTORY-TREE.md
|
|
||||||
find . -mindepth 1 -type f,d -not -regex '.*\.\(gem\|lock\|zip\)\|.*/\(\.\|_site\).*' | sort -r | while read -r file; do
|
|
||||||
echo "Обработка: \\$file >> ${file#*/} >> ${file##*/}"
|
|
||||||
sed -i "s|\\$file|<a href='${file#*/}'>${file##*/}<\/a>|g" DIRECTORY-TREE.md
|
|
||||||
done
|
|
||||||
```
|
|
||||||
|
|
||||||
</details>
|
|
||||||
|
|
||||||
---
|
|
|
@ -1,5 +1,4 @@
|
||||||
|
|
||||||
| Черновик / Код с комментариями | | |
|
| Незавершённые публикации | Язык | Обновление |
|
||||||
|-----------------------------------------------------------------------|------|------------|
|
|:-----------------------------------------------------------|------|------------|
|
||||||
| [Дерево каталогов со ссылками](2023-06-13-directory-tree.md) | Bash | 13.06.2023 |
|
| [Циклический алгоритм распределения задач](round-robin.md) | Java | 2023.06.05 |
|
||||||
| [Циклический алгоритм распределения задач](2023-06-05-round-robin.md) | Java | 05.06.2023 |
|
|
||||||
|
|
BIN
pictures/2.jpg
Before Width: | Height: | Size: 17 KiB |
BIN
pictures/3.jpg
Before Width: | Height: | Size: 17 KiB |
BIN
pictures/4.jpg
Before Width: | Height: | Size: 17 KiB |
BIN
pictures/5.jpg
Before Width: | Height: | Size: 17 KiB |
|
@ -1,17 +1,17 @@
|
||||||
|
|
||||||
| Картинки / Аватарки для репозиториев |
|
| Аватарки для репозиториев |
|
||||||
|-------------------------------------------------------------------------------------------------------------------------|
|
|-----------------------------------------------|
|
||||||
| [color-tomato-theme](https://hub.mos.ru/golovin.gg/color-tomato-theme/blob/master/README.md) |
|
| color-tomato-theme |
|
||||||
| [](https://hub.mos.ru/golovin.gg/color-tomato-theme/blob/master/README.md) |
|
|  |
|
||||||
| [draft](https://hub.mos.ru/golovin.gg/pomodoro/blob/master/draft/README.md) |
|
| older-tomato-theme |
|
||||||
| [](https://hub.mos.ru/golovin.gg/pomodoro/blob/master/draft/README.md) |
|
|  |
|
||||||
| [maintenance](https://hub.mos.ru/golovin.gg/pomodoro/blob/master/bash_scripts/README.md) |
|
| pomodoro |
|
||||||
| [](https://hub.mos.ru/golovin.gg/pomodoro/blob/master/bash_scripts/README.md) |
|
|  |
|
||||||
| [older-tomato-theme](https://hub.mos.ru/golovin.gg/older-tomato-theme/blob/master/README.md) |
|
| pomodoro-website |
|
||||||
| [](https://hub.mos.ru/golovin.gg/older-tomato-theme/blob/master/README.md) |
|
|  |
|
||||||
| [pictures](https://hub.mos.ru/golovin.gg/pomodoro/blob/master/pictures/README.md) |
|
| bash_scripts |
|
||||||
| [](https://hub.mos.ru/golovin.gg/pomodoro/blob/master/pictures/README.md) |
|
|  |
|
||||||
| [pomodoro](https://hub.mos.ru/golovin.gg/pomodoro/blob/master/README.md) |
|
| draft |
|
||||||
| [](https://hub.mos.ru/golovin.gg/pomodoro/blob/master/README.md) |
|
|  |
|
||||||
| [pomodoro[1-5]](https://hub.mos.ru/pomodoro) |
|
| pictures |
|
||||||
| [![pomodoro[1-5]](1.jpg)](https://hub.mos.ru/pomodoro) |
|
|  |
|
||||||
|
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 68 KiB |
Before Width: | Height: | Size: 67 KiB |
Before Width: | Height: | Size: 108 KiB |
Before Width: | Height: | Size: 54 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |