Awesome
Listed
Listed is a minimal blogging platform ideal for publishing a public journal or sharing domain specific knowledge. Writers can publish directly from the comforts of Standard Notes and readers can subscribe to new articles via email.
Listed is unopinionated about fonts, widths, and colors, and instead defers to the reader's system settings to provide a familiar experience.
Usage
Generate an author code on listed.to to get started.
Customization
How to style your blog with custom CSS:
1. Create a new note in Standard Notes, and call it listed_styles.css
(name doesn't matter).
2. Use the following metadata structure, followed by some CSS, then publish the note to your blog.
---
metatype: css
---
html, body {
font-family: "Avenir Next", sans-serif;
color: #37424F;
}
h1 a, h2 a, h3 a, h4 a {
color: #37424F !important;
}
.post-content {
color: #37424F !important;
}
#author-header .bio {
opacity: 1.0;
}
How to specify post date and canonical URL:
You can change the date that appears on your post, or set a canonical URL if you're importing a post from another location (such as Medium).
1. Use the following metadata structure at the beginning of your note:
---
created_at: 2017-11-20 17:08:05
canonical: https://mysite.com/blog/1/post-im-importing.
---
Your story...`
Contributing
How to run application locally
To run the application locally, after cloning the repo follow these steps:
yarn install --pure-lockfile
bundle exec rails db:migrate
bundle exec rails db:seed
gem install bundler && bundle install
yarn build:dev
rails s -p 3009
Now the application should be running on http://localhost:3009 and webpack-dev-server should be watching source files and recompiling as you make changes in your code to allow live reloading.
How to run locally with Docker
To run the application locally you have to install Docker and type the following:
cp .env.sample .env
docker-compose up -d
Now the application should be running on http://localhost:3000
Seeding data
TRUNCATE TABLE subscriptions;
TRUNCATE TABLE subscribers;
TRUNCATE TABLE authors;
INSERT INTO authors (secret, email, email_verified, created_at, updated_at)
VALUES
('secret1', 'author1@example.com', true, NOW(), NOW()),
('secret2', 'author2@example.com', true, NOW(), NOW()),
('secret3', 'author3@example.com', true, NOW(), NOW());
INSERT INTO subscribers (email, created_at, updated_at)
VALUES
('sub1@example.com', NOW(), NOW()),
('sub2@example.com', NOW(), NOW()),
('sub3@example.com', NOW(), NOW());
INSERT INTO subscriptions (author_id, subscriber_id, token, verified, frequency, created_at, updated_at)
VALUES
(1, 1, 'token1', true, 'daily', NOW(), NOW()),
(2, 2, 'token2', true, 'daily', NOW(), NOW()),
(3, 3, 'token3', true, 'daily', NOW(), NOW());