GithubHelp home page GithubHelp logo

sigle / sigle Goto Github PK

View Code? Open in Web Editor NEW
423.0 9.0 64.0 32.59 MB

Open-source Web3 writing platform for Web3 writers

Home Page: https://www.sigle.io

License: MIT License

JavaScript 1.75% TypeScript 97.16% CSS 0.20% Dockerfile 0.19% Shell 0.02% HTML 0.04% Handlebars 0.64%
blogging typescript sigle stacks open-source

sigle's Introduction

Sigle

Where Web3 stories come to life

Stars Checks License

Sigle - A beautiful, decentralised and open source blog maker | Product Hunt Embed

About

Sigle is a secured and open-source writing platform for web3 content creators, NFT projects, crypto analysts and more. We give you all the tools you need to shape your community and make your stories come to life.

Contributing

We're open to all community contributions! Please first read our contributing guide to see how to locally setup the repository and see our development process.

License

MIT © Sigle

sigle's People

Contributors

akirtovskis avatar dependabot[bot] avatar github-actions[bot] avatar gregogun avatar harshalvk avatar hugocaillard avatar imgbot[bot] avatar janniks avatar pradel avatar shubhdeep12 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  avatar  avatar  avatar  avatar

sigle's Issues

⚡ Feature | Table of Contents

It would be great to be able to add a table of contents based on the H1/H2/H3 values with build-in navigation, especially for longer posts.

This might be able to tie into #87 as its common with Markdown enabled files.

Example of a long post (I'm good at these!): Blockstack: How to -git- Involved

Example of the markdown TOC for the above post, I use Markdown Writer in Atom to generate mine.

Code Example:

<!-- TOC -->

Table of Contents

- [Github Organizations / Repositories](#github-organizations--repositories)
- [General git/Github Resources](#general-gitgithub-resources)
- [Terms and Definitions](#terms-and-definitions)
- [The Full Project Flow](#the-full-project-flow)
- [Other Useful Tips and Commands](#other-useful-tips-and-commands)
  - [Tips / Tricks](#tips--tricks)
  - [Commands](#commands)
- [A Complete Walk-through](#a-complete-walk-through)
  - [Setting up the Local Environment](#setting-up-the-local-environment)
  - [Making the Changes](#making-the-changes)
  - [Submitting the Pull Request](#submitting-the-pull-request)

<!-- /TOC -->

Actual Result:

Table of Contents

⚡ Feature | faucet and paywall features

Add features:
pay-for-viewing : Like a bitcoin faucet but not completely free. Viewers get paid some STX for viewing a blog and optionally answering a question(s) at the end to prove it was read/viewed by a human.
pay-to-view : a pay wall. People have to pay some STX for viewing an article or blog
(or some kinda membership/subscription feature?)

obviously requires Blockstack #Clarity smart contracts to be live.

⚡ Feature | Warning modal when leaving editor with unsaved changes

Description

When the user is on the editor page, show a modal if he click on the logo on the top left saying that some changes are unsaved.

Related to the implementation I found vercel/next.js#2694 (comment) but better to look at other ways too.

Should prevent:

  • leaving page using next.js router (eg: clicking arrow on the top left)
  • leaving page using browser routing (eg: clicking go back to previous page on chrome)
  • leaving page for a new website (eg: change website URL on chrome and press enter)

⚡ Feature | RSS feed

Description

Provide a public link that expose all the stories in xml format understandable by RSS readers

⚡ Feature |

Sorry for opening the topic here, I did not want to open dc account for this. New user here. How can i share my blog with others? Is there a link for this or etc.? You can delete my issue 1 day later after answering to not cause inappropriate flow of issuesm

⚡ Feature | Blog settings page

A user should be able to enter:

  • a picture / logo
  • social media links
  • a custom username
  • description

This information will be used inside the default theme to personalise the blog for the user.

⚡ Feature | Editor.js

Embed Video & Iframe & add image link

  • Embed Video
  • iframe
  • Image link

I am trying to integrate Embeds from slatejs into Slate editor. But the Embeds example includes using Slate,Editable,withReact,useSlateStatic,ReactEditor which are not present in [email protected] and
upgrading it to @0.59.0 gives errors, I can't figure out how to use Input field to embed content by pasting link and pressing Enter.
Please Provide helpful suggestions and if possible add your own suggestions help is highly appreciated
These would certainly be useful features for users.

SEO for the story page

When you share your story link we should show the image cover and the title of this story

🐛 Bug | Issues with add a link shortcut (ctrl+k)

Description

When using ctrl+k to add links, I noticed two small issues that affect usability.

  1. The modal auto focuses on the link name instead of the link address, so when trying to use ctrl+k then ctrl+v to paste, it lands in the wrong spot. Ideally I would be able to chain ctrl+k, ctrl+v, and enter.

  2. After closing the modal to save the link, it jumps to the top of the page. Since I write really long blog posts this means scrolling back down and trying to find my place again. 🤓

Screenshots

None.

Device

  • OS: Linux Mint
  • Browser: Vivaldi
  • Version: not in front of it atm but can check if needed.

Let me know if you need any additional info!

⚡ Feature | Text alignment

Hello,
It'd be great to have the option to align text paragraphs, i.e. justified or centered.

Lovely project by the way, the aesthetic is amazing in its simplicity. Keep it up!

🐛 Bug | Sigle doesn't seem to show up after being published.

I was able to draft and save my sigle. Then I clicked publish and it said it published it, however, it didn't show up in the Published tab (the count was still zero) and when I click on the eyeball, I no longer get the 404, but I don't see any content -- just tabs saying my blockstack id and 'Stories'.

I'm wondering if this isn't Sigle, but the fact that Blockstack is failing for the ID that I was using (alex.stealthy.id). I'll try another account and get back to you.

Localize and RTL

Hello
It is better to localize this program and add RTL as well.

⚡ Feature | Custom domain

Description

  • General architecture (Caddy server, Vercel, Fly.io, Qovery)?
  • Design the setting page
  • Design the DNS verification email process
  • Open beta to a few selected users
  • Generate sitemap for website using custom domains - #193

⚡ Feature | Republish stories on other writing platform

Description

This would be a nice feature, if Sigle integrated a way to easily republish. Like a “publish to” button with the options of Medium and/or others. And the post could include a “Created by Sigle” link-back as a way to spread Sigle and Blockstack/dapp awareness. I will suggest this as a feature for Sigle.

https://forum.blockstack.org/t/community-goals-for-2020/10296/6

  • Medium does not seem to have an open API
  • Dev.to should be possible

💡 RFC | Save post content as markdown in Gaia

Description

The goal of this RFC is to find a good format to store the blog post contents in the user Gaia storage. Sigle is currently using slatejs for it's editor. We use the version 0.47.X and would like to upgrade to the latest slate version. The problem is that slate released a major breaking change in the 0.50.X version regarding how the data is formatted. In a centralised way, it should be fairly easy to migrate the current data to this new format using a database migration.

In a decentralized world, this is quite different as Sigle can't write to the user storage on his behalf. As there is no automatic way to do the migration we will need to keep a migration script in our codebase for a very long time (1+ year or maybe forever).

This issue brings actually a bigger problem, what format is the best to store the blog post content. We need to find a solution so this situation does not happen again in the future.

The solution will need to cover the following requirements:

  • No lock-in - Is not tied to an editor (current format is tied to slate < 0.47)
  • Extensible - we should be able to create custom blocks of content (eg: image carousel)
  • Safe - we need to protect the user from XSS attacks etc.. (allow only some kind of blocks)
  • Standard - another app could use the same format to render the content

The user will not see any change in how the editor is currently working, these changes will be done in the background, we do not plan (for now) to have a brand new editor (eg: markdown with side preview).

Markdown

https://daringfireball.net/projects/markdown/syntax

Format

For the following article:

Screenshot 2020-10-17 at 18 09 03

Slate format:

{
  "object": "value",
  "document": {
    "object": "document",
    "data": {},
    "nodes": [
      {
        "object": "block",
        "type": "paragraph",
        "data": {},
        "nodes": [
          { "object": "text", "text": "Simple lorem ipsum ", "marks": [] },
          {
            "object": "inline",
            "type": "link",
            "data": { "href": "https://app.sigle.io/" },
            "nodes": [{ "object": "text", "text": "with a link", "marks": [] }]
          },
          { "object": "text", "text": ", voila.", "marks": [] }
        ]
      }
    ]
  }
}

Markdown format:

Simple lorem ipsum [with a link](https://app.sigle.io/), voila.

Requirements

  • No lock-in: It is not tied to any editor and can be rendered easily in any programming language
  • Extensible: We can create custom block contents but at the same time the format limits the blocks we can create. Eg we can't really create 2 columns of text side by side except if we are mixing markdown and HTML tags.
  • Safe: Markdown is safe as we can only render the markdown tags and avoid rendering the HTML tags.
  • Standard: There are multiple flavours of markdown but the GitHub standard is widely adopted already.

Libraries

Here is a list of libraries that can be used to parse the markdown content. More research is needed to pick the good one.

Conclusion

The markdown format looks like the most simple solution, it can be integrated super easily, is fast to parse and render. The only downside could be the lack of customisation if we want to create custom blocks. This can be solved using HTML blocks but at the same time will complicate the implementation.

Any feedback is welcome regarding this change :) I would love to add more options to this list!

⚡ Feature | Blog roll

Description

It would be nice to add a list of friends' blogs who published their blog via a contract call.

  1. Add list of user names in my blog meta data
  2. Add smart contract (public registry)
  3. Add publish on chain button
  4. Add ui in blog to link to other blogs

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.