{"id":13532457,"url":"https://github.com/AccordBox/wagtail-tailwind-blog","last_synced_at":"2025-04-01T20:32:11.157Z","repository":{"id":22256106,"uuid":"95198545","full_name":"AccordBox/wagtail-tailwind-blog","owner":"AccordBox","description":"Wagtail blog based on Tailwind CSS, Stimulus, it supports Markdown, Latex and user comments.","archived":false,"fork":false,"pushed_at":"2024-01-27T03:00:46.000Z","size":19793,"stargazers_count":360,"open_issues_count":35,"forks_count":85,"subscribers_count":11,"default_branch":"master","last_synced_at":"2024-05-28T21:45:39.768Z","etag":null,"topics":["stimulusjs","tailwindcss","wagtail","wagtail-blog","wagtail-cms-demo","wagtail-tutorials"],"latest_commit_sha":null,"homepage":"https://leanpub.com/buildblogwithwagtailcms","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AccordBox.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2017-06-23T08:12:00.000Z","updated_at":"2024-05-19T11:27:07.000Z","dependencies_parsed_at":"2024-01-23T17:12:06.034Z","dependency_job_id":"15200cf9-830e-4acd-9670-7c8400bafbac","html_url":"https://github.com/AccordBox/wagtail-tailwind-blog","commit_stats":null,"previous_names":["accordbox/wagtail-bootstrap-blog"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AccordBox%2Fwagtail-tailwind-blog","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AccordBox%2Fwagtail-tailwind-blog/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AccordBox%2Fwagtail-tailwind-blog/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AccordBox%2Fwagtail-tailwind-blog/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AccordBox","download_url":"https://codeload.github.com/AccordBox/wagtail-tailwind-blog/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246709923,"owners_count":20821297,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["stimulusjs","tailwindcss","wagtail","wagtail-blog","wagtail-cms-demo","wagtail-tutorials"],"created_at":"2024-08-01T07:01:11.125Z","updated_at":"2025-04-01T20:32:06.141Z","avatar_url":"https://github.com/AccordBox.png","language":"Python","funding_links":[],"categories":["wagtail","Tools"],"sub_categories":["Templates \u0026 Starter Kits"],"readme":"## Introduction\n\nThis open source project is for my book [Build Blog With Wagtail CMS](https://leanpub.com/buildblogwithwagtailcms/)\n\n**You can support my work by purchasing the ebook**\n\nOther books written by me\n\n* [The Definitive Guide to Next.js and Wagtail](https://leanpub.com/the-definitive-guide-to-nextjs-and-wagtail/)\n* [Build SPA with React and Wagtail](https://leanpub.com/react-wagtail)\n* [The Definitive Guide to Hotwire and Django](https://leanpub.com/hotwire-django)\n\n## Objective\n\nThis book will teach you how to build a modern blog with `Wagtail CMS`\n\nBy the end of this course, you will be able to:\n\n1. Understand `Docker` and use `Docker Compose` to do development\n1. Use `python-webpack-boilerplate` to jump start frontend project bundled by Webpack.  \n1. Install `Tailwind CSS` as the style solution.\n1. Install `Stimulus`, understand how it works and write Stimulus controllers.\n1. Learn how `Dark Mode` works in Tailwind CSS and use Stimulus controller to toggle the dark mode.\n1. Understand the benefit of the healthy Stimulus ecosystem by reusing 3-party Stimulus controller.\n1. Create blog models to work with Wagtail.\n1. Use `PDB` and `Django shell` to debug, test code and check data in terminal.\n1. Learn to use `RoutablePage` and add `Date` to the post url.\n1. Build `Pagination` component and correctly handle querystring.\n1. Make the blog supports writing in `Markdown` and `Latex`.\n1. Create contact page using Wagtail `FormBuilder`\n1. Build menu, meta tags, sitemap, robots.txt for better SEO.\n1. Build comment system based on `django-contrib-comments` which support `Generic Relations`\n1. Use `Tribute.js`, `Axios` to add `Mention` and `Emoji` support to the comment form.\n1. Deploy the production app to DigitalOcean\n\n## Tech\n\n* Python 3.10\n* Django 4\n* Wagtail 4\n* Stimulus 3\n* Tailwind CSS 3\n\n## How to run on local\n\n```bash\n$ git clone https://github.com/AccordBox/wagtail-tailwind-blog\n$ cd wagtail-tailwind-blog\n```\n\nFirst, let's build frontend assets, please make sure `node` is available.\n\n```bash\n$ node -v\n\n# install dependency packages\n$ npm install\n\n# launch webpack dev server and keep it running\n$ npm run watch\n```\n\nYou need Docker and Docker Compose and you can install it here [Get Docker](https://docs.docker.com/get-docker/)\n\n```bash\n# build and launch app\n$ docker-compose up --build\n```\n\nNow open a new terminal to import data and change password.\n\n```bash\n$ docker-compose exec web python manage.py load_initial_data\n$ docker-compose exec web python manage.py changepassword admin\n```\n\nNow you can check on\n\n* [http://127.0.0.1:8000](http://127.0.0.1:8000)\n\n## Demo\n\nThe demo is also online if you want to check.\n\n* [Wagtail Blog Demo](http://wagtail-blog.accordbox.com)\n\n## Screenshot\n\n![](./misc/screenshot.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAccordBox%2Fwagtail-tailwind-blog","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAccordBox%2Fwagtail-tailwind-blog","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAccordBox%2Fwagtail-tailwind-blog/lists"}