Skip to content

Necessary website changes before the site moves to pouchdb.apache.org #9246

@espy

Description

@espy

Issue

The PouchDB website will move to https://pouchdb.apache.org in the near future. The workflow to build and deploy the site to there is already in place, but the site currently has a variety of new issues that need to be tackled, and we also want to make some structural changes so we can support versioned docs.

This is a super-issue that collects all the necessary steps.

Apache blocks a variety of external domains, so we need to:

  • Remove Gravatar for user avatars and pull the images into the repo.
  • Remove Google Analytics.
  • Remove Google Fonts and add the fonts to the repo, license permitting (fonts are Lato and Open Sans).
  • Remove jQuery entirely or pull it into the repo instead of loading from CDN at https://code.jquery.com/jquery.min.js.
  • Pull Bootstrap into the repo instead of loading from CDN at https://netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js.
  • Find a way to host pouchdb.min.js directly without building it on every site deploy. Currently, pouchdb.com hosts the library itself (from a CDN at https://cdn.jsdelivr.net/npm/pouchdb/dist/pouchdb.min.js) so it can be used in the browser terminal. This is a great feature and should be retained somehow.

Restructure the website so we can have versioned docs

Similar to how the CouchDB docs work, we’d like to have versioned docs. This should probably cover not only the /api page, but also /guides and /learn. We need:

  • The default docs anyone sees when arriving at pouchdb.apache.org to be stable, eg. the last proper release.
  • We also want latest, which shows the docs as the are in the master branch
  • Then we also want versioned docs, eg. pouchdb.apache.org/8.0.0/api

We do not need to tie this to the actual release process. All of these pages are written by hand, so we can just create a folder structure that maps to PouchDB releases and change whatever needs to be changed manually. My suggestion for the structure:

Versioned URLs and their sources (same files as before, but in versioned directories)

  • pouchdb.apache.org/9.0.0/api -> /docs/9.0.0/api.html
  • pouchdb.apache.org/9.0.0/guides/setup-pouchdb.html -> /docs/9.0.0/guides/setup-pouchdb.md
  • pouchdb.apache.org/8.0.0/adapters.html -> /docs/8.0.0/adapters.md
  • etc.

Latest (points to where the files currently are, in the /docs root)

  • pouchdb.apache.org/latest/api -> /docs/api.html
  • pouchdb.apache.org/latest/guides/setup-pouchdb.html -> /docs/guides/setup-pouchdb.md
  • pouchdb.apache.org/latest/adapters.html -> /docs/adapters.md

Stable/default (eleventy should reference/copy those from the most recent release)

  • pouchdb.apache.org/api -> /docs/9.0.0/api.html
  • pouchdb.apache.org/guides/setup-pouchdb.html -> /docs/9.0.0/guides/setup-pouchdb.md
  • pouchdb.apache.org/adapters.html -> /docs/9.0.0/adapters.md

Existing URLs that are redirected from the old domain would just continue working. We’d also need a version switching widget in a corner somewhere.

This is all doable with stock eleventy, and I’ll give this a go since I have time and a fairly good idea of how to achieve this.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions