All Projects → thepoly → pipeline

thepoly / pipeline

Licence: MIT license
The Polytechnic's content management system

Programming Languages

python
139335 projects - #7 most used programming language
HTML
75241 projects
SCSS
7915 projects
javascript
184084 projects - #8 most used programming language
CSS
56736 projects
Dockerfile
14818 projects
shell
77523 projects

Projects that are alternatives of or similar to pipeline

pari
Django/Wagtail based PARI webapp
Stars: ✭ 32 (+88.24%)
Mutual labels:  wagtail
bullshit-detector
🔍 Chráňte vašich blízkych pred nedôveryhodným 🇸🇰 a 🇨🇿 obsahom
Stars: ✭ 24 (+41.18%)
Mutual labels:  news
overflow-news
📚 Don't waste time searching for good dev blog posts. Get the latest news here.
Stars: ✭ 32 (+88.24%)
Mutual labels:  news
clinews
A CLI for reading the news and getting the latest headlines including search functionality. Supports over 70 sources.
Stars: ✭ 17 (+0%)
Mutual labels:  news
feedIO
A Feed Aggregator that Knows What You Want to Read.
Stars: ✭ 26 (+52.94%)
Mutual labels:  news
TrollHunter
Twitter Troll & Fake News Hunter - Crawls news websites and twitter to identify fake news
Stars: ✭ 38 (+123.53%)
Mutual labels:  news
Django-wagtailmedium
A Medium Editor integration for the Wagtail CMS.
Stars: ✭ 17 (+0%)
Mutual labels:  wagtail
doto
Let's try something different
Stars: ✭ 78 (+358.82%)
Mutual labels:  news
dac
Entity linker for the newspaper collection of the National Library of the Netherlands. Links named entity mentions to DBpedia descriptions using either a binary SVM classifier or a neural net.
Stars: ✭ 14 (-17.65%)
Mutual labels:  news
wagtail textract
Text extraction for Wagtail document search
Stars: ✭ 27 (+58.82%)
Mutual labels:  wagtail
gnewsclient
An easy-to-use python client for Google News feeds.
Stars: ✭ 42 (+147.06%)
Mutual labels:  news
archiveis
A simple Python wrapper for the archive.is capturing service
Stars: ✭ 152 (+794.12%)
Mutual labels:  news
golangflow
GolangFlow.io Website
Stars: ✭ 37 (+117.65%)
Mutual labels:  news
Inshorts-News-API
Unofficial API of Inshorts written in Flask
Stars: ✭ 87 (+411.76%)
Mutual labels:  news
newspaperjs
News extraction and scraping. Article Parsing
Stars: ✭ 59 (+247.06%)
Mutual labels:  news
census-error-analyzer
Analyze the margin of error in U.S. census data
Stars: ✭ 15 (-11.76%)
Mutual labels:  news
wagtail-pg-search-backend
PostgreSQL full text search backend for Wagtail CMS
Stars: ✭ 22 (+29.41%)
Mutual labels:  wagtail
wagtail-inventory
Search Wagtail pages by the StreamField blocks they contain
Stars: ✭ 45 (+164.71%)
Mutual labels:  wagtail
lobsters-reader
iOS app for reading Lobste.rs.
Stars: ✭ 15 (-11.76%)
Mutual labels:  news
wagtailyoast
Wagtail + Yoast
Stars: ✭ 22 (+29.41%)
Mutual labels:  wagtail

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. For new users working within a virtual machine, it is strongly recommended to use Ubuntu.

Note about Postgres

Pipeline expects to be able to connect to a Postgres database named pipeline. To set this up on macOS:

brew install postgresql
brew services start postgresql
createdb pipeline

To setup Postgres on Arch Linux:

sudo pacman -Syu # Optional, to refresh and update packages
sudo pacman -S postgresql
sudo -u postgres initdb --locale en_US.UTF-8 -D /var/lib/postgres/data
sudo systemctl start postgresql

To setup Postgres on Ubuntu:

// Install
sudo apt-get update
sudo apt-get -y install postgresql postgresql-contrib
// Setup
sudo -i -u postgres
psql
CREATE USER postgres WITH PASSWORD 'postgres'
\q
*reopen terminal*
sudo -u postgres psql
\password postgres // Enter 'postgres' twice
\q
*reopen terminal*
sudo systemctl start postgresql

The default dev database, defined in settings/dev.py uses the following postgres url: postgresql://postgres:[email protected]:5432/pipeline make sure that your database is configured to these settings. The pipeline database must exist, and the user postgres must exist with password postgres. Read more about postgres urls here.

Read about creating a user here. You will probably want postgres to be a superuser.

Installing

git clone [email protected]:thepoly/pipeline.git
cd pipeline
npm install
npx webpack --config webpack.development.config.js
pipenv install --dev
pipenv run python manage.py createcachetable

On Ubuntu:

git clone [email protected]:thepoly/pipeline.git
cd pipeline
sudo apt install npm
npx webpack --config webpack.development.config.js // Type "yes" when prompted
npm audit fix
sudo apt install pipenv
pipenv install --dev
pipenv run python manage.py createcachetable

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.

How to make changes to styling

With your terminal/command prompt running python manage.py runserver, open another at the project folder location and run npm run watch. Now you can edit styles at pipeline/pipeline/static/css/pipeline.scss

Status

Many of the following features are partially complete, but this isn't indicated. Look at the Issues page if you need to know what is being worked on.

  • 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
    • G Suite authentication
  • Search
    • Basic headline search
    • Search all fields of articles
    • Search non-article pages
  • Instrumentation
    • Basic Prometheus metrics
    • DB metrics
    • HTTP Basic auth
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].