Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v2 #34

Closed
hacdias opened this issue Nov 1, 2021 · 0 comments
Closed

v2 #34

hacdias opened this issue Nov 1, 2021 · 0 comments

Comments

@hacdias
Copy link
Owner

hacdias commented Nov 1, 2021

The dreaded goodbye to Hugo.

TODO

  • Database
    • Fix queries (see error 500 on /all when logged out)
    • Separate into different module via interface
    • Migrations command
    • When entry does not exist in disk, simply remove it, no fail
  • Media endpoint: upload to /u/
  • Make CDN endpoint not hardcoded
  • Every time eagle starts, it can start with a flag "ensure consistency" where we check if all posts exist or not and remove non-existent ones
  • /dashboard page with some commands: rebuilt assets, clean cache, reload redirects, sync, new, etc.
  • Do not show listing override pages (like sections, tags, index) on search. Maybe use _index for those listings and add a boolean value to the Entry struct that is passed onto the database.
  • Caching (in-memory and memory bound: https://github.com/dgraph-io/ristretto)
    • A very basic cache was implemented with a 1 day TTL. It does not cache pages with queries and its main goal is to serve listing pages as those are the ones that take slightly more time to render. Probably not really needed, not a lot of traffic. We'll see in production.
  • When code is stable and almost ready to deploy
    • Disable IPFS building on current website
    • Run migration script
    • Add /index.html on experiments on more page and more links in categories sections
    • Fix post images when src is relative to the page (make it relative to /)
    • Create page for new sections
    • Run migrate script
    • Update missing {{< figure to new syntax
    • Import checkins: https://github.com/aaronpk/Swarm-Checkins-Import
    • Delete /static, /content
    • Rename /content2 to /content
    • Add <!--more--> to single pages that show up in search.
    • Add noSendInteractions to some pages, such as /more, /watches, /listens
    • Remove redirs from Caddyfile
    • Update silos-collector with new paths for Last.fm and Trakt only, disable Swarm
Done
  • Migration Script
    • Migrate Webmentions
    • Migrate XRays
    • Migrate Photos
    • Migrate Reads as Posts
    • Migrate page-specific data
    • Do not migrate /stream
      • Add /stream --> /
      • Add /stream/feed.json --> /feed.json
      • Add /stream/feed.xml --> /feed.atom
  • Sections
  • Feed with everything at /all
  • Feed with main sections at /
  • Individual tag at /tags/{tag}
  • Search
  • JSON & XML Feeds For Sections and Tags
  • Webmentions
  • Edit, Delete, etc.
  • Rendering
  • Yearly, monthly, daily pages.
  • Private posts.
  • Preview drafts.
  • Display location on posts
  • Micropub: https://micropub.spec.indieweb.org/
  • Check-ins support
  • Reads support
  • Likes support.
  • Reposts support.
  • Fix posts that have custom CSS and JS
  • Bookmarks support.
  • Guestbook template
  • Postgres
  • Tags listing at /tags
  • Multiple sections
    • All posts that have properties.photo are added to photos section
    • Replies and notes both go to /micro
  • Generate summary for:
    • Checkin: At $PlaceName
  • Twitter: check if context is related to Twitter & no syndication to Twitter, then do either:
    • New Post (Tweet)
    • Like
    • Reply
    • Repost
  • Review data in database: perhaps merge (title, content, summary) into single field as DB is search only.
  • See what things I can modularize
    • Rename pkgs to a differnt thing bc they're internal modules
    • Probably take micropub too bc there's no guarantee it is correct
    • Re-enable indieauth and check for scopes
  • Search accessible on mobile:
    • Smaller header with just my name on top, then search row, then navbar.
  • Own IndieAuth implementation https://indieauth.spec.indieweb.org/
  • Consider Removing Tailscale code if not using
  • TOR detection
  • /new page
  • Migration Script
    • Redirect from /section/feed.{json|xml} to /section.{json|atom}
  • <head> info such as alternate
  • Good Regex to migrate figures?
  • Show edit/deleted/draft/private in all pages that were found via .GetEntry.
  • Minification https://github.com/tdewolff/minify
  • Show lock or onion in footer if running via TOR
  • Use RenderData.Data interface more and remove some vars (Entries, Terms, etc).
  • Setup current aliases as 301 Permanent Redirects.
    • Make sure some of the aliases don't clash like /all and /stream
  • Assets building
  • Micropub photos field: upload them to BunnyCDN or to post folder.

After Deploying

v2: After Release

(See other issues)

v2: File Structure

/app/source
	/content					--> For posts.
		/my-post
			index.md			--> Post frontmatter and data.
			my-file.jpg			--> Some public file.
			_webmentions.json 	--> Hidden from public eyes.
	/static						--> Directly served static files.
	/assets						--> Pre-processed files.
	/layouts					--> HTML templates and layouts.
@hacdias hacdias closed this as completed Nov 15, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant