README.md
November 7, 2022 ยท View on GitHub
Introduction
This open source project is for my book Build Blog With Wagtail CMS
You can support my work by purchasing the ebook
Other books written by me
- The Definitive Guide to Next.js and Wagtail
- Build SPA with React and Wagtail
- The Definitive Guide to Hotwire and Django
Objective
This book will teach you how to build a modern blog with Wagtail CMS
By the end of this course, you will be able to:
- Understand
Dockerand useDocker Composeto do development - Use
python-webpack-boilerplateto jump start frontend project bundled by Webpack. - Install
Tailwind CSSas the style solution. - Install
Stimulus, understand how it works and write Stimulus controllers. - Learn how
Dark Modeworks in Tailwind CSS and use Stimulus controller to toggle the dark mode. - Understand the benefit of the healthy Stimulus ecosystem by reusing 3-party Stimulus controller.
- Create blog models to work with Wagtail.
- Use
PDBandDjango shellto debug, test code and check data in terminal. - Learn to use
RoutablePageand addDateto the post url. - Build
Paginationcomponent and correctly handle querystring. - Make the blog supports writing in
MarkdownandLatex. - Create contact page using Wagtail
FormBuilder - Build menu, meta tags, sitemap, robots.txt for better SEO.
- Build comment system based on
django-contrib-commentswhich supportGeneric Relations - Use
Tribute.js,Axiosto addMentionandEmojisupport to the comment form. - Deploy the production app to DigitalOcean
Tech
- Python 3.10
- Django 4
- Wagtail 4
- Stimulus 3
- Tailwind CSS 3
How to run on local
$ git clone https://github.com/AccordBox/wagtail-tailwind-blog
$ cd wagtail-tailwind-blog
First, let's build frontend assets, please make sure node is available.
$ node -v
# install dependency packages
$ npm install
# launch webpack dev server and keep it running
$ npm run watch
You need Docker and Docker Compose and you can install it here Get Docker
# build and launch app
$ docker-compose up --build
Now open a new terminal to import data and change password.
$ docker-compose exec web python manage.py load_initial_data
$ docker-compose exec web python manage.py changepassword admin
Now you can check on
Demo
The demo is also online if you want to check.
Screenshot
