{"id":13341070,"url":"https://github.com/hbrls/wagtail","last_synced_at":"2026-02-02T00:40:49.711Z","repository":{"id":41948216,"uuid":"64410857","full_name":"hbrls/wagtail","owner":"hbrls","description":"Wagtail, the opinionated best practice.","archived":false,"fork":false,"pushed_at":"2025-03-06T23:41:37.000Z","size":9279,"stargazers_count":5,"open_issues_count":5,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-11T20:36:58.948Z","etag":null,"topics":["cms","wagtail"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hbrls.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"publiccode":null,"codemeta":null}},"created_at":"2016-07-28T16:21:09.000Z","updated_at":"2025-01-19T15:29:57.000Z","dependencies_parsed_at":"2025-03-11T20:42:23.260Z","dependency_job_id":null,"html_url":"https://github.com/hbrls/wagtail","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/hbrls/wagtail","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hbrls%2Fwagtail","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hbrls%2Fwagtail/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hbrls%2Fwagtail/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hbrls%2Fwagtail/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hbrls","download_url":"https://codeload.github.com/hbrls/wagtail/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hbrls%2Fwagtail/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28997232,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-01T23:10:54.274Z","status":"ssl_error","status_checked_at":"2026-02-01T23:10:47.298Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["cms","wagtail"],"created_at":"2024-07-29T19:25:10.133Z","updated_at":"2026-02-02T00:40:49.696Z","avatar_url":"https://github.com/hbrls.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"Wagtail\n==\n\nWagtail, the opinionated best practice.\n\nDocker Image\n==\n\n    $ docker build -t hbrls/wagtail:{version} .\n\nFor most of the time, you will continue to install app-specific dependencies. So I left the `USER root` there.\n\nBefore start your final app, you should set it to `USER www-data`.\n\n`RUN sed \"s/#logformat/$(cat /path/to/uwsgi-logformat.yaml)/\" /uwsgi.yaml` to use your customized logformat.\n\nBest Practice\n==\n\n1. Initialized database\n\n    ```bash\n    $ mysql\u003e CREATE DATABASE wagtailexample CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;\n    $ mysql\u003e CREATE USER 'wagtailexample'@'%' IDENTIFIED BY 'wagtailexample';\n    $ mysql\u003e GRANT ALL PRIVILEGES ON wagtailexample.* TO 'wagtailexample'@'%'\n    $ mysql\u003e FLUSH PRIVILEGES;\n    \n    $ wagtail start appl\n    \n    $ python manage.py makemigrations\n    $ python manage.py migrate\n    \n    $ python manage.py createsuperuser  # wagtail:wagtail, wagtail@wagtailexample.com\n    \n    $ python manage.py collectstatic\n    ```\n\n2.  Change the default home page to our own `~/home/models.IndexPage`.\n\n    1. 在 `Welcome to wagtail` 下新建 `IndexPage`，然后将它转移到 `Root` 下\n    2. 到 \"设置 \u003e 站点 \u003e Root Page\" 将默认首页设置为 `IndexPage`\n\n2. Add example of page/subpage hierarchy\n\n       Root\n           Welcome to wagtail\n           首页                 \u003c- the de facto root\n               博客文章列表\n                   博客文章列表\n                   一类文章\n                   二类文章\n               关于我们\n\n3. Add example of `WhateverPage` and `AgreementPage`. The `Hallo.js` Wagtail 1.5.3 is using doesn't support `\u003ch1\u003e`. Waiting for the next major release.\n\nWhere you are supposed to move on?\n==\n\n1. \"设置 \u003e 站点\"\n\nConventions\n==\n\n1. `~/templates` for templates.\n\n2. `~/static` is the *destination* of assets.\n\n3. `DJANGO_ENV`: 'dev', 'sit', 'prod', ... to distinguish deploy environments.\n\n4. The code (e.g. `~/home/models.py`, `~/blog/models.py`) provide *Page Types* to be used. The structure (i.e. site map) is up to your settings from the admin panel.\n\n5. You would be requested a bunch of *carefully-designed-hard-coded-pages*. Just list their empty classes in `~/home/models.py` (e.g. `About`) and do the hard code and admin panel settings.\n\n6. For *do-whatever-you-like* pages, just choose `~/home/models.Whatever` in the admin panel. You can also customize your own class like `~/home/models.Agreement` for a set of similar whatever pages.\n\nDependencies\n==\n\n| package                                                                  | version    | date       |\n|--------------------------------------------------------------------------|------------|------------|\n| Wagtail                                                                  | 5.2.3, LTS | 2024-01-23 |\n| Django                                                                   | 4.2.9, LTS | 2024-01-02 |\n| [Pydantic](https://github.com/pydantic/pydantic)                         | 2.5.3      | 2023-12-22 |\n| [Django-Ninja](https://github.com/vitalik/django-ninja)                  | 1.0.1      | 2023-11-17 |\n| [Jinja2](https://github.com/pallets/jinja/)                              | 3.1.2      | 2022-04-28 |\n| [MarkupSafe](https://github.com/pallets/markupsafe)                      | 2.1.3      | 2023-06-03 |\n| [django-rest-framework](https://github.com/encode/django-rest-framework) | 3.14.0     | 2022-11-08 |\n| [django-modelcluster](https://github.com/wagtail/django-modelcluster)    | 6.2.1      | 2024-01-04 |\n| [django-taggit](https://github.com/jazzband/django-taggit)               | 4.0.0      | 2023-05-04 |\n| [django-treebeard](https://github.com/django-treebeard)                  | 4.7.1      | 2024-01-31 |\n| [django-filter](https://github.com/carltongibson/django-filter)          | 23.5       | 2023-12-05 |\n| [beautifulsoup4](https://pypi.org/project/beautifulsoup4)                | 4.12.3     | 2024-01-18 |\n| [Pillow](https://github.com/python-pillow/Pillow)                        | 10.2.0     | 2024-01-02 |\n| [pillow_heif](https://github.com/bigcat88/pillow_heif/tree/master)       | 0.13.1     | 2023-10-15 |\n| [Willow](https://willow.wagtail.org/latest/changelog.html)               | 1.6.3      | 2023-11-26 |\n| [requests](https://github.com/psf/requests)                              | 2.31.0     | 2023-05-22 |\n\n1. Pillow\n   1. [Pillow vs Python](https://pillow.readthedocs.io/en/latest/installation/python-support.html)\n   2. [Pillow vs Platform](https://pillow.readthedocs.io/en/latest/installation/platform-support.html)\n\nReferences\n==\n\n1. https://github.com/apihackers/docker-wagtail\n2. [Official: Your first Wagtail site](http://docs.wagtail.io/en/latest/getting_started/tutorial.html)\n3. [Official: Wagtail demo project](https://github.com/torchbox/wagtaildemo)\n\nDjango 101\n==\n\n[Django LTS Roadmap](https://www.djangoproject.com/download/#supported-versions)\n\n[Wagtail LTS Roadmap](https://github.com/wagtail/wagtail/wiki/Release-schedule)\n\n```bash\n$ python manage.py showmigrations --plan\n$ python manage.py sqlmigrate {app_name} {migration_name}\n$ python manage.py migrate {app_name} {migration_name} --fake\n```\n\nCHANGELOG\n==\n\n2.9.3\n--\n\n1. Wagtail/Django renamed or deprecated contrib packages; [examples](https://github.com/wagtail/wagtail/blob/v2.6.3/docs/advanced_topics/settings.rst)\n2. Django breaking changes [1](https://docs.djangoproject.com/en/3.1/releases/1.9/#assignment-tag), [2](https://github.com/wagtail/django-modelcluster/issues/89)\n\n2.15.6, LTS, 2022-09-05\n--\n\n1. Django@3.0.14, [2021-04-06](https://docs.djangoproject.com/en/5.1/releases/), claims to support Python@3.9 at v2.2.17, which is not true\n2. PyMySQL@1.0.0, [2021-01-07](https://github.com/PyMySQL/PyMySQL/blob/main/CHANGELOG.md#v100), to replace mysqlclient\n3. Pillow@8.1.2, [2021-03-06](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst#812-2021-03-06)\n4. Wagtail@2.11\n   1. [SiteMiddleware moved to wagtail.contrib.legacy](https://github.com/wagtail/wagtail/blob/v2.11/docs/releases/2.11.rst#sitemiddleware-moved-to-wagtailcontriblegacy)\n\n3.0.3, 2022-09-05\n--\n\n1. Django@3.2.6, 2022-10-04\n2. drops Django@3.1, Python@3.6\n\n4.1.9, LTS, 2023-10-19\n--\n\n1. Django@4.1.10, 2023-07-03\n2. `ImageChooserPanel` -\u003e `FieldPanel`\n\n5.0.5, 2023-10-19\n--\n\n1. Pillow==9.1.0, Willow==1.5\n2. `wagtail.core` deprecated\n\n5.2.3, LTS, 2024-01-23\n--\n\n1. Django@4.2 强制要求 MySQL@8\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhbrls%2Fwagtail","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhbrls%2Fwagtail","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhbrls%2Fwagtail/lists"}