Construire un blog en utilisant le modèle de conception des "îles". Un backend axé sur la base de données SQLite qui génère un site Web moderne statique h h h h h.
Les scripts traversent la base de données créant à la fois des documents HTML entièrement rendus et des extraits DOM pour chaque page du site. Nginx lit les demandes et servira l'un ou l'autre en fonction de l'existence de l'en-tête hx-request
. hx-boost
est utilisé pour hisser automatiquement toutes les balises d'ancrage aux demandes Ajax, ce qui rend la magie. Les documents de réponse contiennent des balises <title>
que HTMX reconnaît et s'applique à la page pour un meilleur UX & SEO.
Toutes les commandes de build sont exécutées à l'aide de BUN.
bun install
réduira toutes les dépendances requises.bun edit
exécute le serveur backend pour la gestion de la base de données WYSIWYG.bun run init
construit la structure du dossier dist
et déplace les fichiers en place pour le site rendu.bun htmx
exécutera le TypeScript pour générer réellement les actifs HTML du site.bun css
exécute les scripts PostCSS pour générer et optimiser le style du site à l'aide de tailwindSCSS.bun start
exécute init, HTMX et CSS.Le contenu du site est généré à partir d'une base de données SQLite à 4 tableaux contenant: Posts, catégories, balises et une table de métadonnées relationnelles qui les corrèle. La logique de la base de données existe dans: SRC / modèles.
Les modèles HTML / Mustache Live In: SRC / Views
La feuille de style principale est ici: src / ui / thème.css. Je sais que j'utilise des aiguilles de queue "mal" sortir d'ici.
Il y a 2 fichiers qui définissent les domaines globaux utilisés. L'un est pour l'éditeur backend l'autre le blog lui-même. Ils parviennent par défaut à //localhost
pour le support de repli HTTP.
L'éditeur WYSIWYG basé sur le Web est accessible en exécutant bun edit
. L'éditeur prend en charge l'ajout, l'édition et la suppression des publications et leurs métadonnées, ainsi que les catégories et tags eux-mêmes. Le port par défaut et le nom d'hôte (localhost: 8999) peuvent être modifiés en: src / server.ts.
Les configurations d'échantillons NGINX sont disponibles dans le répertoire Nginx. Le seul véritable "magie" applique au répertoire racine sur l'existence de l'en-tête Hx-Request dans l'exemple disponible des sites.
V1.0 de ce projet est terminé! Il propose maintenant mon blog sur https://blog.xe.ro
(Je pensais à appeler ce projet tnthumbs b / c il est construit en utilisant: TypeScript nginx tailwindcss htmx unix moustache bun sqlite)
Tous les fichiers de ce dépôt, y compris le contenu de mon blog, sont publiés CC0 / Kopimi! Dans l'esprit de la liberté d'information , je vous encourage à se nourrir, à modifier, à changer, à partager ou à faire ce que vous voulez avec ce projet! ^c^v