Information on Rails.
Table of Contents
Focus:
- Show Media in the fastest possible way, no clutter and distraction free.
- Use Open Webstandards for distribution.
- Generate own index.html for media content to fastest loading and features
- A Input is a RSS(XML) or JSON File (only RSS - currently)
Structure:
- Every inputsource is in one category.
- Every category has one mode (Morning, Evening...)
- Every category generate a .rss (xml) file
- Every mode generate a .opml (Rss Grouping) file
Getting things running.
Focus:
- Reclutter Headlines and Text
- Setup Template Structure
- Generate a Datasets for diffrent user purposes
- Longtime User Testing.
Using a Google Spreadsheet as Interface. The Spreadsheet is set to public and consumable in json format.:
Tasks:
- Sort Sources by Category
- Set Names
- Generate URL with Parameters
- Discovering Content Creator ID Number for importxml
Overview:
- 1200 Sources (Videos, Websites)
- 22 Categories (Art, Programming...)
- 3 Modes (Morning, Evening...)
Detail:
- Rearrange category by dropdown
Every RSS Reader with Webview & Opml Import is capable to show the content. We use Leaf for Mac
- With 2 .opml files the Reader imports more then 20 Categories.
- The headline from every inputsources has the same structure
- Default View is set to Webview.
Headlines:
- Every Source merges into the same headline structure.
- Content gets mixable, and easier to read.
Example:
▫️ LEX FRIDMAN | Most Research In Deep Learning Is A Total Waste Of Time - Jeremy Howard | Ai Podcast Clips
- Content-Symbol
- CHANNEL_NAME
- Split " | "
- Titleized-Content-Name-Without-Emojis
All processes run (currently) in one docker container. As container distrubution we use Rancher 1.6
Features:
- All Environment Variables are docker secrets ready!
- Generating Files is controlled and scheduled over a cron
- Console Log is controllable over environment variables
Environment Variables:
- Aws S3: Write rss, opml and templates, access to public.
AWS_REGION= # -string
AWS_ID= #-string
AWS_SECRET= # -string
AWS_BUCKET_NAME= # -string
AWS_VERSION= # -string must end with "/"
- Slack Channel: Send Status Logs
SLACK= # -string
CRON_STATUS= # -cron string
- Google Spreadsheet: First Tab needs to be a overview site. next two detail sites. Its configable in
index.rb
SPREADSHEET= # -string
- Cron: Sets the schedule times.
CRON_GENERATE= # -cron string
- Console Logs: Enable Logs.
DEBUG= # -boolean
STAGE= # -string production or development
Local:
version: "2"
services:
curlai:
build: .
environment:
AWS_REGION : ${AWS_REGION}
AWS_ID : ${AWS_ID}
AWS_SECRET : ${AWS_SECRET}
AWS_BUCKET_NAME : ${AWS_BUCKET_NAME}
AWS_VERSION : ${AWS_VERSION}
SLACK : ${SLACK}
SPREADSHEET : ${SPREADSHEET}
CRON_GENERATE : ${CRON_GENERATE}
CRON_STATUS : ${CRON_STATUS}
DEBUG : ${DEBUG}
STAGE : ${STAGE}
With Docker Secrets:
version: '2'
services:
curlai:
image: a6b8/rss-merger:v8
environment:
AWS_BUCKET_NAME_FILE: /run/secrets/curlai--aws-bucket-name
AWS_ID_FILE: /run/secrets/curlai--aws-id
AWS_REGION_FILE: /run/secrets/curlai--aws-region
AWS_SECRET_FILE: /run/secrets/curlai--aws-secret
AWS_VERSION_FILE: /run/secrets/curlai--aws-version
CRON_GENERATE_FILE: /run/secrets/curlai--cron-generate
CRON_STATUS_FILE: /run/secrets/curlai--cron-status
DEBUG_FILE: /run/secrets/curlai--debug
SLACK_FILE: /run/secrets/curlai--slack
SPREADSHEET_FILE: /run/secrets/curlai--spreadsheet
STAGE_FILE: /run/secrets/curlai--stage
secrets:
- curlai--aws-region
- curlai--aws-id
- curlai--aws-secret
- curlai--aws-bucket-name
- curlai--aws-version
- curlai--slack
- curlai--spreadsheet
- curlai--cron-generate
- curlai--cron-status
- curlai--debug
- curlai--stage
secrets:
curlai--aws-version:
external: 'true'
curlai--stage:
external: 'true'
curlai--cron-generate:
external: 'true'
curlai--aws-id:
external: 'true'
curlai--spreadsheet:
external: 'true'
curlai--debug:
external: 'true'
curlai--aws-bucket-name:
external: 'true'
curlai--aws-secret:
external: 'true'
curlai--slack:
external: 'true'
curlai--aws-region:
external: 'true'
curlai--cron-status:
external: 'true'
Docker Hub:
Website | Media | Source | Link |
---|---|---|---|
Arxiv | Website | xml | Link |
Craiglist | Website | xml | Link |
Discogs | Website | xml | Link |
Ebay DE | Website | xml | Link |
Epo | Website | xml | Link |
Google Trends | overview | xml | Link |
video | xml | Link | |
Kickstarter | video | json | Link |
Medium | Website | xml | Link |
Website | xml | Link | |
Stackoverflow | Website | xml | Link |
Thingiverse.com | Website | xml | Link |
Twitch.com | video | xml | Link |
Vimeo | video | xml | Link |
Yahoo.com | Website | xml | Link |
Wikipedia DE | Website | xml | Link |
Wikipedia EN | Website | xml | Link |