Migrate getara.org website source files to ara-infra
The files for getara.org were never put in a git repository. In the process of moving the website to ara-infra, I changed the theme and customized it to some extent. Change-Id: I8c5cb386d8814b02f6c9bed5a281817ebd496ea7
This commit is contained in:
parent
9de1f2f0be
commit
748da4067c
|
@ -0,0 +1,25 @@
|
|||
ARA's website
|
||||
=============
|
||||
|
||||
Hosted at `ara.recordsansible.org <https://ara.recordsansible.org>`_, the
|
||||
website is built with `Hugo <https://gohugo.io/>`_ and installed with the
|
||||
``ara-website`` role from this project's repository.
|
||||
|
||||
The website uses the Hugo theme called `future-imperfect <https://themes.gohugo.io/future-imperfect/>`_
|
||||
and it must be checked out as part of building the site.
|
||||
|
||||
Development
|
||||
-----------
|
||||
|
||||
Clone repositories::
|
||||
|
||||
# This repo
|
||||
git clone https://git.openstack.org/openstack/ara-infra /opt/ara-infra
|
||||
# The Hugo theme (future-imperfect)
|
||||
git clone https://github.com/jpescador/hugo-future-imperfect /opt/hugo/themes/hugo-future-imperfect
|
||||
|
||||
Install Hugo following instructions from their `documentation <https://gohugo.io/getting-started/installing/>`_.
|
||||
|
||||
Run Hugo's standalone server::
|
||||
|
||||
hugo server --source /opt/ara-infra/website --themesDir /opt/hugo/themes
|
|
@ -0,0 +1,117 @@
|
|||
# https://gohugo.io/getting-started/configuration/
|
||||
|
||||
languageCode = "en-us"
|
||||
title = "ARA Records Ansible | ara.recordsansible.org"
|
||||
theme = "hugo-future-imperfect"
|
||||
preserveTaxonomyNames = true
|
||||
paginate = 5
|
||||
disqusShortname = ""
|
||||
googleAnalytics = "UA-119558821-1"
|
||||
pluralizeListTitles = false
|
||||
enableRobotsTXT = true
|
||||
canonifyURLs = true
|
||||
enableGitInfo = true
|
||||
|
||||
[params]
|
||||
# Sets the meta tag description
|
||||
description = "ARA Records Ansible playbook runs and makes the recorded data available and intuitive for users and systems."
|
||||
# Sets the navbarTitle that appears in the top left of the navigation bar
|
||||
navbarTitle = "ARA Records Ansible"
|
||||
# Sets where "View More Posts" links
|
||||
viewMorePostLink = "/blog/"
|
||||
|
||||
# Optional Params
|
||||
# Sets navbarTitle to match the section of the website
|
||||
dynamicTitles = false
|
||||
# Sets RSS icons to appear on the sidebar with the social media buttons
|
||||
rssAppearAtTop = true
|
||||
rssAppearAtBottom = true
|
||||
# Sets Social Media icons to appear on the sidebar
|
||||
socialAppearAtTop = true
|
||||
socialAppearAtBottom = true
|
||||
# Sets Categories to sort by number of posts instead of alphabetical
|
||||
categoriesByCount = true
|
||||
# set to show or to hide categories in the sidebar
|
||||
showSidebarCategories = true
|
||||
# Sets Estimated Reading Time to appear in post headers
|
||||
includeReadingTime = true
|
||||
# Sets the Favicon and Version for the site. Default support is for
|
||||
# apple-touch-icon-precomposed.png, favicon.png, favicon.ico, and mstile.png.
|
||||
# These are stored in the favicon folder. See the following for more information:
|
||||
# https://github.com/audreyr/favicon-cheat-sheet
|
||||
loadFavicon = true
|
||||
faviconVersion = ""
|
||||
# Sets Social Share links to appear on posts
|
||||
socialShare = true
|
||||
# Sets specific share to appear on posts (default behavior is to appear)
|
||||
socialShareTwitter = true
|
||||
socialShareGoogleplus = true
|
||||
socialShareFacebook = true
|
||||
socialShareReddit = true
|
||||
socialShareLinkedin = true
|
||||
socialShareStumbleupon = false
|
||||
socialSharePinterest = false
|
||||
socialShareEmail = true
|
||||
|
||||
# Load custom CSS or JavaScript files. The variable is an array so that you
|
||||
# can load multiple files if necessary. You can also load the standard theme
|
||||
# files by adding the value, "default".
|
||||
# customCSS = ["default", "/path/to/file"]
|
||||
# customJS = ["default", "/path/to/file"]
|
||||
customCSS = ["default"]
|
||||
customJS = ["default"]
|
||||
|
||||
# options for highlight.js (version, additional languages, and theme)
|
||||
disable_highlight = false # set to true to disable Highlight
|
||||
highlightjsVersion = "9.13.1"
|
||||
highlightjsCDN = "//cdn.bootcss.com"
|
||||
highlightjsLang = ["r", "yaml", "css"]
|
||||
highlightjsTheme = "github"
|
||||
|
||||
[permalinks]
|
||||
blog = "/blog/:year/:month/:day/:slug/"
|
||||
|
||||
[params.intro]
|
||||
paragraph = "Making your Ansible playbooks easier to understand and troubleshoot."
|
||||
|
||||
# This appears at the top of the sidebar above params.intro.header.
|
||||
# A width of less than 100px is recommended from a design perspective.
|
||||
[params.intro.pic]
|
||||
src = "static/logo.png"
|
||||
# Sets Image to be a circle
|
||||
circle = false
|
||||
# Sets Image to be Future Imperfect's hexagon
|
||||
imperfect = false
|
||||
width = ""
|
||||
alt = "ara.recordsansible.org"
|
||||
|
||||
[params.postAmount]
|
||||
# Sets the number of recent posts to show in the sidebar. The default value is 5.
|
||||
sidebar = 5
|
||||
|
||||
# Sets the menu items in the navigation bar
|
||||
# Identifier prepends a Font Awesome icon to the menu item
|
||||
[[menu.main]]
|
||||
name = "Home"
|
||||
url = "/"
|
||||
identifier = "fa fa-home"
|
||||
weight = 1
|
||||
|
||||
[[menu.main]]
|
||||
name = "Blog"
|
||||
url = "/blog/"
|
||||
identifier = "fa fa-newspaper-o"
|
||||
weight = 2
|
||||
|
||||
[[menu.main]]
|
||||
name = "Documentation"
|
||||
url = "https://ara.readthedocs.io"
|
||||
identifier = "fa fa-book"
|
||||
weight = 3
|
||||
|
||||
# Sets Social Media icons to appear and link to your account. Value should be your
|
||||
# username unless otherwise noted. These are the icons affected by socialAppearAtTop
|
||||
# and socialAppearAtBottom.
|
||||
[social]
|
||||
github = "openstack/?q=ara"
|
||||
twitter = "ARecordsAnsible"
|
|
@ -0,0 +1,77 @@
|
|||
---
|
||||
kind: home
|
||||
---
|
||||
|
||||
# What's ARA ?
|
||||
|
||||
ARA Records Ansible playbook runs and makes the recorded data available and intuitive for users and systems.
|
||||
|
||||
It makes your Ansible playbooks easier to understand and troubleshoot.
|
||||
|
||||
![reports](static/reports.png)
|
||||
<br>
|
||||
<br>
|
||||
|
||||
### ARA is free and open source
|
||||
|
||||
ARA is an [OpenStack](https://www.openstack.org) community project and all of it's [components](https://github.com/openstack?q=ara)
|
||||
are free and open source under the GPLv3 license.
|
||||
|
||||
You can participate in [code reviews](https://review.openstack.org/#/q/project:%255Eopenstack/ara.*+OR+project:openstack/ansible-role-ara)
|
||||
and learn how you can contribute your first patch in the [contributors documentation](https://ara.readthedocs.io/en/latest/contributing.html).
|
||||
<br>
|
||||
<br>
|
||||
|
||||
### ARA is simple and easy to use
|
||||
|
||||
Simplicity is a core feature in ARA.
|
||||
It does one thing and it does it well: reporting on your Ansible playbooks.
|
||||
|
||||
[Install ARA](http://ara.readthedocs.io/en/stable/installation.html), tell [Ansible](https://ara.readthedocs.io/en/latest/configuration.html)
|
||||
to use it and your next playbook will be recorded. That's it !
|
||||
|
||||
Read more about the project's core values in the [manifesto](https://ara.readthedocs.io/en/stable/manifesto.html).
|
||||
<br>
|
||||
<br>
|
||||
|
||||
### ARA is tested, stable and production ready
|
||||
|
||||
Each new commit to ARA is gated against a series of [unit and integration tests](https://github.com/openstack/ara#contributing-testing-issues-and-bugs)
|
||||
against different Linux distributions and versions of Ansible in order to prevent regressions.
|
||||
|
||||
ARA is used to record more than a [million playbooks a month](http://superuser.openstack.org/articles/scaling-ara-ansible/) from the OpenStack community alone.
|
||||
|
||||
It works.
|
||||
<br>
|
||||
<br>
|
||||
|
||||
### ARA is offline and decentralized by default
|
||||
|
||||
Running Ansible from your laptop ? No problem.
|
||||
|
||||
You can browse your ARA reports locally from a sqlite database without ever leaving the comfort of localhost.
|
||||
|
||||
Need to scale with real [web and application servers](https://ara.readthedocs.io/en/stable/webserver.html) or use a
|
||||
database server like [MySQL or PostgreSQL](https://ara.readthedocs.io/en/stable/configuration.html#ara-database) ?
|
||||
|
||||
You can do that too.
|
||||
<br>
|
||||
<br>
|
||||
|
||||
# Getting started
|
||||
|
||||
```
|
||||
# Install ARA from PyPi
|
||||
$ pip install ara
|
||||
|
||||
# Set up Ansible to use ARA
|
||||
$ export ANSIBLE_CALLBACK_PLUGINS=$(python -m ara.setup.callback_plugins)
|
||||
|
||||
# Run your Ansible playbook as usual
|
||||
$ ansible-playbook myplaybook.yml
|
||||
|
||||
# Start the ARA standalone webserver
|
||||
$ ara-manage runserver
|
||||
|
||||
# Browse http://127.0.0.1:9191
|
||||
```
|
Binary file not shown.
After Width: | Height: | Size: 5.3 KiB |
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
Binary file not shown.
After Width: | Height: | Size: 67 KiB |
|
@ -0,0 +1,13 @@
|
|||
{{ partial "header" . }}
|
||||
{{ $.Scratch.Set "shareNav" true }}
|
||||
{{ partial "navbar" . }}
|
||||
<!-- Main -->
|
||||
<div id="main">
|
||||
<article class="post">
|
||||
<div id="content">
|
||||
{{ .Content }}
|
||||
</div>
|
||||
</article>
|
||||
</div>
|
||||
{{ partial "sidebar" . }}
|
||||
{{ partial "footer" . }}
|
|
@ -0,0 +1,4 @@
|
|||
{{ if .Site.Params.loadFavicon }}
|
||||
<link rel="icon" href='static/favicon.ico'>
|
||||
<meta name="application-name" content="{{ .Site.Title }}">
|
||||
{{ end }}
|
|
@ -0,0 +1,8 @@
|
|||
{{ with .GitInfo }}
|
||||
<!-- Source -->
|
||||
<section id="mini-bio">
|
||||
<h3>Website source</h3>
|
||||
<p>This website was last updated from source: {{ .AuthorDate }}</p>
|
||||
<p>Git commit: <a href="https://git.openstack.org/cgit/openstack/ara-infra/commit/?id={{ .Hash }}">{{ .Hash }}</a></p>
|
||||
</section>
|
||||
{{ end }}
|
|
@ -0,0 +1,146 @@
|
|||
<!-- Sidebar -->
|
||||
<section id="sidebar">
|
||||
|
||||
<!-- Intro -->
|
||||
<section id="intro">
|
||||
{{ $pic := .Site.Params.intro.pic }}
|
||||
{{ with $pic.src }}
|
||||
{{ if $pic.circle }}
|
||||
<a href='{{"/" | relURL}}'><img src="{{ . | relURL }}" class="intro-circle" width="{{ $pic.width }}" alt="{{ $pic.alt }}" /></a>
|
||||
{{ else if $pic.imperfect }}
|
||||
<a href='{{"/" | relURL}}' class="logo"><img src="{{ . | relURL }}" alt="{{ $pic.alt }}" /></a>
|
||||
{{ else }}
|
||||
<a href='{{"/" | relURL}}'><img src="{{ . | relURL }}" width="{{ $pic.width }}" alt="{{ $pic.alt }}" /></a>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
{{ with .Site.Params.intro }}
|
||||
<header>
|
||||
<h2>{{ .header }}</h2>
|
||||
<p>{{ .paragraph | safeHTML }}</p>
|
||||
</header>
|
||||
{{ end }}
|
||||
{{ if .Site.Params.socialAppearAtTop }}
|
||||
<ul class="icons">
|
||||
{{ if .Site.Params.rssAppearAtTop }}
|
||||
{{ partial "rss-icon" . }}
|
||||
{{ end }}
|
||||
{{ partial "social" . }}
|
||||
</ul>
|
||||
{{ end }}
|
||||
<div style="text-align:left">
|
||||
<h3>Community & Help</h3>
|
||||
<p>
|
||||
<b>IRC</b>: #ara on <a href="https://webchat.freenode.net/?channels=%23ara" target="_blank">freenode</a><br />
|
||||
<b>Slack</b>: <a href="https://join.slack.com/t/arecordsansible/shared_invite/enQtMjMxNzI4ODAxMDQxLWU4MmZhZTI4ZjRjOTUwZTM2MzM3MzcwNDU1YzFmNzRlMzI0NTUzNDY1MWJlNThhM2I4ZTViZjUwZTRkNTBiM2I" target="_blank">ARecordsAnsible.slack.com</a>
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Community -->
|
||||
|
||||
<!-- Posts List -->
|
||||
<section class="recent-posts">
|
||||
<div class="mini-posts">
|
||||
<header>
|
||||
<h3>Recent blog posts</h3>
|
||||
</header>
|
||||
<div class="posts-container">
|
||||
{{ $.Scratch.Set "recentPosts" .Site.Pages }}
|
||||
|
||||
{{ with .Site.Params.postAmount.sidebar }}
|
||||
{{ $.Scratch.Set "postLimit" . }}
|
||||
{{ else }}
|
||||
{{ $.Scratch.Set "postLimit" 5 }}
|
||||
{{ end }}
|
||||
|
||||
{{ range first ($.Scratch.Get "postLimit") (where ($.Scratch.Get "recentPosts") "Type" "post") }}
|
||||
<article class="mini-post">
|
||||
<header>
|
||||
<h3>
|
||||
<a href="{{ .RelPermalink }}">{{ .Title }}</a>
|
||||
</h3>
|
||||
{{ $.Scratch.Set "dateType" .Date }}
|
||||
<time class="published" datetime='{{ ($.Scratch.Get "dateType").Format "2006-01-02" }}'>
|
||||
{{ ($.Scratch.Get "dateType").Format "January 2, 2006" }}
|
||||
</time>
|
||||
</header>
|
||||
{{ .Render "featured" }}
|
||||
</article>
|
||||
{{ end }}
|
||||
</div>
|
||||
|
||||
{{ if ge (len (where .Site.Pages "Type" "post")) ($.Scratch.Get "postLimit") }}
|
||||
<a href=
|
||||
{{ with .Site.Params.viewMorePostLink }}
|
||||
{{ . }}
|
||||
{{ else }}
|
||||
"/post/"
|
||||
{{ end }}
|
||||
class="button">View more posts</a>
|
||||
{{ end }}
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- This if statement only applies if someone goes to the /categories url -->
|
||||
<!-- Otherwise this section is shown for all other links -->
|
||||
{{ if .Site.Params.showSidebarCategories }}
|
||||
{{ if ne ($.Scratch.Get "showCategories") false }}
|
||||
<!-- Categories List -->
|
||||
<section id="categories">
|
||||
<header>
|
||||
<h3>
|
||||
<a href="/categories/">Blog categories</a>
|
||||
</h3>
|
||||
</header>
|
||||
{{ if .Site.Params.categoriesByCount }}
|
||||
{{ $.Scratch.Set "categories" .Site.Taxonomies.categories.ByCount }}
|
||||
{{ else }}
|
||||
{{ $.Scratch.Set "categories" .Site.Taxonomies.categories.Alphabetical }}
|
||||
{{ end }}
|
||||
|
||||
{{ range $key, $value := $.Scratch.Get "categories" }}
|
||||
<p>
|
||||
<article>
|
||||
<header>
|
||||
{{ if ne $value.Name "" }}
|
||||
<a href="/categories/{{ $value.Name | urlize }}/">{{ $value.Name }}</a>
|
||||
<span style="float:right;">{{ $value.Count }}</span>
|
||||
{{ else }}
|
||||
Uncategorized
|
||||
<span style="float:right;">{{ $value.Count }}</span>
|
||||
{{ end }}
|
||||
</header>
|
||||
</article>
|
||||
</p>
|
||||
{{ end }}
|
||||
</section>
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ partial "gitinfo" . }}
|
||||
|
||||
<!-- Footer -->
|
||||
<section id="footer">
|
||||
{{ if .Site.Params.socialAppearAtBottom }}
|
||||
<ul class="icons">
|
||||
{{ if .Site.Params.rssAppearAtBottom }}
|
||||
{{ partial "rss-icon" . }}
|
||||
{{ end }}
|
||||
{{ partial "social" . }}
|
||||
</ul>
|
||||
{{ end }}
|
||||
<p class="copyright">
|
||||
{{ with .Site.Copyright | safeHTML }}
|
||||
{{ . }}
|
||||
{{ else }}
|
||||
© {{ .Site.LastChange.Year }}
|
||||
{{if isset .Site.Params "author" }}
|
||||
{{ .Site.Params.author}}
|
||||
{{ else }}
|
||||
{{ .Site.Title }}
|
||||
{{ end }}
|
||||
{{end}}.
|
||||
Powered by <a href="//gohugo.io" target="_blank">Hugo</a>
|
||||
</p>
|
||||
</section>
|
||||
</section>
|
Loading…
Reference in New Issue