The Rensselaer Polytechnic's next website
Clone or download
kochman Many changes for the recent demo
- WordPress importer (needs additional work)
- Redirect URLs for imported articles to their new locations
- Fix article page not loading if there are no related articles
- Multiple authors are displayed properly in articles
- Show first chars of article in list displays if there is no summary
- Update logo and admin branding
Latest commit 95ea5d2 Dec 16, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
articles Many changes for the recent demo Dec 16, 2018
core Many changes for the recent demo Dec 16, 2018
home Fix lights a little bit Nov 15, 2018
lights Fix lights a little bit Nov 15, 2018
newsletter Newsletters Dec 3, 2018
nginx Get Docker working Sep 19, 2018
pipeline Many changes for the recent demo Dec 16, 2018
search copy Sep 19, 2018
.babelrc Rough gallery support in articles Nov 30, 2018
.browserslistrc Rough gallery support in articles Nov 30, 2018
.dockerignore Get Docker working Sep 19, 2018
.flake8 Add kickers and featured articles Sep 19, 2018
.gitignore Articles, authors, Bootstrap, Webpack... Sep 19, 2018
.travis.yml Try having Travis create a Postgres database Sep 19, 2018
Dockerfile Get Docker working Sep 19, 2018
LICENSE.txt add MIT license Oct 2, 2018
Pipfile Newsletters Dec 3, 2018
Pipfile.lock Newsletters Dec 3, 2018
README.md Documentation changes for Postgres (#75) Nov 11, 2018
docker-compose.yml Use Postgres with Docker Compose Sep 19, 2018
manage.py Initial commit Sep 19, 2018
package-lock.json Rough gallery support in articles Nov 30, 2018
package.json Rough gallery support in articles Nov 30, 2018
postcss.config.js Articles, authors, Bootstrap, Webpack... Sep 19, 2018
start.sh Get Docker working Sep 19, 2018
webpack.config.js Rough gallery support in articles Nov 30, 2018
webpack.development.config.js Fix dev webpack config Sep 19, 2018
webpack.production.config.js Set up dev/prod webpack configs; update readme Sep 19, 2018

README.md

Pipeline

Pipeline is The Rensselaer Polytechnic's next website. It will enable rapid development of new article layouts and interactive features. In the long term, it will provide a solid platform for our content over the coming decade and support The Poly's focus on online-first journalism.

Requirements

Ensure these are installed before continuing.

You can change Pipeline's settings to use SQLite instead of Postgres, but this is not recommended because Pipeline relies on Postgres's full-text search features.

Getting started

Pipeline is written in Python. It uses Sass and PostCSS on the frontend with webpack to glue them together. To run Pipeline for development:

Installing

git clone git@github.com:thepoly/pipeline.git
cd pipeline
pipenv install --dev
brew install postgresql
npm install
npx wp --config webpack.development.config.js
brew services start postgresql
createdb pipeline //only on first run

Running

pipenv shell
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver

If you have issues with the database, ensure that Postgres is running and you have created a database named pipeline.

Docker

Pipeline can also be run in its production configuration with Docker. It requires three containers: one for running the Django project with gunicorn, another to put nginx in front of it and additionally serve static files, and finally a Postgres container.

docker-compose up

Ensure that the SECRET_KEY environment variable is set. Additionally, run the following inside of the django container (e.g. docker-compose exec django bash):

python manage.py migrate
python manage.py createsuperuser

Pipeline will be available at port 8000 on localhost.

Standards

Make sure you format your code with Black and use Flake8 to find problems. Compliance will soon be enforced on push.

Status

Many of the following features are partially complete, but this isn't indicated. Talk to Sid if you need to know where something is right now.

  • Articles
    • Index pages
    • Article pages
      • Basic layout
      • Section-specific layouts
      • Editor previews
    • Summaries
    • Kickers
      • Autocomplete
    • Subdecks
    • Archive pages
    • WordPress importer
    • Old site importer
    • Related to authors
  • Photos
    • Uploads
    • Captions
    • Bylines
    • Multiple per article
    • Galleries
  • Syndication
    • RSS feed
    • Sitemap
    • Facebook tags
    • Twitter tags
    • oEmbed
    • Apple News
  • Home page
    • Basic article prioritization
    • Full user control of column layout
  • Staff
    • Index page
    • Individual pages
      • Authored articles
      • Bylined photos
    • Positions/terms
    • Staff photos
  • Contact
    • Email addresses on staff pages
  • Users
    • Basic publish permission level
    • Fine grained permissions
    • Google Apps authentication
  • Search
    • Basic headline search
    • Search all fields of articles
  • Instrumentation
    • Basic Prometheus metrics
    • DB metrics
    • HTTP Basic auth