diff --git a/TODOs.md b/TODOs.md new file mode 100644 index 00000000..69088622 --- /dev/null +++ b/TODOs.md @@ -0,0 +1,44 @@ +# TODOs + + + +--- + +## In Flight + +- Blog list UI - fix posts width +- Blog post UI - (Started - needs more polish) +- OAuth +- Standard site push - Mock PDS push for now +- constellation - bsky API +- Docs Run them locally with `pnpm dev:docs`. + +--- + +## On Deck + +- automatic pulls or pushes from an action runner +- records walkers +- bsky posts stuff - Bluesky comments +- How does i18n deal with dynamic values? $t('blog.post.title'), +- blog publishing for https://bsky.app/profile/npmx.dev - cli/actions pipeline +- site.standard.publication lexicon - decales it's a blog on atproto can be manual setup +- site.standard.document - publishes everytime there's a new blog entry. + - Proposed: the pipeline takes login pds, handle, and app_password as secrets. Checks to see if one has already been published for that blog post. If so does not push it. If it hasn't then it creates the atproto record when deploying/building by logging in. check if an article has been created by parsing the createdate of the blog post to a TID, do a getRecord. if it's there dont publish the new one. If it isnt send it up. I wrote about tid concept here + https://marvins-guide.leaflet.pub/3mckm76mfws2h + - Proposed: nuxt module with a build hook. e.g. in standard-site-sync.ts we use a hook that triggers after the file is parsed and create the site.standard.document or not if it already exists. +- Update styling for blog posts. +- BlogWrapper Component or should it be a Blog Layout? +- Organize markdown files in blog post folder? +- I18n of blog posts. +- TBD + +--- + +## Landed + +- [x] Lexicons +- [x] Prose-styling using unocss typography +- [x] anthony's alternative markdown solution for now and Nuxt content integration for later + +--- diff --git a/app/components/AppFooter.vue b/app/components/AppFooter.vue index 0ab9f83d..05bd6479 100644 --- a/app/components/AppFooter.vue +++ b/app/components/AppFooter.vue @@ -12,6 +12,12 @@ > {{ $t('footer.about') }} + + {{ $t('footer.blog') }} + { e.preventDefault() router.push('/settings') }) +onKeyStroke('.', e => { + const target = e.target as HTMLElement + if (target.tagName === 'INPUT' || target.tagName === 'TEXTAREA' || target.isContentEditable) { + return + } + + e.preventDefault() + router.push('/blog') +})