All Projects → mimecuvalo → helloworld

mimecuvalo / helloworld

Licence: MIT License
federated social web blog and RSS reader

Programming Languages

javascript
184084 projects - #8 most used programming language
CSS
56736 projects

Projects that are alternatives of or similar to helloworld

feeds
免费的公众号 RSS,支持扩展任意 APP
Stars: ✭ 912 (+4045.45%)
Mutual labels:  atom, rss
simplepie-ng
Don't use this yet.
Stars: ✭ 41 (+86.36%)
Mutual labels:  atom, rss
JARR
JARR is a web news aggregator.
Stars: ✭ 99 (+350%)
Mutual labels:  atom, rss
baRSS
Menu Bar RSS reader for macOS
Stars: ✭ 39 (+77.27%)
Mutual labels:  atom, rss
django-feed-reader
An RSS/Atom/JSONFeed reading + storing library for Django
Stars: ✭ 21 (-4.55%)
Mutual labels:  atom, rss
feed2email
RSS/Atom feed updates in your email
Stars: ✭ 37 (+68.18%)
Mutual labels:  atom, rss
meta-extractor
Super simple and fast html page meta data extractor with low memory footprint
Stars: ✭ 38 (+72.73%)
Mutual labels:  atom, rss
atomex
🌊 Elixir RSS/ATOM feed builder with a focus on standards compliance, security and extensibility
Stars: ✭ 38 (+72.73%)
Mutual labels:  atom, rss
json-feed-viewer
The world's first JSON feed viewer 🥇
Stars: ✭ 40 (+81.82%)
Mutual labels:  atom, rss
FeedReader
C# RSS and ATOM Feed reader library. Supports RSS 0.91, 0.92, 1.0, 2.0 and ATOM. Tested with multiple languages and feeds.
Stars: ✭ 221 (+904.55%)
Mutual labels:  atom, rss
feedspora
FeedSpora posts RSS/Atom feeds to your social network accounts.
Stars: ✭ 31 (+40.91%)
Mutual labels:  atom, rss
drop-feeds
Drop Feeds is a Sage / Sage++ like addon (webextension) for Firefox Quantum
Stars: ✭ 18 (-18.18%)
Mutual labels:  atom, rss
laminas-feed
Consume and generate Atom and RSS feeds, and interact with Pubsubhubbub.
Stars: ✭ 97 (+340.91%)
Mutual labels:  atom, rss
vuepress-plugin-feed
RSS, Atom, and JSON feeds generator plugin for VuePress 1.x
Stars: ✭ 46 (+109.09%)
Mutual labels:  atom, rss
TIFeedParser
RSS Parser written in Swift
Stars: ✭ 18 (-18.18%)
Mutual labels:  atom, rss
progrssive
A PWA for reading RSS feeds. It works offline!
Stars: ✭ 23 (+4.55%)
Mutual labels:  atom, rss
V2
Minimalist and opinionated feed reader
Stars: ✭ 3,239 (+14622.73%)
Mutual labels:  atom, rss
Pushl
Push notification adapter for feeds
Stars: ✭ 25 (+13.64%)
Mutual labels:  atom, rss
feed2maildir
📬 Read RSS/Atom feeds in your favourite, maildir-compatible email client.
Stars: ✭ 15 (-31.82%)
Mutual labels:  atom, rss
webfeed
A dart package for parsing RSS & Atom feed
Stars: ✭ 92 (+318.18%)
Mutual labels:  atom, rss

🔮 Hello, world.

federated social web blog
using the foundation of CRA-all-the-things

CI status CI status license

NOTE: still under active development and I'm not currently providing backwards compatibility until things stabilize.

📯 Description

federated social web blog app. in short, i'm trying to build an open-source Tumblr (RIP). passes SWAT0!

Features

  • social features:
    • RSS reader
    • oStatus stack, WebSub/Salmon/Webfinger
    • commenting
    • api to follow/reblog content (pretty basic right now)
  • WYSIWYG editor
    • edit content in page, or add new content via dashboard
    • rich content pasting (paste in url/embed and we'll grab the video or image)
    • tagging objects through #catvideo and people @bestfriendforevs
    • different templates (namely, albums currently)
    • CSS/JS/HTML editing via CodeMirror
  • technology features:

💾 Install

npm install

Then, to run your newly created server locally, with the Storybook styleguide server:

npm start

Prerequisites: Node 13+ if you want proper internationalization (i18n) support (via full-icu).

Or, to run locally without the Storybook styleguide server:

npm run serve:dev

To run in production (or better yet check out bin/flightplan.js)

npm --production install
# TODO(mime): annoyingly, you'll need to build the hello-world-editor/social-butterfly separately b/c npm workspaces isn't so robust yet.
# in flightplan.js i hack around this by removing the workspaces, ugh.
npm run build
npm run serve:prod

To run tests:

npm run test

To change port, in an .env change the values to what you would like

PORT=3000
REACT_APP_SSR_PORT=3001

To run migrations:

npx sequelize db:migrate && npx sequelize db:seed:all

To create a new migration:

npx sequelize migration:generate --name [migration_name]

To learn more about Sequelize and migrations, read the docs here.

To extract i18n messages (they go into the folder build/messages):

npm run extract-messages

To use Docker:

npm run dev

and then MySQL will be available on port 3002 (with username/password/database name all being allthethings). Redis will be on port 3003. To set up Redis be sure to set REACT_APP_REDIS_HOST and REACT_APP_REDIS_PORT.

🎯 Goals

  • pass SWAT0
  • open source
  • quick to install
  • be a good, straightforward-to-use alternative to what's out there!

🗺️ Roadmap

p0 (high pri)

  • creating comment doesn't load in comment properly (text missing)
  • replying from dashboard when body of editor isn't selected throws error
  • possible to pause compilation while building package?
  • apostrophe in title makes it not hidden, e.g. Don-t-deploy-on-Fridays-wRXma4oxja
  • Multiple app capable
  • getting negative counts on dashboard - regression
  • Fault tolerant http
  • rm antiCache with migration to React hook <- needed anymore?
  • Package directories build sanely
  • Reader WordPress alt Tumblr alternative
  • freeze HMR when re-building
  • when done with editing doesn’t have latest version
  • don't have edit link on feed page / or redirect to content page
  • graphql errors should surface to top
  • use rebound?
  • end debugger debugger on run, to be safe?
  • bin / fly prod should have npm corresponding command
  • think about igor's feedback re css and other stuff
  • high-res picture load in app, not new link
  • hw loading old entries if purged prbly
  • sorting should refresh feed
  • pasting iframe into editor doesn’t work (npr video embed)
  • fix img sizes in comments (too big - see example on nite-lite about page)
  • Email is formatted wrong when getting webmention (says self sent email)
  • don't update updatedAt for view
  • migrate from user context to local state
  • split off dashboard, admin panel, draft.js code, auth0, and lodash code for performance
  • social api:
  • twitter embed support
  • editor
    • onbeforeleave fix after posting once
    • drop anywhere on page
    • don’t replace when uploading twice
    • don’t allow links to be clicked in editor
    • something wrong with toolbars editing (multiple)
    • grab thumb from first image (if pasted in)
    • when finishing editing doesn’t show new version
    • show uploading spinner
  • fix linting / compilation checks in packages
  • get rid of trailing slash on profile page
  • make install instructions dead-simple, one-liner with mysql mock db setup.
  • render HTML with inline styling (e.g. mentions)
  • getting an error in graphql seems to freeze the apollo server. if so, update all-the-things, too.
  • same Apollo query twice causes SSR to fail with htmlHead, wtf.
  • more GraphQL examples:
    • fragments
      • also, things like fetchPublicUserData should be part of the graph not separate queries
    • local state
    • subscriptions
    • check out dataloader: https://github.com/graphql/dataloader
    • generate automatically schemas/typedefs
  • generator steps for Sequelize files
  • see if lazy attribute can be a good substitute for ContentThumb's delay-loading logic (chrome 75)
  • finish up Admin panel to add/delete users
  • loading state when following someone new
  • incorrect url (i.e. with http:) follow error on dashboard

p1 (medium pri)

  • web components? (e.g. check out youtube.com)
  • update material-ui with proper theme (instead of pixel.css)
  • should follow self in dashboard, when posting new comment it goes to 'user remote' version.
  • add site loading/working component, say when following a feed and it's working.
  • hubspot's draft-extend / draft-convert might be a better route than draft-js-plugins, maybe combine the two editors
  • more winston logging
  • links template should only open embeds in lightbox?
  • images open in lightbox
  • editor features to bring back (from Python version)
    • use CSS-in-JS in editor package to avoid having to import separately
    • add snackbar close action
    • better emoji picker (can use EmojiOne's)
    • custom emojis
    • gotta fix @-mentioning for editing content (works for dashboard only now)
    • draft.js:
      • move paste code out of main index.js
      • custom tab behavior - draft.js's default is terrible
      • add markdown
      • add inline-code
      • add empty newline always at end of doc
      • image upload progress (or indeterminate loading "spinner")
      • unfurl should have "(via link)"
      • take a look at utils codebase: https://github.com/jpuri/draftjs-utils
      • code, use prism syntax highlighting
      • google maps embed
      • can’t import CSS for some reason into webpack from node_modules (from draft-js-plugins)
      • DraftEntity.get/create deprecated
      • multiple images - single undo instead of two (also when pasting unfurl)
      • use something instead of ' ‘ and ‘a’ for atomic blocks
      • convertFromHTML bug - this will fail <figure> <img src=""> </figure> but w/o whitespace won’t
      • toolbar don’t move on click (position so it doesn’t go off screen), get rid of scale
      • checklist / tasklist
      • dnd + align toolbars don’t actually work
      • htmlToEntity has extra data (entity and node both have the same data :-/), need to update attachment.js, unfurl.js, Iframe.js, Image.js, Blocks.js
    • create new sections / albums, renames (and redirects)
    • content rename (and redirects)
    • draggable, be able to drag album, sitemap, followers and move to different categories
    • some content is uneditable (like from Simple.js)
    • audio/video uploads
    • css/js live updates to wysiwyg
    • figcaption
  • dashboard: better way to sandbox remote content?
  • search should have InfiniteFeed
  • bring back old features (from Python version)
    • data liberation, ability to port data to another site/service
    • themes
    • forums
    • events
    • store
    • slideshow
    • favorites and shares
    • spam control
    • webfinger if http://ostatus.org/schema/1.0/subscribe present then show Follow button for user
    • fb/google+/twitter mirroring (backwards compatibility ;)
    • media manager: had support for video/audio/images
    • resumable uploads
    • edit images
    • newsletter, google analytics, basic ads, adult content flag
    • Structured data w movies music
    • content management
      • drag & drop to move sections
      • drag & drop to move content in albums
      • have hidden content
      • change section/album/thumb/hidden/template/thumb in content editor
      • be able to delete from within content editor
  • friendica, other webfinger/host-meta tech
    • check out oexchange (see friendica)
    • check out amcd (see friendica)
    • why does friendica have salmon magic-key at top level host-meta file?
  • dashboard/item.js update() is called so much there's a race condition and sometimes the apollo store gets -1

p2 (ideas)

  • look at/switch over to a React Hook

📙 Learn More

Changelog

Code of Conduct

Contributing

Contributors

Support

📜 License

MIT

(The format is based on Make a README)

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