feathers icon indicating copy to clipboard operation
feathers copied to clipboard

chore(docs): New Docs and Website

Open marshallswain opened this issue 3 years ago • 2 comments

Adds /docs at the root of the project. The new docs have been moved from VuePress to VitePress. Development is lightning fast. All changes have been made on top of the default Vitepress template. This means we will automatically get all upstream updates to the Vitepress template. Additionally,

  • Colors have been customized to fit our new design. The new template uses UnoCSS under the hood, FTW.
  • Dark mode and Algolia search are in place.
  • Custom Tabs and Tab components have been created for code examples. Tab accepts a global-id prop to synchronize switching between related sets of tabs. So when you change to TypeScript, all tabs with a TypeScript example will switch, as well. Each tab will also remember its active tab between page reloads. (Remember that fenced code blocks will only work if they are wrapped in line breaks, top and bottom.)

See current state of docs at dove.feathersjs.com

Pending:

  • [x] Create page placeholders in same structure as crow docs.
  • [x] Copy content from Dove docs
  • [x] Figure out why links with anchors have the anchor stripped. (template issue in vitepress).
    • I'm marking this as complete because I think it will be fixed once we deploy. It's likely only and issue in dev mode.
  • [x] Add existing cookbook content into the Ecosystem menu.
  • [x] Rename /readme links to / (index.md)
  • [x] Make header static on the home page
  • [x] Remove all badges except npm
  • [x] Hook up the "Get Started" buttons
  • [x] Fix footer links
  • [x] Finish replacing tabs
  • [x] Fix meta-related icons
  • [x] Fix migration guide
  • [ ] Fix Footer styles on mobile. (have to debug directly on iPhone, because emulators don't display the issue)
  • [ ] Replace placeholder text on the home page
  • [ ] Add/Edit new content for Dove
  • [ ] Fix Algolia Search
  • [x] Setup redirect from dove.docs.feathersjs.com to feathersjs.com.
  • [ ] Finish Partners Section on home page
  • [x] Fix tabs on http://localhost:3333/api/services.html
  • [x] Update feathers-knex, bring into core
  • [x] Standalone utility for transpiling the TS files
  • [ ] Update the feathers-knex link, here: http://localhost:3333/guides/basics/services.html#core-database-adapters
  • [ ] Adapters - Memory page
    • [x] Update badges
    • [ ] Update examples
  • [ ] Adapters - MongoDB page
    • [x] Update badges
    • [ ] Update examples
  • [ ] Adapters - Knex page
    • [x] Update badges
    • [ ] Update examples
  • [ ] OAuth
  • [ ] Illustrate concepts for where to use things:
    • [ ] Resolvers are for changes to data or populating based on properties
    • [ ] Hooks are for side effects.
    • [ ] Services are for anything that maps cleanly to CRUD operations.
  • [x] Externalize code snippets: https://vitepress.vuejs.org/guide/markdown.html#import-code-snippets
  • [ ] Guide
    • [ ] Redo guide based on new generator
    • [ ] Show off channels
    • [ ] Front End Framework
  • [ ] Stackblitz
  • [x] Add error pages
  • [ ] Update migration guide with section on whitelisting a custom param using schemas.
  • [ ] Notes/docs on working with schemas
    • [ ] Schemas should be object types, not arrays. This is required for clean type conversion/inference.
    • [ ] If the inferred TypeScript type suddenly becomes never, check for errors in the schema. The most likely error is having a string in the required property that doesn't exist in the properties object.
  • [ ] Allow resolveAll data resolvers to be optional. PR with tests.
  • [ ] Document a troubleshooting step for when app.service('my-service').hooks(myServiceHooks) fails with a TS error due to an invalid return value when upgrading or registering regular hooks as around hooks.
  • [ ] Make a color-coded hooks console.log example.
  • [ ] When customizing a service, make sure to remove or add the method from the methods array during service registration.
  • [ ] Troubleshooting when schema type is unknown.
    • [ ] Required properties must match properties in the schema.
  • [ ] Add a Troubleshooting Guide under the Migration Guide in the More section of the guides.
  • [ ] Talk about feathers-sync and real-time provider (currently Socket.io) scaling. Nobody else has really done this. Socket scaling is generally a pain in the ass. We've got it covered.
  • [ ] Talk about how channels performance is O^1 and how we refactored Feathers to allow this level of performance.

Screen Shot 2022-06-13 at 5 31 09 PM

marshallswain avatar Jun 10 '22 18:06 marshallswain

Screen Shot 2022-06-15 at 8 22 56 AM

marshallswain avatar Jun 14 '22 02:06 marshallswain

Deploy Preview for feathers-dove failed.

Name Link
Latest commit 19dd96793b5026859108c56027634f386b9eb676
Latest deploy log https://app.netlify.com/sites/feathers-dove/deploys/634d90e1f7c801000a971393

netlify[bot] avatar Jun 16 '22 18:06 netlify[bot]

Closing this PR since the new docs are available now at https://dove.feathersjs.com. We'll keep the branch around in case there is anything else we still need from it.

daffl avatar Nov 28 '22 04:11 daffl