Giter Club home page Giter Club logo

listed's Introduction

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

listed's People

Contributors

antsgar avatar bryvin avatar daianaszwimer avatar danielnetop avatar dependabot[bot] avatar jelkose avatar johnny243 avatar karolsojko avatar lanesawyer avatar moughxyz avatar samrobbins85 avatar snnx avatar stefan-yas avatar vardan-arm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

listed's Issues

Add reading time estimate to the header

Hey, got another little feature request for y'all.

As a frequent blog reader, I very much appreciate platforms that give you an estimate of how long it will take to read the article (e.g. "5 min read" next to or under the date). This would be a nice quality of life addition!

List Item indented 5 times shows bullet without text

Describe the bug

A list item indented 5 times (i.e. at the 6th level) shows the bullet, but without text.

(I'm not sure if there was meant to be a limit to the number of times you could indent a list item.)

To Reproduce

  1. Open Standard Notes
  2. Use the Markdown Pro editor (possibly others would work too)
  3. Create a list and indent a given list item 5 times

Example: https://listed.to/p/KuHqDh4WJb (the raw markdown is given below)
If you inspect the element, there's only <li></li> without any content.

Expected behavior

  1. The text should be shown next to the bullet.

Desktop
OS: MacOS
Browser: Tested with Firefox, Chrome, and Safari

Changing custom domain?

Is there a way to change the custom domain in listed? I have already set a custom domain, now I want to change it but there's no option to do this in the settings.

Add Rel=me to the authors url on listed sites

Adding rel=me on the hyperlink going to a site indicates that its destination represents the same person or entity as the current page. Associating a listed page with a certain person and its a key building-block of web-sign-in and IndieAuth.
indieauth.com uses rel=me links to enable signing into websites such as IndieWeb.org.

Its simply

<a class="author-link item link" href="http://www.cubicgarden.com" target="_blank">
http://www.cubicgarden.com
</a>

to

<a class="author-link item link" href="http://www.cubicgarden.com" target="_blank" rel="me">
http://www.cubicgarden.com
</a>

Guestbook does not inherit custom CSS styles

Steps to reproduce

  1. Add a custom styles.css file and publish to your blog as describer here
  2. See that the blog shows with new styling.
  3. Go to the "Guestbook" page, and notice the styling is gone.

Potential solution

Looking at the source code, it seems that the styling is not added as it should here:

Presumably because @styles is not being set.

In other pages where styling is applied e.g. the Posts pages, you set the styles in the controller:

@styles = @post.author.styles

Would the fix be as simple as adding:

@styles = @author.styles

to the Guestbook controller in the before_action block?

Let me know and I'm happy to make a PR.

Page scroll position is maintained when navigating to some Listed blogs from main page

Describe the bug

I don't know exactly when this started, but recently I've noticed it when navigating to various Listed blogs from the front page that my scroll position is maintained, so I end up somewhere in the middle of the page instead of the top of the page. I've tried this in private browsing/incognito windows too.

If you turn off JavaScript, then this problem goes away, so there must be something that is remembering the scroll position, but applying it wrongly to the page. There is also no problem if you open the blog in a new tab or window.

I'm unfortunately unable to tell you what causes the problem or what the blogs that exhibit this behavior have in common; only which blogs I've noticed currently on the front page have this problem.

To Reproduce

  1. Visit the Listed homepage
  2. Scroll down to the Recent Authors section and click to view a blog that has this issue (pick any of the blogs listed below that are said to have the issue, do not open in a new tab, do not open the links directly from below).

Blogs that have this issue (not an exhaustive list):

  1. Scott McClung
  2. All Is Well in the Great Mess
  3. @branches
  4. Wada
  5. 100 Suns

Blogs that don't have this issue (not an exhaustive list):

  1. Asphalt
  2. Darryl Mitchell
  3. Teo Oliver
  4. δΎ†δΎ†

Expected behavior

  1. Scroll position should be at the top of the page (not my scroll position on the Listed homepage).

Desktop
OS: MacOS
Browser: Tested and reproduced with Firefox, Chrome, and Safari

Ability to for author header pages to link directly to absolute URL versus another Listed page only

I would like to use my listed.to as a blog for a personal github project. Unfortunately, there is no way to control the nav menu so that I can link back to the project if someone is on listed.to

Right now "pages" autopopulate the menu. It would be great if you could replicate something simple like how posthaven.com handles menus.

image

I am not aware of a work around. The best I can come up with is creating a "nav page" that directs people to certain external pages.

Listed.to Blog Not Sending Emails For New Subscribers or Guestbook Entries

Hi, I have my Listed blog set up and have tested the subscriber feature and guestbook feature, but I don't seem to get any notifications to my email address (it is set up to get notifications and be a reply email in settings).

To clarify, (1) I have an email set up in Listed settings, (2) I have tried subscribing to my own newsletter from a different email address (as well as adding faux guestbook entries) to test the notifications feature, and (3) nothing shows up in my email inbox (including spam).

Feature Request - Tags

Have you considered adding "tags" for posts that could be used to group specific topics on the blog?

I see two ways to do it:

  1. Use the native tags in Standard Notes
  2. Add metadata to the post

While I love the appeal of using the native Standard Notes tags, that wouldn't necessarily work for some workflows. For example, my blog posts are in a blog tag with sub-tags to group published and in-progress posts, top level pages, etc. This could potentially be solved with only displaying the tags that are Listed.[topic], or some other standardized naming convention. Maybe a new option in the Listed actions to manage tabs? I'm sure there are other ways that I haven't thought of too!

Metadata wouldn't be as user friendly, but Listed users should be somewhat used to adding metadata for changing post creation dates, making them high-level pages, adding styling, etc.

I know Listed isn't the top priority right now, but I thought I'd throw the idea out there πŸ˜„

Og tags for LinkedIn

Hello - we have them for facebook and twitter and I confirm they work, but could we possibly get OG tags for linkedin in the <head> template?

https://www.linkedin.com/help/linkedin/answer/46687/making-your-website-shareable-on-linkedin

Apparently we need:


    <meta property='og:title' content='Title of the article'/>
    <meta property='og:image' content='//media.example.com/ 1234567.jpg'/>
    <meta property='og:description' content='Description that will show in the preview'/>
    <meta property='og:url' content='//www.example.com/URL of the article'/>

Verify Subsrcription

Screenshot from 2021-02-18 13-30-03

I am trying to subscribe to my blog but when I am trying to complete the captcha verification step, it doesn't lead to successful completion but refreshes to generate a new captcha. Tried it 5-6 times to no avail.

Order of authors in recent authors section can be manipulated for potential benefit

The recent authors section on listed.to is not really "recent", since anyone can put a date well into the future. Kind of unfair to the people posting honest work every day. Currently the section is bloated by blogs who have put in dates like "December 31st, 9999", or "December 1st, 2030". Think the mechanism behind this needs to be re-worked so that it counts the date a post gets pushed to the site, or the created_at value, but only when it is in the past.

Listed RSS feeds are invalid

I was trying to subscribe to the Standard Notes blog RSS feed in Thunderbird today and it wouldn't allow me to add it because the feed is invalid.

I also checked my own Listed blog and it has the same issues, so it appears that all Listed blogs create invalid RSS syntax, preventing people from subscribing if their app (like Thunderbird) can't grok the feed.

Here are the issues on the Standard Notes blog, according to the W3's validator tool: https://validator.w3.org/feed/check.cgi?url=https%3A%2F%2Fblog.standardnotes.com%2Ffeed

Unable to use update any posts after adding a custom domain

Hi,
I'm not sure if it's just me (if so, feel free to close), but I'm having an issue where I can't publish or update private or public posts on the public hosted instance of Listed. I've tried on both the desktop and web versions, and using different networks and different devices.

listed-error

The only thing I have changed, is that I tried to add a custom domain (notes.aliciasykes.com), although doesn't seem to be working, but my main blog (listed.to/@lissy93) is still running just fine. I believe that's the source of the issue, as the network tab shows that it's calling the new domain.

Could it just be that the DNS take a while to propagate? Or is my only option to scrap the custom domain idea?

listed-error2

Thanks very much,
Alicia :)

Edit: Actually I think my blog is just broken. The homepage loads, but none of the posts do. Is there anything else that I needed to do, other than add an A record, for the domain to work correctly?

Publish to blog not working

When I click "Publish to Blog" and "Publish to Private Link", it acts as if it is doing something but then just stops. gif

edit: i cant do markdown
edit 2: i still cant do markdown

@font-face CORS support

Does Listed prohibit pulling typefaces from other domains using CSS's @font-face, and if so, is this a security feature?

I assume so based on this SO answer, but would like to be sure that I'm not doing something else incorrectly. If the problem was with the server hosting the typeface, I'd expect to see 403 errors in the browser console, but don't.

Rendering of custom font

Screenshot from 2021-02-18 13-15-40

Hi! I am trying to override the font styles but it doesn't render when I publish the themes.css file and refresh my blog page. Any help would be greatly appreciated :)

Ps. I am using brave browser and I also tried with shields down, didn't help.

Unable to "Save" custom Blog Settings

Hey All,

I have attempted multiple times to save custom settings for my listed.io blog.

Each time I save the settings it does not take the settings I've given.

I have attempted this in Chrome and Edge and see the same result.

How do you change custom domains?

Hi I haven't really used listed but I've decided I'm going to utilize it as a change log for projects. I currently have it set up under https://blog.ceiphr.com.

I want to change that to https://changelog.ceiphr.com.

I updated my DNS and am curious how your system will recognize this change as once a custom domain is configured I don't seem to have any extra settings to reconfigure it.

Thank you.

Double x-frame-options header on Listed.to

Describe the bug
Any website on the listed.to domain and all listed.to custom domains return multiple x-frame-options headers. They're also both different (sameorigin and deny). Browsers don't expect multiple x-frame-options headers and this results in undefined behavior. You should only send a single x-frame-options header.

To Reproduce
Steps to reproduce the behavior:

  1. Go to listed.to
  2. Look at the HTTP headers

More
X-Content-Type-Options is also doubled up, but contains the same content both times. Could still confuse some browsers and should be avoided. Also you probably don't want to send X-Powered-By and Server headers in production.

Footnote anchors incorrectly link to main Listed page

Describe the bug
Since some time in September 2020, when adding a footnote to a note with the Markdown Pro/Markdown Minimist editor, the generated anchor link goes to https://listed.to/#fn1 (to the footnote) or https://listed.to/#fnref1 (to return from the footnote to the text).

This affected all footnotes, even on posts that were added before September 2020.

To Reproduce

1. Create a new note
2. Switch to a Markdown editor
3. Add a footnote using the Markdown syntax
4. Publish the post to Listed and view it

See an example page at: https://listed.to/p/nuzgDvTW8D

Expected behavior
The anchor link should be for the current page, not link to the main Listed page.

  • For linking to the footnote, the links should go to https://listed.to/@<blog>#fn1 (when on main page of blog) or https://listed.to/@<blog>/<post>#fn1 (when viewing a specific post).
  • For linking back to the text from the footnote, the links should go to https://listed.to/@<blog>#fnref1 (when on main page of blog) or https://listed.to/@<blog>/<post>#fnref1 (when viewing a specific post).

Ideally the generated anchors should be unique between different posts, so that when viewing multiple posts from the main blog page, clicking on anchor links jump to the correct anchor and not just those in the first post. However, this was not the behavior even before this bug was introduced. That is, each post will have a #fn1 for the first footnote, then #fn2, etc.

Desktop
OS: MacOS
Browser: All (doesn't matter)
Standard Notes version: 3.5.11 (but has existed even before the latest version)

Hard-coded colors and miss-match between SCSS and CSS variables make custom themes hard to implement

Loving you're new Listed design! I just tried to theme my blog, and hit an issue with the color variables- the page has CSS variables, which is awesome- but they're not being properly used. There are instances of hard-coded color values, as well as pre-compiled variables.

This makes the blog much harder to customize for end users, (especially compared the the previous version of Listed). After setting all the values outlined in the docs, a large proportion of the blog page remains in the original colors (which breaks things if you're making a dark theme).

There's a mismatch between SCSS and CSS variables. In the interest of extensibility, only CSS variables should be used, since SASS is compiled at build time, it means that users using the hosted instance of Listed cannot easily override colors to theme their page (without targeting individual components by their selectors). It looks like a solution for this started to be implemented in vars.scss, but most colors do not use these variables. There are 300+ instances of this.

There are also instances which are not using variables, and just have hard-coded hex values. E.g.

  • .author-post has background-color: #F8F9FC in carded-blog.scss
  • .post-body p code has background-color: #f7f7f9; and border: 1px solid #e1e1e8; in Post.scss

Numbers cut off on new website

Not sure if this is just on my end, but on desktop and mobile the numbers on the updated version of the website are cut off.image

Listed.to session cookie doesn't have Secure flag set

Describe the bug
On listed.to pages and on custom domains, there is a session cookie sent (_listed_session) but it does not have the Secure flag set (it does have HttpOnly set, so that is good). That could make session hijacking easier in (admittedly) very specific situations.

To Reproduce
Steps to reproduce the behavior:

  1. Go to listed.to
  2. Look at the cookie header

Markdown Issues

It's my understanding listed uses Github Flavored Markdown, but doing the following

A collapsible section containing markdown

Click to expand!

Heading

  1. A numbered
  2. list
    • With some
    • Sub bullets

Doesn't seem to render as it should, Did I misunderstand that listed uses Github Flavored Markdown or is this a valid issue with Listed?

Custom domains should only route access to the owner's page and posts

Follow up from this Slack thread:
https://standardnotes.slack.com/archives/C9W5BNKC0/p1551407188003700

I haven't had a chance to setup a local server with test data to try this out yet, but here's a suggestion for a fix. Let me know if this seems reasonable.

First, wrap these lines in a new constraints block that matches the opposite of CustomDomainConstraint:

listed/config/routes.rb

Lines 49 to 69 in 3c3d77b

get "/usage" => "usage#index"
un_regex = /@.[^\/]*/
# RSS Feed
get ':username/feed' => 'authors#feed', :format => 'rss', :constraints => {:username => un_regex}
# Tipping
get ':username/tip' => 'authors#tip', :constraints => {:username => un_regex}
get ':username/:id' => 'posts#show', :constraints => {:username => un_regex}, as: 'single_post'
get ':username/:id/:slug' => 'posts#show', :constraints => {:username => un_regex}, as: 'slugged_post'
get ':username' => 'authors#show', :constraints => {:username => un_regex}
get 'sitemap.xml', :to => 'sitemap#index', :defaults => {:format => 'xml'}
get '/help' => "help#index"
get "/:post_token" => "posts#show"
root "usage#index"

Next, check that the post's author's custom domain matches the request's domain in posts#show, and 404 if not:

def show
if !@post || !@post.published
author = Author.find_author_from_path(request.path)
# go to author page
if author
redirect_to author.url
else
not_found
end
return
end
@next = @post.next
@previous = @post.previous
if !@post.unlisted
@author_posts = @post.author.listed_posts([@post, @next, @previous]).order("id DESC")
end
if @post.metatype
render plain: @post.text, content_type: metatype_to_contenttype(@post.metatype)
return
end

I don't work with rails very often. There are probably better idioms for this type of behavior that I'm not aware of. πŸ˜…

Base64 data image not rendered

When using Base64 encoded data images (text only images), within my markdown notes, as such:

![](data:image/png;base64,{{encoded-string-here}})

..they render perfectly within standard notes, but on listed published pages the "src" stays empty within the img tag.

If this could be solved, that would be fantastic.

Listed.io missing PWA icon

If you use iOS 'add to home screen' functionality to create a progressive web app out of Listed.io, it doesn't have a PWA icon set and so just shows up as a website screenshot.

image

Move ⭐️ starred listed blog to top of list

As listed.io is the main landing page for the micro blogging service, it would be beneficial to move the ⭐️ starred Listed blog to the top of the list for easy access to new guests, visitors and returning members, instead of having to search for it each time.

RFE: Anon / isolated publish

I'd like to be able to anonymously publish things "off-blog" that would be published separate from my Listed "blog" with no obvious traceability back to me.

I have various highly formatted markdown notes that go beyond what could be done in a pastebin post, that I'd like to be able to link to within various tech/coding communities w/o the linked post revealing the rest of my blog as a use-case example.

Option to set description meta tag in post metadata

Proposal:

Read a description property from post metadata, e.g.:

---
description: A post on my blog!
---

post content

This should render a meta tag in the post:

<meta content="A post on my blog!" name="description"/>

Motivation:

When sharing posts on social media, it's nice to be able to provide a summary tailored for that use-case.

Other options to control metadata of posts are available (see docs).

Alternatives:

Currently, the description meta tag is created automatically from the post content. See here and here.

@desc = strip_tags(@post.rendered_text).slice(0, 200) + "..."

This is a sensible default. However, per the motivation above, the beginning of an article isn't necessarily a good summary, and is not tailored for the purpose of sharing.


I'm happy to contribute the code for this feature if you guys want it. It seems I can copy most of the code used to implement the canonical meta property. I would also move the code to calculate the description (e.g. either the description meta property, or the first 200 chars of the content) into the Post model class.

As per the longevity statement, I'm not sure how to evaluate the impact this would have. It'd be more code and more database columns, but I do feel like sharing blog posts is an important and attractive use-case.

Mobile logo for improved readability

The Listed L logo may need to have an improved or enlarged version for Mobile for readability at small sizes as the thin part of the font almost disappears when viewing on mobile.image

UI lag when selecting authors with a custom domain

@antsgar strangely on the new React version, clicking authors who use a custom domain involves a 250-500ms lag before the page even begins loading. You can try this out here for now. This is pointing to the develop branch.

This doesn't occur when selecting users not using a custom domain.

KaTeX or MathJax in listed.to blogs

It would be nice if it was possible to have KaTeX or MathJax (mostly equivalent I think) in listed.to blogs, possibly as an option controlled by the special metadata which you can put at the top of posts.

Doing this would mean that you could use the markdown math editor to create posts with maths in which would then display properly on listed.to.

I don't know how hard this is to do for KaTeX: for MathJax it is as simple as arranging for the appropriate script to appear in the header of the generated HTML, which is some variant of

<script type="text/javascript" async
        src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg-full.js">
</script>

I suspect KaTeX is similar.

Obviously this is not enormously important, but I think it is easy to do and it would make things better for some people (me!)

HOST environment variable not used in .jsx files

Hey,
I'm working with standardnotes for years now, it's awesome!
My notes are currently lying on my own server, and I'm using some additional external editors with my extended subscription.
Now I'd like to share my notes with other people by running the listed extension locally.

I just got it running in a subdirectory of my server. I've added the full address to the "HOST" variable in the .env-file, but some template files do not seem to include this environment-variable to their XHR-request-paths.
The problem occurs first if I try to click the "Start writing" button: It seems like the path in line 17 in file StartWriting.jsx is defined the root of the website without using the HOST variable:
... .post("/authors", null, { ...
After doing quick search in the repository there seem to be some more files including this thing.

I think changing this might help other people trying to self-host the listed-extension in a subdirectory.

Cheers,
Jelko

RTL support?

User report that it's not working as expected (with Hebrew)

RFE: Dark Mode

It's jarring to work in midnight/futura within Standard Notes then to see what is published in retina burning snowstorm white.
It would be nice to be able to set some presets across a whole Listed account related to UI, even if it's just a binary toggle between a dark and light CSS.

Repetition on listed.io

It may be beneficial to consider reducing written repetition on the listed.io blog as it shows the title and logo many times.

Or see if it is possible to just hide the page title and L image to avoid the duplication.

image

Shared Note was deleted, but is still accessible through Listed

Good Day,

I have a shared a note with a private link. The original note has been deleted (also from the Standard Note Trash section). The note, is still accessible through Listed if you have the private link. Is there a way to remove the share on a deleted note if the note is no longer present in the Standard Notes interface?

Looking foward to hearing back from you.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.