All Projects → ghostwords → localore

ghostwords / localore

Licence: MPL-2.0 license
Wagtail-based CMS and Ansible playbooks for Localore: Finding America

Programming Languages

python
139335 projects - #7 most used programming language
CSS
56736 projects
HTML
75241 projects
javascript
184084 projects - #8 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to localore

Wagalytics
A Google Analytics dashboard in your Wagtail admin
Stars: ✭ 176 (+1000%)
Mutual labels:  wagtail
wagtail-redirect-importer
Note: This library is now included in Wagtail 2.10, use the builtin version instead of this.
Stars: ✭ 15 (-6.25%)
Mutual labels:  wagtail
wagtail-import-export
UNMAINTAINED. Try wagtail-transfer, the evolution of this package: https://github.com/wagtail/wagtail-transfer/
Stars: ✭ 31 (+93.75%)
Mutual labels:  wagtail
django-hyper-editor
Django Integration of Hyper Editor
Stars: ✭ 29 (+81.25%)
Mutual labels:  wagtail
wagtailenforcer
The Wagtail arm of the law - enforce security protocols on your Wagtail site
Stars: ✭ 43 (+168.75%)
Mutual labels:  wagtail
WF-website
Website for Western Friend, part of the Religious Society of Friends
Stars: ✭ 34 (+112.5%)
Mutual labels:  wagtail
Django Salesman
Headless e-commerce framework for Django.
Stars: ✭ 157 (+881.25%)
Mutual labels:  wagtail
wagtail-simple-gallery
A simple gallery app for Wagtail. https://pypi.org/project/wagtail-simple-gallery/
Stars: ✭ 41 (+156.25%)
Mutual labels:  wagtail
vagrant-wagtail-develop
A script to painlessly set up a Vagrant environment for development of Wagtail
Stars: ✭ 36 (+125%)
Mutual labels:  wagtail
wagtailmodelchoosers
A Wagtail app to pick generic models (rather than snippets or pages)
Stars: ✭ 23 (+43.75%)
Mutual labels:  wagtail
freeturn
Freelance mission control
Stars: ✭ 50 (+212.5%)
Mutual labels:  wagtail
digihel
City of Helsinki Digital Helsinki Wagtail CMS
Stars: ✭ 19 (+18.75%)
Mutual labels:  wagtail
wagtail-sharing
Easier sharing of Wagtail drafts
Stars: ✭ 46 (+187.5%)
Mutual labels:  wagtail
wagtailcommonblocks
Common StreamField blocks for Wagtail
Stars: ✭ 40 (+150%)
Mutual labels:  wagtail
wagtail-react-project
Wagtail template with a React/Redux frontend.
Stars: ✭ 25 (+56.25%)
Mutual labels:  wagtail
Consumerfinance.gov
Django project protecting American consumers
Stars: ✭ 164 (+925%)
Mutual labels:  wagtail
wagtaildraftail
🐦📝🍸 Draft.js editor for Wagtail, built upon Draftail and draftjs_exporter
Stars: ✭ 23 (+43.75%)
Mutual labels:  wagtail
wagtail-graphql
App to automatically add GraphQL support to a Wagtail website
Stars: ✭ 37 (+131.25%)
Mutual labels:  wagtail
gatsby-source-wagtail
Plugin for sourcing Gatsby data from Wagtail CMS
Stars: ✭ 16 (+0%)
Mutual labels:  wagtail
wagtail-filepreviews
Extend Wagtail's Documents with image previews and metadata from FilePreviews
Stars: ✭ 21 (+31.25%)
Mutual labels:  wagtail

Localore: Finding America

Developer setup

  1. Clone this project (with --recursive to pull down its git submodules).

  2. Install Python 3 and pip.

  3. Install platform dependencies (feel free to skip this until you run into errors, probably in step 6):

    For example, on OS X with Homebrew: brew install postgresql libmemcached

  4. Optional, but recommended: Set up a Python 3 "virtual environment" for working on this project with virtualenv.

    1. Get the virtualenv script with pip: pip install virtualenv
    2. Create the virtual environment inside the project folder: virtualenv venv
    3. Activate the environment: source ./venv/bin/activate. This has to happen each time you start work on the project.
  5. Switch to the Wagtail/Django project directory: cd localore.

  6. Install Python dependencies: pip install -r requirements-dev.txt. Install from requirements-dev-linux.txt on Linux. When we run into errors here, it probably means we forgot to document and/or install some platform dependency (see step 3). Another common issue is installing for the wrong Python version (2 instead of 3).

  7. Install front-end dependencies: npm install --python=python2

  8. Copy localore/.env to localore/.env.local. This is where your local environment variable settings (database config, etc.) go. See the arguments passed into Env() in localore/settings.py for the list.

  9. Set up the database: python manage.py migrate, then createsuperuser

  10. Run the Django dev server: python manage.py runserver

  11. Run Grunt to watch/recompile static resources, perform live reloading, etc.: grunt serve

    If the Django dev server isn't running on port 8000 (the default), you have to update livereload's proxy config in Gruntfile.js.

  12. The primary HTML layout file, base.html, exists in localore/static/html and should be edited there. When grunt compiles, it will make a copy of this file with updated references to localore/templates. If you edit the file in localore/templates it will get overwritten next time grunt compiles.

Packaging for deployment

grunt build will prepare front-end assets for deployment. It does the following:

  1. Package vendor libraries from bower_components
  2. Compile sass, compress resulting css file, and compress js files
  3. Update references with cache-busting file revision numbers
  4. and more!

Everything should be referenced from static/dist - you will need to also copy over static/js to account for {% extra_js %} blocks.

One outstanding issue is that <img> references scattered around the HTML won't take advantage of this because they are using the django {% static %} naming convention - for this reason static/images should also be included wherever assets are served just in case.

Things that have to happen repeatedly

  1. you have to activate the python virt. environment first, whenever you work with the project

    • to activate, switch to project folder, run: source ./venv/bin/activate
    • so, activating will make "python" point to the local python and will make pip (python package manager) work with the local packages folder
  2. you have rerun migrations whenever you pull down changes that affect the DB

  3. you have to reinstall python deps from the requirements file whenever the requirements file gets updated

License

The source code is licensed under Mozilla Public License Version 2.0. This specifically does not cover any brand assets such as logos or trademarks. Brand assets cannot be reused without permission.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].