This site contains documentation about OpenGeoMetadata schemas and repositories.
Written in: Markdown language
Markdown is a lightweight and easy-to-use language for text documents. Most text editors support it and translates easily to other formats, such as HTML or PDF or EPUB.
Generated with: MkDocs framework
MkDocs is a static site generator platform that allows users to create and maintain documentation websites. It takes Markdown files and uses the Python-Markdown library to convert the documents to HTML.
Styled with: Material for MkDocs theme
Material is the most actively developed theme available for MkDocs (as of 2023) and features flexible navigation and many plugins to extend what we can do with Markdown. It is called "Material" because it is based on Google's Material Design guidelines, a web accessibility and screen responsiveness.
Published with: GitHub Pages
GitHub Pages is a free static site hosting service offered by GitHub. It is often used to host documentation sites, personal portfolios, and project websites.
This is the working branch containing the content for the site using Markdown.
- readme.md: the file you are reading right now
- mkdocs.yml: the configuration file that identifies the theme, the extensions, and the navigation
- docs folder
- Markdown documents: The content for the site. These can all live in the same directory and are organized in the public navigation menu in the nav section of mkdocs.yml.
/ogm-aardvark
: a subfolder with CSV files for each element in the Aardvark schema/images
: JPGs, PNGs, and other image files/javascripts/tablesort.js
: the javascript function that allows users to sort tables online/stylesheets/extra.css
: a CSS file that can define colors, fonts, and other customizations for the site/tables
: CSV files for any general information to be displayed as tables
This is the published branch containing the HTML code for the site. (We do not edit this branch directly).
index.html
: an HTML file containing the information in theindex.md
file in your Main branch- The rest of your markdown content pages with be in separate directories. The directory name is the name of the markdown file and it contains an HTML file called
index.html
/images
,/javascripts
, and/stylesheets
: same as the Main branch/assets
: contains subdirectories for/images
,/javascripts
, and/stylesheets
. These subdirectories contain the favicon and compiled code..nojekyll
: The existence of this file tells GitHub that the site is not using Jekyll. Related GitHub blog post.
Since this site is written with Markdown files, the minimum requirement to contribute is to just edit or submit new Markdown files. However, MkDocs is relatively simple to install and run locally. This allows you to preview changes locally before submitting them.
To get started, follow the steps below. It may also be helpful to visit the Material for MkDocs Getting Started page and for reference.
- Open the Terminal and type the following:
pip install mkdocs-material
This command will install all the necessary modules for the mkdocs platform and the Material theme together.
- Next, install the Table Reader plugin:
pip install mkdocs-table-reader-plugin
This plugin converts the CSV tables to be rendered as HTML in the website.
-
Clone or fork the opengeometadata.github.io repository
-
Make a new branch
-
Change into the opengeometadata.github.io directory and type:
mkdocs serve
This will start a local server so you can preview the site as you build it. You will see text in the Terminal that looks something like this:
INFO - Documentation built in 4.15 seconds
INFO - [14:43:24] Watching paths for changes: 'docs', 'mkdocs.yml'
INFO - [14:43:24] Serving on http://127.0.0.1:8000/
INFO - [14:43:31] Browser connected: http://127.0.0.1:8000/
-
In a browser, open the locally hosted site at http://127.0.0.1:8000/ (or whatever your Terminal shows)
-
Edit the markdown files and preview them in your browser.
-
When you are ready to publish the changes, commit them locally using GitHub Desktop or a Terminal command.
-
Publish the branch and open a pull request to the Main branch.
Contributor:
- Clone or update your local instance of the OpenGeoMetadata.github.io repository
- Make a new branch and switch to it
- Edit the Markdown files
- Preview the site locally using
mkdocs serve
- Commit your changes
- Publish your branch
- Open a Pull Request to the main branch
Publisher:
- Accept Pull Request and merge changes to the main branch
- GitHub Actions will automatically push the changes to the gh-pages branch
Questions about this repository or other elements of the OpenGeoMetadata project?
Submit metadata related issues here: https://github.com/OpenGeoMetadata/metadata-issues/issues
Report bugs and typos on the website itself here: https://github.com/OpenGeoMetadata/opengeometadata.github.io/issues