This repository contains the code and content for the cloud.gov website.
cloud.gov is a Platform as a Service based on the Cloud Foundry project, which provides its own Cloud Foundry documentation.
Hugo uses Markdown to build the pages. Add your page to the section you want inside the content folder.
- Install Python 2, if it's not on your system already. (Required for node-sass->node-gyp.)
- Install Hugo.
- Run
npm install
to download all the dependencies. - Run
npm start
and browse to http://localhost:1313.
- Run:
npm install && npm run build && hugo
- Push:
cf push -n landing-unique
(where 'unique' is your own unique name) - Browse to your unique https://landing-unique.app.cloud.gov
- Make updates with
npm run build && hugo && cf push -n landing-unique
This test site will redirect 301s to cloud.gov unless you comment out CG_REDIR_HOST
in manifest.yml
, or run: cf unset-env CG_REDIR_HOST; cf restage
We usually use branches to write updates. After you merge a PR, click GitHub's button to delete that branch. (We don't need it anymore.)
To link to another page within cg-site, use relref
to create relative links. Examples:
[Example text]({{< relref "directory/filename.md" >}})
[What is cloud.gov?]({{< relref "overview/overview/what-is-cloudgov.md" >}})
[Sharing secret keys]({{< relref "docs/ops/secrets.md#sharing-secret-keys" >}})
To add a diagram to a documentation page, use the {{< diagrams id-prefix="title-for-diagram" >}}
shortcode to create them inline for the
documentation pages. Use the Mermaid language syntax
to create diagrams in the same way diagrams are made for cg-diagrams.
Try the Mermaid live editor!
If you find you have a need to create these diagrams on pages outside of the documentation pages, please open a PR to discuss what other pages it should apply to.
Example:
{{< diagrams id-prefix="sample-diagram" >}}
graph LR;
A[Square Rect] -- Link text --> B((Circle));
A --> C(Round Rect);
B --> D{Rhombus};
C --> D;
{{< /diagrams >}}
The id-prefix
is used to create a custom #id for the Mermaid API to attach to.
Please make sure that this value is syntactically correct for HTML #ids. It is also reused to give a title to your diagram.
It appears above the diagram inside a <p>
block and uses Hugo's humanize
function to convert it from it's dashed value.
Note: Using characters except ASCII letters, digits, '_', '-' and '.' may cause compatibility problems, as they weren't allowed in HTML 4. Though this restriction has been lifted in HTML 5, an ID should start with a letter for compatibility. source
If you delete or rename a page, make a redirect to avoid breaking links from other sites: make an alias (use the "YAML frontmatter" style).
If you want to include an image in a page on the site, put it in /static/img/
. Images there will show up at https://cloud.gov/img/example.png
. When you're editing a page, embed them as ![alt text](/img/example.png)
If you want to link to a file, such as a PDF or spreadsheet, put it in /static/resources/
. Resources there will show up at https://cloud.gov/resources/example.pdf
. When you're editing a page, link to them as [link text](/resources/example.pdf)
.
Our search feature is powered by DigitalGov Search, which has a Help Manual with documentation about configuring it. DigitalGov Search for Power Users is also useful.
We use its default Bing indexing, so our search may show outdated results if Bing hasn't recently reindexed our docs site.
This site uses a shared cloud.gov style, cg-style. This means any styling code has to be developed in cg-style.
- Download or clone the cg-style repository,
git clone [email protected]:18F/cg-style.git
- Open a new terminal window or tab pointing to cg-style. Run
npm link
in cg-style. - Run the watching build task in the cg-style repository:
npm run watch
. The task will not "finish" - Open a new terminal window or tab pointing to cg-site. Run
npm link cloudgov-style
in cg-site. - Run
npm install
in the cg-site repository. - Run the watching build task in cg-site repository:
npm run watch
The task will not "finish" - Edit code in the cg-style directory and they will propagate down to cg-site
The theme for the site has been "forked" from the Hugo documentation.