All Projects → wezm → Read Rust

wezm / Read Rust

Licence: mit
Read Rust allows you to keep up with articles about the Rust programming language.

Programming Languages

rust
11053 projects
crystal
512 projects

Labels

Projects that are alternatives of or similar to Read Rust

Dasblog Core
The original DasBlog reimagined with ASP.NET Core
Stars: ✭ 252 (+53.66%)
Mutual labels:  blog, rss
Xity Starter
A blog-ready 11ty starter based on PostCSS, with RSS feed and Native Elements!
Stars: ✭ 184 (+12.2%)
Mutual labels:  blog, rss
Blogetc
Easily add a full Laravel blog (with built in admin panel and public views) to your laravel project with this simple package.
Stars: ✭ 198 (+20.73%)
Mutual labels:  blog, rss
Front End Rss
📙 根据 RSS 抓取最新前端技术文章,来源:前端早读课、前端大全、前端之巅、淘宝前端、张鑫旭博客、凹凸实验室等
Stars: ✭ 418 (+154.88%)
Mutual labels:  blog, rss
Android Dev Sources
All those Android development sources that you need to be and stay awesome!
Stars: ✭ 434 (+164.63%)
Mutual labels:  blog, rss
Blog Post Workflow
Show your latest blog posts from any sources or StackOverflow activity or Youtube Videos on your GitHub profile/project readme automatically using the RSS feed
Stars: ✭ 910 (+454.88%)
Mutual labels:  blog, rss
Laravel Feed
Easily generate RSS feeds
Stars: ✭ 573 (+249.39%)
Mutual labels:  blog, rss
Blog Generator
static blog generator for my blog at https://zupzup.org/
Stars: ✭ 57 (-65.24%)
Mutual labels:  blog, rss
Laravel Blog Poetry All
Laravel诗词博客-匠心编程,热爱生活。喜欢就 Star 吧
Stars: ✭ 157 (-4.27%)
Mutual labels:  blog
Blog
这是一个Blog, 如果喜欢可以订阅,是Watch, 不是 Star 哈。。。
Stars: ✭ 161 (-1.83%)
Mutual labels:  blog
Screaming Liquid Tiger
Minimalistic podcast feed generator script for audiobooks, for use with Pocket Casts, Overcast and similar apps.
Stars: ✭ 156 (-4.88%)
Mutual labels:  rss
Springboot Blog
SpringBoot+Mybatis+Thymeleaf等技术实现的Java博客系统
Stars: ✭ 158 (-3.66%)
Mutual labels:  blog
Gatsby Starter Hello Friend
Pretty basic starter for Gatsby that covers all of the essentials. All you have to do is start typing!
Stars: ✭ 162 (-1.22%)
Mutual labels:  blog
Feedparser
feedparser gem - (universal) web feed parser and normalizer (XML w/ Atom or RSS, JSON Feed, HTML w/ Microformats e.g. h-entry/h-feed or Feed.HTML, Feed.TXT w/ YAML, JSON or INI & Markdown, etc.)
Stars: ✭ 156 (-4.88%)
Mutual labels:  rss
Wipi
nextjs + nestjs + TypeScript +MySQL 开发的前后端分离,服务端渲染的博客系统
Stars: ✭ 163 (-0.61%)
Mutual labels:  blog
Blog
Stars: ✭ 156 (-4.88%)
Mutual labels:  blog
Gine Blog
Blog = Gatsby + React + Material-UI + Notion + Netlify
Stars: ✭ 156 (-4.88%)
Mutual labels:  blog
Pytest Tricks
😏 Tips and Tricks for the Python Testing Tool
Stars: ✭ 162 (-1.22%)
Mutual labels:  blog
Hexo Theme Cactus
🌵 A responsive, clean and simple theme for Hexo.
Stars: ✭ 2,139 (+1204.27%)
Mutual labels:  blog
Leed
Leed (contraction de Light Feed) est un agrégateur RSS libre et minimaliste qui permet la consultation de flux RSS de manière rapide et non intrusive.
Stars: ✭ 160 (-2.44%)
Mutual labels:  rss

Read Rust

Source code to readrust.net. A news aggregator for Rust news.

Build Status

Contributing

Check out the Submission page on the website for info on submitting a post.

Development

First up: I'm sorry.

I'm aware this involves a lot of dependencies. I had started building this version of the site in Rust but paused that effort as at Oct 2019 the web and async state of Rust was very much in flux. I picked Lucky because it was a batteries included web framework backed by an ergonomic, statically typed language that did not require a large runtime. In some parts I'm still using Rust since I already had the code/it was easier for me. Eventually I hope to shift to an all Rust code base but today is not that day.

My development environment for the site is Arch Linux and it generally makes the experience straightforward. The instructions below are for Arch, adjust accordingly for other systems.

Prerequisites

  • Crystal 0.31.1
  • Lucky CLI
    • node and yarn (for assets)
    • overmind (process runner to make development nicer)
  • Diesel CLI — install with cargo install diesel_cli --no-default-features --features postgres
  • Rust >= 1.38.0
  • PostgreSQL (9, 10, or 11 should be fine. I develop on 11, CI runs 9)
  • Chromium (for running [flow tests])

The package list on Arch is something like this.

rustup crystal shards nodejs yarn postgresql postgresql-libs chromium gcc pkgconf sudo make

Plus from the AUR:

Additionally, due to limitations in the Crystal compiler you need to build and install my little striptags library:

git clone https://github.com/wezm/aur
cd aur/libstriptags
makepkg -si

If you've never set up PostgreSQL before, you will need to follow the initial configuration steps. For local development with PostgreSQL it's convienient to have a role with the same name as your username:

sudo -u postgres createuser --interactive $USER
Shall the new role be a superuser? (y/n) y

Building and Running

Clone the repo if you have not done so already:

git clone https://github.com/wezm/read-rust.git
cd read-rust

Create .env file with configuration. You only need to change, DATABASE_URL and TEST_DATABASE_URL to match the user your created above.

cp .env.sample .env
$EDITOR .env

Set up the database and asset pipeline (only need to do this once):

diesel database setup --locked-schema --migration-dir rust/migrations
cd crystal
yarn install
yarn dev
shards install

Run the development server:

lucky dev

After it compiles the site should now be accessible at: http://127.0.0.1:3001/

Notes

These are mostly notes to self (wezm).

Importing From Version 1

cd crystal
lucky import_posts ../content/_data/rust/posts.json ../content/_data/{tweeted,tooted}.json
lucky import_creators ../content/_data/creators.yaml

Resize Avatars

cd content/images/u
convert *.png *.jpg -set filename:name '%t' -resize 100\> -quality 60 'thumb/%[filename:name].jpg'

Updating OPML

Download subscriptions from Feedbin, then:

./script/opml2json ~/Downloads/subscriptions.xml > content/_data/rust/blogs.json
make
xmllint public/rust-blogs.opml

Some manual tweaks to the JSON might be needed.

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].