Skip to content

Static website generator with a local web server, FTP updater, and AI/LLM support.

License

Notifications You must be signed in to change notification settings

ArtNazarov/HtmlBuilder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

b2f8c22 · Mar 18, 2025
Dec 20, 2024
Dec 20, 2024
Dec 20, 2024
Mar 14, 2025
Dec 20, 2024
Dec 18, 2024
Mar 16, 2025
Dec 20, 2024
Dec 20, 2024
Jan 6, 2025
Feb 26, 2025
Feb 23, 2025
Feb 26, 2025
Feb 10, 2025
Jul 28, 2024
Dec 20, 2024
Dec 20, 2024
Dec 20, 2024
Dec 20, 2024
Mar 17, 2025
Dec 20, 2024
Mar 17, 2025
Feb 22, 2025
Dec 20, 2024
Dec 20, 2024
Jul 28, 2024
Mar 17, 2025
Jul 28, 2024
Dec 20, 2024
Jan 8, 2025
Dec 20, 2024
Dec 20, 2024
Dec 20, 2024
Dec 20, 2024
Mar 18, 2025
Mar 17, 2025
Mar 18, 2025
Mar 18, 2025
Mar 17, 2025
Jul 28, 2024
Mar 18, 2025
Dec 20, 2024
Dec 20, 2024
Mar 18, 2025
Mar 18, 2025
Jan 6, 2025
Dec 20, 2024
Dec 20, 2024
Mar 16, 2025
Dec 20, 2024
Dec 20, 2024
Feb 21, 2025
Mar 17, 2025
Jul 28, 2024
Mar 17, 2025
Jan 6, 2025
Aug 9, 2024
Aug 9, 2024
Aug 10, 2024
Dec 20, 2024
Dec 20, 2024
Dec 20, 2024
Feb 22, 2025
Dec 20, 2024
Dec 20, 2024
Dec 20, 2024
Dec 20, 2024
Dec 20, 2024
Mar 17, 2025
Dec 20, 2024
Mar 16, 2025

Repository files navigation

HtmlBuilder

Написанный на FPC/Lazarus генератор статических сайтов Written in FreePascal/Lazarus generator of static html websites

AI assistant with Ollama mode / ИИ ассистент в режиме Ollama

AI assistant

Html markup preview / Превью разметки HTML

Html preview

Earlier UI sample (localization) / Прежний вид интерфейса (локализация)

Screen pages editor

Built-in webserver / Встроенный веб-сервер

With own webserver

Update content / Обновление контента

Using ftp

Uploading with bridge / Выгрузка с помощью моста

Using bridge API

More screens / Больше скриншотов https://htmlbuilder.onhalt.site/ Some articles / Некоторые статьи blog

Project / Проект

Website in Russian / Сайт на русском HtmlBuilder project page

Documentation for developers / Документация для разработчика PasDoc documention

Blog with examples / Блог с примерами Blog

Usage / Использование

Will be useful for creating websites hosted at P2P networks ( such Maelstrom, FreeNet, I2P etc ) or jamstack hostings like Vercel Может быть полезен для создания сайтов, используемых в пиринговых сетях или хостингах jamstack типа Vercel

What's new / Что нового

  1. Engine now use sqlite. Движок использует sqlite
  2. Can use annotations and full descriptions at sections. Аннотации и полные описания к разделам
  3. Using tags. Использование тегов
  4. Tree/flat structure. Плоская/древовидная структура сайта
  5. Autosave/autoload special settings. Автосохранение/загрузка настроек
  6. Backup database / Резервное копирование базы
  7. Commit to github pages / Публикация на GH pages
  8. Wysiwyg editor addition example / Пример дополнения с Wysiwyg
  9. Menu constructor / Конструктор меню
  10. Custom fields in content / Пользовательские поля в контенте
  11. Uploading with bridge API / Выгрузка с помощью bridge API
  12. Writing builded files in separate threads / Запись собранных файлов в несколько потоков
  13. Storing images in sqlite3 blob and quick image links / Хранение иллюстраций в поле BLOB базы sqlite3 и быстрые ссылки на изображения вида
((image_id))

Note: the preview is disabled if the markup contains raw image tag. Use quick image links instead of img tag.

  1. Translations to English, Spanish, Chinese, Korean Munhwaŏ / Переводы на английский, испанский, китайский, корейский

  2. Storing attached documents in blob / Хранение прикрепленных документов Will placed in folder /files/

||document_id||

  1. Drag and drop files from file manager into templates / Перетаскивание файлов из файлового менеджера в шаблоны

Attachments

Example1

Example2

Example3

Example4

  1. Emojies by shortcodes / Эмодзи по шорткодам

  2. Quick add js code statements with shortcuts / Быстрое добавление операторов кода js с помощью горячих клавиш

  3. Screen keyboard for typing HTML mnemonics / Экранная клавиатура для набора мнемоник HTML

  4. Reformatting of markup / Переформатирование разметки

  5. Hide tabs / Скрытие вкладок

  6. Quick switching to tab / Быстрое переключение на вкладку

  7. Adding css properties using menu items / Добавление свойств CSS с помощью пунктов меню

  8. Chat with Ollama AI server / Чат с AI сервером Ollama

  9. Current date and time funcs / Функции текущих даты и времени

How to use: place GETDATE(), GETTIME()

  1. Approx. count time to reading, total amount words, sentences and characters / Приблиз. подсчет времени на дочитывание, общее количество слов, предложений и символов

How to use: place WORDS(), SENTS(), CHARS(), TTR()

  1. Internal backlinks / Обратные ссылки

  2. Random data at first run / Случайные данные на первом запуске

Serverside endpoints

PHP endpoint for server https://github.com/ArtNazarov/htmlbuilder-php-bridge

Docker image with PHP https://github.com/ArtNazarov/dockerbridgephp

Nodejs endpoint for server https://github.com/artNazarov/htmlbuilder-nodejs-bridge

Docker image with NodeJs https://github.com/ArtNazarov/dockerbridgenodejs

Python endpoint https://github.com/ArtNazarov/htmlbuilder-python-bridge

More info in / больше информации english_help / russian_help.txt

Tutorial

Read how to create page in Wiki

Installation

  1. Install for Linux using HtmlBuilder_installer
  2. or download pre-release from releases

Troubleshooting

  1. Error while loading shared libraries: libQt5Pas.so.1: cannot open shared object file: No such file or directory

Install qt5pas

yay -Sy qt5pas
  1. If running on Linux Mint 22 Wilma - should install libraries:
sudo apt-get install libqt5pas1
sudo apt-get install libsqlite3-dev
  1. On RedOS should be installed shared libraries before compiling
sudo dnf install qt5pas
sudo dnf install libcanberra-devel
sudo dnf install libcanberra-gtk2
sudo dnf install libcanberra-gtk3
sudo dnf install libcanberra
sudo dnf install qt5-qtbase-gui
sudo dnf install qt5-qtbase-devel
sudo dnf install lazarus-lcl-qt5
sudo dnf install libsq3-devel
  1. Compiling on MX Linux 23.3 Before installing Lazarus and fpc:

    sudo apt-get install libqt5pas-dev libqt5pas1
    sudo apt-get install libsqlite3-0 libsqlite3-dev
    

After installing libraries, open lpi file in Lazarus IDE and compile

Ollama client

To use LLM with HtmlBuilder, you should install ollama server using package mananger and enable ollama service, for example, on ArchLinux it is

yay -S ollama
sudo systemctl enable ollama.service
sudo systemctl start ollama.service   

After load some model, for example tinyllama. Run server with chosen model before launching HtmlBuilder

 ollama pull tinyllama
 ollama run tinyllama

Tests

https://github.com/ArtNazarov/HtmlBuilder_tests

Database scheme

Sqlite3 tables

MDI Interface

MDI variant of interface, just for demo purposes