ringfairy
?Это генератор веб-рингов, написанный на Rust. Он похож на генератор статических сайтов, но специализируется на веб-кольцах.
В отличие от большинства веб-рингов, которые используют какой-либо серверный код (например, PHP, JS) для перенаправления посетителей, этот подход использует перенаправление HTML.
Статический подход позволяет упростить требования к хостингу (он может размещаться на страницах Neocities, GitHub и т. д.), поскольку устраняет необходимость обработки на стороне сервера.
Обновление веб-кольца потребует от вас полной регенерации. Это быстро и просто, и не нужно делать это часто. Но это дополнительный шаг, которого могут не быть в обычных серверных системах, если вы не автоматизируете его, например, с помощью GitHub Actions.
Веб-кольцо — это совокупность веб-сайтов, связанных между собой в цикле. Каждый веб-сайт содержит ссылки на предыдущий и следующий веб-сайты в кольце. Если вы пройдете достаточно далеко, в конечном итоге вы окажетесь там, где начали!
Веб-ринги были популярны на заре Интернета как способ для владельцев веб-сайтов продвигать контент друг друга и поощрять участие сообщества.
Это инструмент для всех, у кого есть личный веб-сайт или блог и кто хочет общаться с другими. Вы можете использовать его для развития собственного интернет-сообщества с нуля!
Высокая оптимизация
Автоматическое обнаружение веб-ссылок на сайтах
Полностью настраиваемый с помощью шаблонов
Создает файл OPML со всеми сайтами, имеющими RSS-канал.
Выбор интерфейса командной строки или файла конфигурации.
Поддержка файлов удаленной конфигурации.
Перемешать вариант
Минимизация HTML
Контактная информация владельца веб-сайта с автоматической ссылкой
Отлавливает повторяющиеся записи
Подробное ведение журнала
Вебринги с использованием ringfairy
(насколько я знаю):
Ghostring — сайты на тему ужасов
Crafting — для сообщества System Crafters
Роборинг - для роботизированных существ
Если вы решите запустить свой собственный веб-сайт с помощью этого инструмента, дайте мне знать, и я опубликую его здесь! :)
Загрузите двоичный файл выпуска ИЛИ клонируйте репозиторий и выполните сборку из исходного кода.
Измените файл websites.json
(по умолчанию), включив в него сведения о веб-сайтах, которые вы хотите включить в веб-кольцо. Каждый веб-сайт должен быть добавлен в список.
Измените файл config.json
(по умолчанию) в соответствии с вашими потребностями.
(Необязательно) Настройте страницы, изменив шаблоны, расположенные в папке data/templates
(по умолчанию). Вы также можете использовать удаленные файлы в качестве шаблонов. См. раздел «Шаблоны» ниже.
(Необязательно) Добавьте дополнительные файлы в папку data/assets
(по умолчанию). Все, что находится в этой папке, будет просто скопировано в выходной каталог. Здесь вы можете добавить дополнительные элементы, такие как изображения, HTML/CSS и т. д.
Запустите ringfairy
, чтобы сгенерировать веб-кольцо, написав HTML-файлы, содержащие перенаправления. Каждый сайт будет ссылаться на следующий/предыдущий сайт в файле websites.json
, образуя ваше веб-кольцо!
Разместите сгенерированные файлы на предпочитаемой вами хостинговой платформе.
Аргументы командной строки имеют приоритет над любыми настройками в файле конфигурации.
-h
, --help
: вывести справку
-c
, --config
: укажите расположение дополнительного файла конфигурации. Это может быть удаленно; например HTTP-ссылка на соответствующий файл JSON на Pastebin, GitHub и т. д.
-l
, --list
: укажите файл, содержащий список веб-сайтов. По умолчанию: ./websites.json
-o
, --output
: Определите выходную папку, в которой будут сохраняться сгенерированные файлы. По умолчанию: ./webring
-a
, --assets
: укажите папку ресурсов. Все файлы здесь будут скопированы в выходную папку. Это позволяет вам включать любые дополнительные файлы по вашему желанию, например изображения или дополнительные веб-страницы и т. д. По умолчанию: ./data/assets
-t
, --templates
: укажите путь к папке шаблона. Используйте template.html
для страниц перенаправления (т. е. HTML, составляющего веб-кольцо). Сюда можно добавить любые дополнительные страницы, если вы хотите, чтобы они были заполнены сгенерированным контентом. По умолчанию: ./data/templates
-u
, --url
: базовый URL-адрес веб-кольца. Что-то вроде «https://example.com».
-n
, --name
: Имя веб-кольца. Что-то вроде «Призрака».
-d
, --description
: Краткое описание/о веб-кольце.
-m
, --maintainer
: Владельцем/сопровождающим веб-ринга может быть физическое лицо или организация.
-w
, --website
: ссылка на веб-сайт владельца веб-сайта, а не базовый URL-адрес веб-кольца.
--skip-minification
: выводит страницы без их оптимизации или изменения. Попробуйте это, если вы хотите, чтобы сгенерированные файлы можно было редактировать вручную позже, или если у вас возникли непредвиденные проблемы с выводом.
--skip-verification
: Генерирует файлы без проверки на наличие потенциальных проблем... неразумно!
--dry-run
: запускает приложение без вывода каких-либо файлов.
-s
, --shuffle
: случайным образом меняет порядок веб-сайтов во время генерации. Это полностью внутреннее решение и не влияет на входной список веб-сайтов; вы можете неоднократно перетасовывать одну и ту же паутину, не теряя исходную последовательность.
-v
, --verbose
: вывести информацию на консоль. -vv
для очень подробного режима, чтобы увидеть еще больше информации.
-V
, --version
: Версия для печати
-A
, --audit
: режим аудита. Очищает каждый веб-сайт в списке, проверяя, можно ли найти следующие/предыдущие ссылки. В противном случае сайт не будет добавлен в веб-кольцо для этой сборки. Это означает, что вам не нужно немедленно удалять несоответствующие веб-сайты; сайты просто не будут отображаться, пока не будут найдены ссылки. Если вы используете это без подробного режима ( -v
), вы можете не увидеть результаты аудита. Не используйте режим аудита, если вы создаете веб-кольцо в автономном режиме или если вам нужна максимально возможная скорость сборки.
-M
, --audit_retries_max
: в режиме аудита максимальное количество попыток повторного подключения к сайту. По умолчанию: 2
-D
, --audit_retries_delay
: в режиме аудита задержка в миллисекундах перед попыткой повторного подключения к не отвечающему сайту. По умолчанию: 100
-U
, --client_user_agent
: в режиме аудита строка пользовательского агента, которая будет использоваться веб-скрейпером.
-H
, --client_header
: в режиме аудита строка заголовка, которая будет использоваться парсером.
По умолчанию приложение регистрирует только сообщения об ошибках. Передав -v
/ --verbose
(в командной строке) или установив "verbose": true
(в конфигурации JSON), вы можете указать приложению отображать журналы уровня предупреждений. Чтобы отобразить журналы информационного уровня, введите -vv
; для отладки -vvv
.
Чтобы сохранить эти журналы в файл, вы можете перенаправить стандартный вывод и стандартные ошибки в файл при запуске приложения. Например:
$ ./ringfairy > log.txt 2>&1
По умолчанию шаблоны располагаются в папке ./data/templates
; этот путь можно указать с помощью аргумента командной строки --templates
или с помощью path_templates
в файле конфигурации.
Шаблоны содержат теги, которые будут заменены сгенерированным контентом. Вы можете настроить сгенерированные файлы, добавив контент до или после тегов. Репозиторий включает в себя базовые примеры шаблонов, которые помогут вам начать работу.
В папке шаблонов файл template.html
используется для создания каждой страницы next.html
/ previous.html
, содержащей перенаправления для каждого веб-сайта. Тег {{ url }}
вставляется генератором на каждую страницу и обеспечивает работу веб-кольца.
Помимо template.html
, папка templates может содержать любые другие шаблоны, которые вы захотите.
Например, для веб-сайта хорошей идеей будет иметь центральную страницу со списком всех сайтов. Вы можете поместить это в index.html
или создать специальную страницу, например list.html
, table.html
и т. д. Просто используйте тег {{ table_of_sites }}
в шаблоне, и ringfairy
сгенерирует форматированный список сайтов в веб-кольцо.
В настоящее время в шаблонах можно использовать следующие теги:
{{ table_of_sites }}
создает форматированную HTML-таблицу со списком информации для всех сайтов в веб-кольце.
{{ number_of_sites }}
показывает текущий размер веб-кольца.
{{ current_time }}
отображает время генерации, показывая, когда страница обновлялась в последний раз.
{{ opml }}
вставляет относительный путь к файлу OPML кольца.
{{ base_url }}
печатает основной URL-адрес веб-кольца, заданный пользователем.
{{ ring_name }}
отображает заголовок веб-кольца.
{{ ring_description }}
показывает описание веб-кольца в соответствии с настройками.
{{ ring_owner }}
показывает имя владельца веб-ринга.
{{ ring_owner_site }}
печатает URL-адрес сайта владельца веб-ринга.
{{ featured_site_name }}
печатает случайное имя «рекомендуемого сайта».
{{ featured_site_description }}
печатает описание случайного избранного сайта.
{{ featured_site_url }}
печатает URL-адрес случайного избранного сайта.
На данный момент {{ url }}
— это специальный тег, который работает в template.html
только для следующих/предыдущих ссылок.
__ .-' | / <| / ' |_.- o-o / C -._) / ', | | `-,_,__,' (,,)====[_]=| '. ____/ | -|-|_ |____)_)
Вклады приветствуются! Если у вас есть какие-либо предложения по улучшениям или новым функциям, не стесняйтесь открыть проблему или отправить запрос на включение.