The engine that makes your docs go!

Usage no npm install needed!

<script type="module">
  import elasticDocsmobile from 'https://cdn.skypack.dev/@elastic/docsmobile';


Docsmobile 🚌

Docsmobile is a documentation system and syntax shell that is built upon NextJS, EUI and MDX. It can be used either with local documentation within the /docs folder, or you can consume MDX pages from separate repos.

Some things have changed recently so let's chat!

How to work with the system now

Docsmobile is the engine for our documentation. An engine can't do much without being hooked up to something that makes it go--so for now I've been doing most of my docsmobile development using doc-site as my test site. You'll see info on how to get started in the root README. For the most part, you'll do two things:

  1. Initialize with yarn init-docs which runs docsmobile init --symlink under the hood. This allows docsmobile to be set up with symlinks to docsmobile/template so your changes will immediately go through.
  2. Then develop with yarn dev (which runs docsmobile dev). Note that if it isn't a component change (e.g. style or text change) you'll likely have to refresh the page once your code is done compiling.

Deploying the docs with CI

To understand how the CI picks up content from outside repos, as well as how to manually deploy the docs, please check https://docs.elastic.dev/docs/ci


Bare minimum, docsmobile needs a nav config and a sources.json to go. See the docsmobile.config.js in doc-site for a living example. While the search engine config is optional, not providing it will remove all search related UI.


Even if you add more docs to your sources.json/sources-dev.json, you won't see the pages appear on the home page or in the side nav without either including the new pages into an existing nav or adding a new navigation unit. If a source has already relocated its .docnav.json files into it, then they'll compile as expected.

Sourcing docs

You'll have two source JSONs--sources.json is always used in the production build and mostly shouldn't be touched unless you're intentionally adding a new source. For local development we always use sources-dev.json. You can read more on the syntax used in these json blobs in Docs Setup: Add MDX content sources.