From f3ceb44bf149a3580f892633f0b5356cace1292b Mon Sep 17 00:00:00 2001 From: Adam Samalik Date: Jul 27 2018 14:12:53 +0000 Subject: switch to Antora --- diff --git a/.gitignore b/.gitignore index fa62c5c..9f3ebf5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,3 @@ -## AsciiBinder-specific ignores -_preview -_package -*.swp -diag-*.png -diag-*.png.cache - -## Project-specific ignores -_l10n/pot/ +build +cache +public diff --git a/README.md b/README.md index b176810..28ef355 100644 --- a/README.md +++ b/README.md @@ -55,23 +55,44 @@ Specific details of each of these areas is found on our [wiki page](https://fedo ## CommOps Documentation -This repository also serves as the source for CommOps documentation. +Please report Issues and submit Pull Requests for **Content Fixes** here. +Never done a pull request (or "PR")? Here's the [Pagure documentation for +Pull Requests](https://docs.pagure.org/pagure/usage/pull_requests.html). -Please report Issues and submit Pull Requests for **Content Fixes** here. General appearance issues and publishing issues should be reported against the [publisher](https://pagure.io/fedora-docs/docs-fp-o). -## How to edit these documents +General appearance issues and publishing issues should be reported against +the [publishing software](https://pagure.io/fedora-docs/docs-fp-o). -The information is coded in AsciiDoc. +### How to edit these documents -## Testing your changes locally +All of this is written in AsciiDoc. It's a simple mostly-plain-text +markup language. You may want to look at: -To test your changes, first install `asciibinder` -$ gem install ascii_binder +* [AsciiDoc Syntax Quick Reference](http://asciidoctor.org/docs/asciidoc-syntax-quick-reference/) +* [AsciiDoc Writer’s Guide](http://asciidoctor.org/docs/asciidoc-writers-guide/) +* [Antora Documentation](https://docs.antora.org/antora/1.0/page/) -To build your changes, from the root directory: + +### Local preview + +This repo includes scripts to build and preview the contents of this repository. + +**NOTE**: Please note that if you reference pages from other repositoreis, such links will be broken in this local preview as it only builds this repository. If you want to rebuild the whole Fedora Docs site, please see [the Fedora Docs build repository](https://pagure.io/fedora-docs/docs-fp-o/) for instructions. + +Both scripts use docker, so please make sure you have it installed on your system. Please see below for instructions. + +To build and preview the site, run: + +``` +$ ./build.sh && ./preview.sh +``` + +The result will be available at http://localhost:8080 + +#### Installing docker on Fedora ``` -$ asciibinder package -$ firefox _package/main/index.html +$ sudo dnf install docker +$ sudo systemctl start docker && sudo systemctl enable docker ``` diff --git a/_distro_map.yml b/_distro_map.yml deleted file mode 100644 index 75624b6..0000000 --- a/_distro_map.yml +++ /dev/null @@ -1,11 +0,0 @@ ---- -fedora: - name: Fedora CommOps - author: Fedora CommOps - site: main - site_name: Home - site_url: https://docs.fedoraproject.org/ - branches: - master: - name: " " - dir: master diff --git a/_images/404.html b/_images/404.html deleted file mode 100644 index f72f371..0000000 --- a/_images/404.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - - - - Fedora Documentation Website - - - - - - - - - - - - - -
-
- -
-
-
-

Fedora Documentation - 404 Page Not Found :(

-

Hi! You've arrived at Fedora documentation page which does not actually exist. This may be because you followed a link to an older document which has been retired. For reference, you can find those in our old document archive. Or, you can browse current docs.

-

It may also be that this page _should_ exist, but sadly does not. If this is the case, and you know what it should say, you can contribute via the Docs Project.

-
-
-
- -
-
-
- - -
-
-
- -
-
-
-
- - -

© 2017 Red Hat, Inc. and others. Please send any comments or corrections to the documentation team

-
-
-
- -
-
-
- - - - - - diff --git a/_images/docs_logo.png b/_images/docs_logo.png deleted file mode 100644 index 90421ec..0000000 Binary files a/_images/docs_logo.png and /dev/null differ diff --git a/_images/docs_logo.svg b/_images/docs_logo.svg deleted file mode 100644 index 476b13a..0000000 --- a/_images/docs_logo.svg +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - image/svg+xml - - - - - - - - - DOCS - - - - - - - - - - - - - - - - - - - - - - - diff --git a/_images/favicon.ico b/_images/favicon.ico deleted file mode 100644 index a912017..0000000 Binary files a/_images/favicon.ico and /dev/null differ diff --git a/_images/favicon32x32.png b/_images/favicon32x32.png deleted file mode 100644 index d33bd5e..0000000 Binary files a/_images/favicon32x32.png and /dev/null differ diff --git a/_images/fedora.svg b/_images/fedora.svg deleted file mode 100644 index e8fd52b..0000000 --- a/_images/fedora.svg +++ /dev/null @@ -1,61 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/_images/redhat-logo.png b/_images/redhat-logo.png deleted file mode 100644 index f085f1a..0000000 Binary files a/_images/redhat-logo.png and /dev/null differ diff --git a/_javascripts/.gitkeep b/_javascripts/.gitkeep deleted file mode 100644 index e69de29..0000000 --- a/_javascripts/.gitkeep +++ /dev/null diff --git a/_javascripts/bootstrap-offcanvas.js b/_javascripts/bootstrap-offcanvas.js deleted file mode 100644 index 62cf7b6..0000000 --- a/_javascripts/bootstrap-offcanvas.js +++ /dev/null @@ -1,6 +0,0 @@ -$(document).ready(function () { - $('[data-toggle="offcanvas"]').click(function () { - $('.sidebar').show(); - $('.row-offcanvas').toggleClass('active'); - }); -}); diff --git a/_stylesheets/asciibinder.css b/_stylesheets/asciibinder.css deleted file mode 100644 index ef00798..0000000 --- a/_stylesheets/asciibinder.css +++ /dev/null @@ -1,575 +0,0 @@ -@import url(https://maxcdn.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css); -/* ------------------------------------------------------------ -Image: "Spin" https://www.flickr.com/photos/eflon/3655695161/ -Author: eflon https://www.flickr.com/photos/eflon/ -License: https://creativecommons.org/licenses/by/2.0/ ----------------------------------------------------------------*/ -.attribution { - text-align: center; - position: relative; - bottom: -20px; -} -.attribution .btn { - color: #808080; - color: rgba(175,175,175, .65); - font-size: 11px; -} -.attribution .btn:hover { - text-decoration: none; - color: #aaa; -} -.popover-content { - font-size: 12px; - line-height: 1.3; - font-weight: normal; -} - -@media screen and (max-width: 980px) { - body { - margin-bottom: 200px; - } - footer { - text-align: center; - } - footer .text-right { - text-align: center !important; - } - #footer_social .first { - margin-left: 0; - } - #footer_social > a { - top: 24px; - } -} - -.fa-inverse:hover { - color: #ccc; -} - -.collapse a.active { - background-color: #DEEAF4; - color: #000; - position: relative; -} - -.collapse a.active:hover { - text-decoration: none; -} - -.collapse a.active:before { - background-color: #A0C3E5; - content: ""; - display: inline-block; - height: 100%; - left: 0; - position: absolute; - top: 0; - width: 3px; -} - -.main h2, .main .h2 { - border-top: 0px; - padding-top: 10px; - font-size: 28px; -} - -.page-header .img-responsive { - display: inline; -} - -.docs-content h1, -.docs-content h2, -.docs-content h3, -.docs-content h4, -.docs-content h5, -.docs-content h6 - { - font-weight: bold; - color: #444; -} - -.docs-content h1{ - font-size: 1.5rem -} -.docs-content h2{ - font-size: 1.3rem -} -.docs-content h3{ - font-size: 1.1rem -} -.docs-content h4, -.docs-content h5, -.docs-content h6{ - font-size: 1rem; -} - -.docs-content .page-header h1 { - line-height: 1.5rem; - padding-bottom: 0.2em; - margin-bottom: 0.7em; - border-bottom: 1px solid #ccc; - -} - - -nav .breadcrumb{ - background: none; - font-size:0.8em; - padding-left:10px; - padding-bottom:0px; -} - -.nav > li > a.hover{ - background-color: none; -} - -.breadcrumb-item + .breadcrumb-item::before{ - content: '\f054'; - font-family: FontAwesome; - font-size: 0.8em; -} - -h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { - position: relative; -} - -h2 > a.anchor, h3 > a.anchor, h4 > a.anchor, h5 > a.anchor, h6 > a.anchor { - display: block; - font-weight: normal; - margin-left: -1.5ex; - position: absolute; - text-align: center; - text-decoration: none !important; - visibility: hidden; - width: 1.5ex; - z-index: 1001; -} - -h2 > a.anchor:before, h3 > a.anchor:before, h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { - content: "\f0c1"; - display: block; - font-family: FontAwesome; - font-size: 0.7em; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - padding-top: 0.2em; -} - -h4 > a.anchor:before, h5 > a.anchor:before, h6 > a.anchor:before { - font-size: 1em; -} - -h2:hover > a.anchor, -h2 > a.anchor:hover, -h3:hover > a.anchor, -h3 > a.anchor:hover, -h4:hover > a.anchor, -h4 > a.anchor:hover, -h5:hover > a.anchor, -h5 > a.anchor:hover, -h6:hover > a.anchor, -h6 > a.anchor:hover { - visibility: visible; -} - -.main { - border-left: 1px solid #e7e7e7; - margin-left: -1px; - padding-left: 25px; -} - - -@media (min-width: 768px) { - .main { - padding-left: 30px; - } -} - -.masthead, .footer{ - position: relative; - z-index: 1; -} - -/* - * Sidebar - */ - - .docs-sidebar{ - background: #eee; - box-shadow: -3000px 0 0 3000px #eee; - } - -.nav-header { - font-size: 16px; -} - -.nav-header ul { - font-size: 14px; -} - -.nav-header ul li a { - display: block; - padding: 5px 20px 5px 25px; - font-size: 13px; - font-weight: normal; -} - -.nav-sidebar .fa { - text-align: center; - top: -1px; - width: 14px; -} - -.nav-sidebar li a { - color: inherit; -} - -.nav-sidebar li a:hover { - color: #000; -} - -.nav-sidebar ul li ul.nav-tertiary li a { - padding-left: 50px; -} - -.nav-sidebar > li > a { - padding: 7px 0; -} - -.nav-sidebar > li > a:focus, .nav-sidebar > li > a:hover { - background: transparent; -} - -.sidebar { - font-weight: 300; - display: none; - padding-top: 13px; -} - -@media screen and (max-width: 767px) { - .sidebar { - padding-left: 30px; - padding-right: 0; - } -} - -@media screen and (min-width: 768px) { - .sidebar { - border-right: 1px solid #e7e7e7; - display: block; - } -} - - /* Remnants of Asciidoctor default stylesheet - remove styles as needed */ - -#map_canvas img, #map_canvas embed, #map_canvas object, .map_canvas img, .map_canvas embed, .map_canvas object { max-width: none !important; } -.left { float: left !important; } -.right { float: right !important; } -.text-left { text-align: left !important; } -.text-right { text-align: right !important; } -.text-center { text-align: center !important; } -.text-justify { text-align: justify !important; } -.hide { display: none; } -.subheader, #content #toctitle, .admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { line-height: 1.4; color: #7a2518; font-weight: 300; margin-top: 0.2em; margin-bottom: 0.5em; } -abbr, acronym { text-transform: uppercase; font-size: 90%; color: #333333; border-bottom: 1px dotted #dddddd; cursor: help; } -abbr { text-transform: none; } -blockquote { margin: 0 0 1.25em; padding: 0.5625em 1.25em 0 1.1875em; border-left: 3px solid #487c58; } -blockquote cite { display: block; font-size: inherit; color: #454545; } -blockquote cite:before { content: "\2014 \0020"; } -blockquote cite a, blockquote cite a:visited { color: #454545; } -blockquote, blockquote p { line-height: 1.6; color: #6e6e6e; } -@media only screen and (min-width: 768px) { - #toctitle, .sidebarblock > .content > .title { line-height: 1.4; } - #toctitle, .sidebarblock > .content > .title { font-size: 1.6875em; } -} -table { background: white; margin-bottom: 1.25em; border: solid 1px #dddddd; } -table thead, table tfoot { background: whitesmoke; font-weight: bold; } -table thead tr th, table thead tr td, table tfoot tr th, table tfoot tr td { padding: 0.5em 0.625em 0.625em; font-size: inherit; color: #333333; text-align: left; } -table tr th, table tr td { padding: 0.5625em 0.625em; font-size: inherit; color: #333333; } -table tr.even, table tr.alt, table tr:nth-of-type(even) { background: #f9f9f9; } -table thead tr th, table tfoot tr th, table tbody tr td, table tr td, table tfoot tr td { display: table-cell; line-height: 1.6; } -.clearfix:before, .clearfix:after, .float-group:before, .float-group:after { content: " "; display: table; } -.clearfix:after, .float-group:after { clear: both; } -*:not(pre) > code { font-size: inherit; padding: 0; white-space: nowrap; background-color: inherit; border: 0 solid #dddddd; -webkit-border-radius: 4px; border-radius: 4px; text-shadow: none; line-height: 1; } -.keyseq { color: #666666; } -kbd:not(.keyseq) { display: inline-block; color: #333333; font-size: 0.75em; line-height: 1.4; background-color: #f7f7f7; border: 1px solid #ccc; -webkit-border-radius: 3px; border-radius: 3px; -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 2px white inset; box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2), 0 0 0 2px white inset; margin: -0.15em 0.15em 0 0.15em; padding: 0.2em 0.6em 0.2em 0.5em; vertical-align: middle; white-space: nowrap; } -.keyseq kbd:first-child { margin-left: 0; } -.keyseq kbd:last-child { margin-right: 0; } -.menuseq, .menu { color: #1a1a1a; } -b.button:before, b.button:after { position: relative; top: -1px; font-weight: normal; } -b.button:before { content: "["; padding: 0 3px 0 2px; } -b.button:after { content: "]"; padding: 0 2px 0 3px; } -p a > code:hover { color: #561309; } -#header, #content, #footnotes, #footer { width: 100%; margin-left: auto; margin-right: auto; margin-top: 0; margin-bottom: 0; max-width: 62.5em; *zoom: 1; position: relative; padding-left: 0.9375em; padding-right: 0.9375em; } -#header:before, #header:after, #content:before, #content:after, #footnotes:before, #footnotes:after, #footer:before, #footer:after { content: " "; display: table; } -#header:after, #content:after, #footnotes:after, #footer:after { clear: both; } -#content:before { content: none; } -#header { margin-bottom: 2.5em; } -#header > h1 { color: black; font-weight: 300; border-bottom: 1px solid #d8d8d8; margin-bottom: -28px; padding-bottom: 32px; } -#header span { color: #6e6e6e; } -#header #revnumber { text-transform: capitalize; } -#header br { display: none; } -#header br + span { padding-left: 3px; } -#header br + span:before { content: "\2013 \0020"; } -#header br + span.author { padding-left: 0; } -#header br + span.author:before { content: ", "; } -#toc { border-bottom: 3px double #e5e5e5; padding-top: 1em; padding-bottom: 1.25em; } -#toc > ul { margin-left: 0.25em; } -#toc ul.sectlevel0 > li > a { font-style: italic; } -#toc ul.sectlevel0 ul.sectlevel1 { margin-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } -#toc ul { font-family: "Open Sans", "DejaVu Sans", "Sans", sans-serif; list-style-type: none; } -#toc a { text-decoration: none; } -#toc a:active { text-decoration: underline; } -#toctitle { color: #7a2518; } -@media only screen and (min-width: 768px) { body.toc2 { padding-left: 15em; padding-right: 0; } - #toc.toc2 { background-color: #fafaf9; position: fixed; width: 15em; left: 0; top: 0; border-right: 1px solid #e5e5e5; border-bottom: 0; z-index: 1000; padding: 1.25em 1em; height: 100%; overflow: auto; } - #toc.toc2 #toctitle { margin-top: 0; font-size: 1.2em; } - #toc.toc2 > ul { font-size: .90em; margin-bottom: 0; } - #toc.toc2 ul ul { margin-left: 0; padding-left: 1em; } - #toc.toc2 ul.sectlevel0 ul.sectlevel1 { padding-left: 0; margin-top: 0.5em; margin-bottom: 0.5em; } - body.toc2.toc-right { padding-left: 0; padding-right: 15em; } - body.toc2.toc-right #toc.toc2 { border-right: 0; border-left: 1px solid #e5e5e5; left: auto; right: 0; } } -@media only screen and (min-width: 1280px) { body.toc2 { padding-left: 20em; padding-right: 0; } - #toc.toc2 { width: 20em; } - #toc.toc2 #toctitle { font-size: 1.375em; } - #toc.toc2 > ul { font-size: 0.95em; } - #toc.toc2 ul ul { padding-left: 1.25em; } - body.toc2.toc-right { padding-left: 0; padding-right: 20em; } } -#content #toc { border-style: solid; border-width: 1px; border-color: #e3e3dd; margin-bottom: 1.25em; padding: 1.25em; background: #fafaf9; border-width: 0; -webkit-border-radius: 4px; border-radius: 4px; } -#content #toc > :first-child { margin-top: 0; } -#content #toc > :last-child { margin-bottom: 0; } -#content #toctitle { font-size: 1.375em; } -#footer { max-width: 100%; background-color: #333333; padding: 1.25em; } -#footer-text { color: #cccccc; line-height: 1.44; } -.audioblock, .imageblock, .literalblock, .listingblock, .stemblock, .verseblock, .videoblock { margin-bottom: 2.5em; } -.admonitionblock td.content > .title, .audioblock > .title, .exampleblock > .title, .imageblock > .title, .listingblock > .title, .literalblock > .title, .stemblock > .title, .openblock > .title, .paragraph > .title, .quoteblock > .title, table.tableblock > .title, .verseblock > .title, .videoblock > .title, .dlist > .title, .olist > .title, .ulist > .title, .qlist > .title, .hdlist > .title { text-rendering: optimizeLegibility; text-align: left; font-family: "Noto Serif", "DejaVu Serif", "Serif", serif; font-weight: normal; font-style: italic; } -table.tableblock > caption.title { white-space: nowrap; overflow: visible; max-width: 0; } -table.tableblock #preamble > .sectionbody > .paragraph:first-of-type p { font-size: inherit; } -.admonitionblock > table { border: 0; background: none; width: 100%; } -.admonitionblock > table td.icon { text-align: center; width: 80px; } -.admonitionblock > table td.icon img { max-width: none; } -.admonitionblock > table td.icon .title { font-weight: 300; text-transform: uppercase; } -.admonitionblock > table td.content { padding-left: 0; padding-right: 1.25em; color: #6e6e6e; } -.admonitionblock > table td.content > :last-child > :last-child { margin-bottom: 0; } -.exampleblock > .content { border-style: solid; border-width: 1px; border-color: #e6e6e6; margin-bottom: 1.25em; padding: 1.25em; background: white; -webkit-border-radius: 4px; border-radius: 4px; } -.exampleblock > .content > :first-child { margin-top: 0; } -.exampleblock > .content > :last-child { margin-bottom: 0; } -.exampleblock > .content h1, .exampleblock > .content h2, .exampleblock > .content h3, .exampleblock > .content #toctitle, .sidebarblock.exampleblock > .content > .title, .exampleblock > .content h4, .exampleblock > .content h5, .exampleblock > .content h6, .exampleblock > .content p { color: #333333; } -.exampleblock > .content h1, .exampleblock > .content h2, .exampleblock > .content h3, .exampleblock > .content #toctitle, .sidebarblock.exampleblock > .content > .title, .exampleblock > .content h4, .exampleblock > .content h5, .exampleblock > .content h6 { line-height: 1; margin-bottom: 0.625em; } -.exampleblock > .content h1.subheader, .exampleblock > .content h2.subheader, .exampleblock > .content h3.subheader, .exampleblock > .content .subheader#toctitle, .sidebarblock.exampleblock > .content > .subheader.title, .exampleblock > .content h4.subheader, .exampleblock > .content h5.subheader, .exampleblock > .content h6.subheader { line-height: 1.4; } -.exampleblock.result > .content { -webkit-box-shadow: 0 1px 8px #e3e3dd; box-shadow: 0 1px 8px #e3e3dd; } -.sidebarblock { border-style: solid; border-width: 1px; border-color: #e3e3dd; margin-top: -1.0em; margin-bottom: 1.6em; margin-left: 1em; padding: .5em; background: #F1F3F5; -webkit-border-radius: 4px; border-radius: 4px; overflow-x: auto; float: right; width: 40%; } -.sidebarblock > :first-child { margin-top: 0; } -.sidebarblock > :last-child { margin-bottom: 0; } -.sidebarblock h1, .sidebarblock h2, .sidebarblock h3, .sidebarblock #toctitle, .sidebarblock > .content > .title, .sidebarblock h4, .sidebarblock h5, .sidebarblock h6, .sidebarblock p { color: #333333; } -.sidebarblock h1, .sidebarblock h2, .sidebarblock h3, .sidebarblock #toctitle, .sidebarblock > .content > .title, .sidebarblock h4, .sidebarblock h5, .sidebarblock h6 { line-height: 1; margin-bottom: 0.625em; } -.sidebarblock h1.subheader, .sidebarblock h2.subheader, .sidebarblock h3.subheader, .sidebarblock .subheader#toctitle, .sidebarblock > .content > .subheader.title, .sidebarblock h4.subheader, .sidebarblock h5.subheader, .sidebarblock h6.subheader { line-height: 1.4; } -.sidebarblock > .content > .title { color: inherit; font-size: 28px; font-weight: 500; margin-top: 0; line-height: 1.6; } -.width50 { width: 50% ! important} -.exampleblock > .content > :last-child > :last-child, .exampleblock > .content .olist > ol > li:last-child > :last-child, .exampleblock > .content .ulist > ul > li:last-child > :last-child, .exampleblock > .content .qlist > ol > li:last-child > :last-child, .sidebarblock > .content > :last-child > :last-child, .sidebarblock > .content .olist > ol > li:last-child > :last-child, .sidebarblock > .content .ulist > ul > li:last-child > :last-child, .sidebarblock > .content .qlist > ol > li:last-child > :last-child { margin-bottom: 0; } -.literalblock pre, .literalblock pre[class], .listingblock pre, .listingblock pre[class] { border: 0px; background-color: #F0F3F5; -webkit-border-radius: 5px; border-radius: 5px; padding: 1.5em 2.5em; word-wrap: break-word; } -.literalblock pre.nowrap, .literalblock pre[class].nowrap, .listingblock pre.nowrap, .listingblock pre[class].nowrap { overflow-x: auto; white-space: pre; word-wrap: normal; } -.literalblock pre > code, .literalblock pre[class] > code, .listingblock pre > code, .listingblock pre[class] > code { display: block; } -.listingblock > .content { position: relative; } -.listingblock:hover code[class*=" language-"]:before { text-transform: uppercase; font-size: 0.9em; color: #999; position: absolute; top: 0.375em; right: 0.375em; } -.listingblock:hover code.asciidoc:before { content: "asciidoc"; } -.listingblock:hover code.clojure:before { content: "clojure"; } -.listingblock:hover code.css:before { content: "css"; } -.listingblock:hover code.go:before { content: "go"; } -.listingblock:hover code.groovy:before { content: "groovy"; } -.listingblock:hover code.html:before { content: "html"; } -.listingblock:hover code.java:before { content: "java"; } -.listingblock:hover code.javascript:before { content: "javascript"; } -.listingblock:hover code.python:before { content: "python"; } -.listingblock:hover code.ruby:before { content: "ruby"; } -.listingblock:hover code.sass:before { content: "sass"; } -.listingblock:hover code.scss:before { content: "scss"; } -.listingblock:hover code.xml:before { content: "xml"; } -.listingblock:hover code.yaml:before { content: "yaml"; } -.listingblock.terminal pre .command:before { content: attr(data-prompt); padding-right: 0.5em; color: #999; } -.listingblock.terminal pre .command:not([data-prompt]):before { content: '$'; } -table.pyhltable { border: 0; margin-bottom: 0; } -table.pyhltable td { vertical-align: top; padding-top: 0; padding-bottom: 0; } -table.pyhltable td.code { padding-left: .75em; padding-right: 0; } -.highlight.pygments .lineno, table.pyhltable td:not(.code) { color: #999; padding-left: 0; padding-right: .5em; border-right: 1px solid #d8d8d8; } -.highlight.pygments .lineno { display: inline-block; margin-right: .25em; } -table.pyhltable .linenodiv { background-color: transparent !important; padding-right: 0 !important; } -.quoteblock { margin: 0 0 1.25em 0; padding: 0.5625em 1.25em 0 1.1875em; border-left: 3px solid #487c58; } -.quoteblock blockquote { margin: 0 0 1.25em 0; padding: 0 0 0.625em 0; border: 0; } -.quoteblock blockquote > .paragraph:last-child p { margin-bottom: 0; } -.quoteblock .attribution { margin-top: -0.625em; padding-bottom: 0.625em; font-size: inherit; color: #454545; line-height: 1.6; } -.quoteblock .attribution br { display: none; } -.quoteblock .attribution cite { display: block; } -table.tableblock { max-width: 100%; } -table.tableblock td .paragraph:last-child p > p:last-child, table.tableblock th > p:last-child, table.tableblock td > p:last-child { margin-bottom: 0; } -table.spread { width: 100%; } -table.tableblock, th.tableblock, td.tableblock { border: 0 solid #dddddd; } -table.grid-all th.tableblock, table.grid-all td.tableblock { border-width: 0 1px 1px 0; } -table.grid-all tfoot > tr > th.tableblock, table.grid-all tfoot > tr > td.tableblock { border-width: 1px 1px 0 0; } -table.grid-cols th.tableblock, table.grid-cols td.tableblock { border-width: 0 1px 0 0; } -table.grid-all * > tr > .tableblock:last-child, table.grid-cols * > tr > .tableblock:last-child { border-right-width: 0; } -table.grid-rows th.tableblock, table.grid-rows td.tableblock { border-width: 0 0 1px 0; } -table.grid-all tbody > tr:last-child > th.tableblock, table.grid-all tbody > tr:last-child > td.tableblock, table.grid-all thead:last-child > tr > th.tableblock, table.grid-rows tbody > tr:last-child > th.tableblock, table.grid-rows tbody > tr:last-child > td.tableblock, table.grid-rows thead:last-child > tr > th.tableblock { border-bottom-width: 0; } -table.grid-rows tfoot > tr > th.tableblock, table.grid-rows tfoot > tr > td.tableblock { border-width: 1px 0 0 0; } -table.frame-all { border-width: 1px; } -table.frame-sides { border-width: 0 1px; } -table.frame-topbot { border-width: 1px 0; } -th.halign-left, td.halign-left { text-align: left; } -th.halign-right, td.halign-right { text-align: right; } -th.halign-center, td.halign-center { text-align: center; } -th.valign-top, td.valign-top { vertical-align: top; } -th.valign-bottom, td.valign-bottom { vertical-align: bottom; } -th.valign-middle, td.valign-middle { vertical-align: middle; } -table thead th, table tfoot th { font-weight: bold; } -tbody tr th { display: table-cell; line-height: 1.6; background: whitesmoke; } -tbody tr th, tbody tr th p, tfoot tr th, tfoot tr th p { color: #333333; font-weight: bold; } -td > div.verse { white-space: pre; } -ul.unstyled, ol.unnumbered, ul.checklist, ul.none { list-style-type: none; } -ul.unstyled, ol.unnumbered, ul.checklist { margin-left: 0.625em; } -ul.checklist li > p:first-child > .fa-check-square-o:first-child, ul.checklist li > p:first-child > input[type="checkbox"]:first-child { margin-right: 0.25em; } -ul.checklist li > p:first-child > input[type="checkbox"]:first-child { position: relative; top: 1px; } -ul.inline { margin: 0 auto 0.625em auto; margin-left: -1.375em; margin-right: 0; padding: 0; list-style: none; overflow: hidden; } -ul.inline > li { list-style: none; float: left; margin-left: 1.375em; display: block; } -ul.inline > li > * { display: block; } -.unstyled dl dt { font-weight: normal; font-style: normal; } -ol.arabic { list-style-type: decimal; } -ol.decimal { list-style-type: decimal-leading-zero; } -ol.loweralpha { list-style-type: lower-alpha; } -ol.upperalpha { list-style-type: upper-alpha; } -ol.lowerroman { list-style-type: lower-roman; } -ol.upperroman { list-style-type: upper-roman; } -ol.lowergreek { list-style-type: lower-greek; } -.hdlist > table, .colist > table { border: 0; background: none; } -.hdlist > table > tbody > tr, .colist > table > tbody > tr { background: none; } -td.hdlist1 { padding-right: .75em; font-weight: bold; } -td.hdlist1, td.hdlist2 { vertical-align: top; } -.literalblock + .colist, .listingblock + .colist { margin-top: -0.5em; } -.colist > table tr > td:first-of-type { padding: 0 .75em; line-height: 1; } -.colist > table tr > td:last-of-type { padding: 0.25em 0; } -.qanda > ol > li > p > em:only-child { color: #1d4b8f; } -.thumb, .th { line-height: 0; display: inline-block; border: solid 4px white; -webkit-box-shadow: 0 0 0 1px #dddddd; box-shadow: 0 0 0 1px #dddddd; } -.imageblock.left, .imageblock[style*="float: left"] { margin: 0.25em 0.625em 1.25em 0; } -.imageblock.right, .imageblock[style*="float: right"] { margin: 0.25em 0 1.25em 0.625em; } -.imageblock > .title { margin-bottom: 0; } -.imageblock.thumb, .imageblock.th { border-width: 6px; } -.imageblock.thumb > .title, .imageblock.th > .title { padding: 0 0.125em; } -.image.left, .image.right { margin-top: 0.25em; margin-bottom: 0.25em; display: inline-block; line-height: 0; } -.image.left { margin-right: 0.625em; } -.image.right { margin-left: 0.625em; } -a.image { text-decoration: none; } -span.footnote, span.footnoteref { vertical-align: super; font-size: 0.875em; } -span.footnote a, span.footnoteref a { text-decoration: none; } -span.footnote a:active, span.footnoteref a:active { text-decoration: underline; } -#footnotes { padding-top: 0.75em; padding-bottom: 0.75em; margin-bottom: 0.625em; } -#footnotes hr { width: 20%; min-width: 6.25em; margin: -.25em 0 .75em 0; border-width: 1px 0 0 0; } -#footnotes .footnote { padding: 0 0.375em; line-height: 1.3; font-size: 0.875em; margin-left: 1.2em; text-indent: -1.2em; margin-bottom: .2em; } -#footnotes .footnote a:first-of-type { font-weight: bold; text-decoration: none; } -#footnotes .footnote:last-of-type { margin-bottom: 0; } -#content #footnotes { margin-top: -0.625em; margin-bottom: 0; padding: 0.75em 0; } -.gist .file-data > table { border: none; background: #fff; width: 100%; margin-bottom: 0; } -.gist .file-data > table td.line-data { width: 99%; } -div.unbreakable { page-break-inside: avoid; } -.replaceable { font-style: italic; font-color: inherit; font-family: inherit; } -.parameter { font-style: italic; font-family: monospace; } -.userinput { font-weight: bold; font-family: monospace; } -.envar { font-weight: bold; font-family: monospace; font-size: 90%; } -.sysitem { font-weight: bold; font-size: 90%; } -.package { font-weight: bold; font-size: 90%; } -.filename { font-weight: bold; font-style: italic; font-size: 90%; } -.big { font-size: larger; } -.small { font-size: smaller; } -.underline { text-decoration: underline; } -.overline { text-decoration: overline; } -.line-through { text-decoration: line-through; } -.aqua { color: #00bfbf; } -.aqua-background { background-color: #00fafa; } -.black { color: black; } -.black-background { background-color: black; } -.blue { color: #0000bf; } -.blue-background { background-color: #0000fa; } -.fuchsia { color: #bf00bf; } -.fuchsia-background { background-color: #fa00fa; } -.gray { color: #606060; } -.gray-background { background-color: #7d7d7d; } -.green { color: #006000; } -.green-background { background-color: #007d00; } -.lime { color: #00bf00; } -.lime-background { background-color: #00fa00; } -.maroon { color: #600000; } -.maroon-background { background-color: #7d0000; } -.navy { color: #000060; } -.navy-background { background-color: #00007d; } -.olive { color: #606000; } -.olive-background { background-color: #7d7d00; } -.purple { color: #600060; } -.purple-background { background-color: #7d007d; } -.red { color: #bf0000; } -.red-background { background-color: #fa0000; } -.silver { color: #909090; } -.silver-background { background-color: #bcbcbc; } -.teal { color: #006060; } -.teal-background { background-color: #007d7d; } -.white { color: #bfbfbf; } -.white-background { background-color: #fafafa; } -.yellow { color: #bfbf00; } -.yellow-background { background-color: #fafa00; } -span.icon > .fa { cursor: default; } -.admonitionblock td.icon [class^="fa icon-"] { font-size: 2.5em; cursor: default; } -.admonitionblock td.icon .icon-note:before { content: "\f05a"; color: #4E9FDD; } -.admonitionblock td.icon .icon-tip:before { content: "\f0eb"; color: #2C8596; } -.admonitionblock td.icon .icon-warning:before { content: "\f071"; color: #ec7a08; } -.admonitionblock td.icon .icon-caution:before { content: "\f06d"; color: #ec7a08; } -.admonitionblock td.icon .icon-important:before { content: "\f06a"; color: #c00; } -.conum[data-value] { display: inline-block; color: white !important; background-color: #333333; -webkit-border-radius: 100px; border-radius: 100px; text-align: center; width: 20px; height: 20px; font-size: 12px; line-height: 20px; font-family: "Open Sans", "Sans", sans-serif; font-style: normal; font-weight: bold; text-indent: -1px; } -.conum[data-value] * { color: white !important; } -.conum[data-value] + b { display: none; } -.conum[data-value]:after { content: attr(data-value); } -pre .conum[data-value] { position: relative; top: -2px; } -b.conum * { color: inherit !important; } -.conum:not([data-value]):empty { display: none; } -.print-only { display: none !important; } -@media print { @page { margin: 1.25cm 0.75cm; } - * { -webkit-box-shadow: none !important; box-shadow: none !important; text-shadow: none !important; } - a, a:visited { color: inherit !important; text-decoration: underline !important; } - a[href^="http:"]:after, a[href^="https:"]:after { content: " (" attr(href) ")"; } - a[href^="#"], a[href^="#"]:visited, a[href^="mailto:"], a[href^="mailto:"]:visited { text-decoration: none !important; } - abbr[title]:after { content: " (" attr(title) ")"; } - pre, blockquote { page-break-inside: avoid; } - code { color: #191919; } - thead { display: table-header-group; } - tr, img { page-break-inside: avoid; } - img { max-width: 100% !important; } - p { orphans: 3; widows: 3; } - h2, h3, #toctitle, .sidebarblock > .content > .title, #toctitle, .sidebarblock > .content > .title { page-break-after: avoid; } - #toc, .sidebarblock { background: none !important; } - #toc { border-bottom: 1px solid #d8d8d8 !important; padding-bottom: 0 !important; } - .sect1 { padding-bottom: 0 !important; } - .sect1 + .sect1 { border: none !important; } - body.book #header { text-align: center; } - body.book #header > h1 { border: none !important; margin: 2.5em 0 1em 0; padding: 0; } - body.book #header span { line-height: 1.6; } - body.book #header br { display: block; } - body.book #header br + span { padding-left: 0; } - body.book #header br + span:before { content: none !important; } - body.book #toc { border: none !important; text-align: left !important; padding: 0 !important; } - #footer { background: none !important; } - #footer-text { color: #333333 !important; } - .hide-on-print { display: none !important; } - .print-only { display: block !important; } - .hide-for-print { display: none !important; } - .show-for-print { display: inherit !important; } } - -.corner-ribbon{ - width: 16em; - background: #3c6eb4 ; - position: absolute; - top: 3em; - right: -4em; - text-align: center; - line-height: 5ex; - color: #dedede; - transform: rotate(45deg); - -webkit-transform: rotate(45deg); - z-index: 999; -} -.corner-ribbon a { color: #FFFFFF; } diff --git a/_templates/_css.html.erb b/_templates/_css.html.erb deleted file mode 100644 index 0fca7ae..0000000 --- a/_templates/_css.html.erb +++ /dev/null @@ -1,3 +0,0 @@ -<%- Dir.glob("_stylesheets/*").sort.each do |sheet| -%> - -<%- end -%> diff --git a/_templates/_nav.html.erb b/_templates/_nav.html.erb deleted file mode 100644 index 4710efb..0000000 --- a/_templates/_nav.html.erb +++ /dev/null @@ -1,30 +0,0 @@ - diff --git a/_templates/page.html.erb b/_templates/page.html.erb deleted file mode 100644 index 32bc1bd..0000000 --- a/_templates/page.html.erb +++ /dev/null @@ -1,193 +0,0 @@ - - - - - - - <%= distro %> <%= version %> | <%= [group_title, subgroup_title, topic_title].compact.join(' | ') %> - - - - - - - <%= render("_templates/_css.html.erb", :css_path => css_path) %> - - - - - - " rel="shortcut icon" type="text/css"> - - - - - <%- if version == "Rawhide" %> - - <%- end %> - -
-
-
-
- <%= render("_templates/_nav.html.erb", :navigation => navigation, :group_id => group_id, :topic_id => topic_id, :subgroup_id => subgroup_id, :subtopic_shim => subtopic_shim) %> -
-
- - <%= content %> -
-
-
-
- - - - - - - - diff --git a/_topic_map.yml b/_topic_map.yml deleted file mode 100644 index 111861b..0000000 --- a/_topic_map.yml +++ /dev/null @@ -1,37 +0,0 @@ -# This configuration file dictates the organization of the topic groups and -# topics on the main page of the doc site for this branch. Each record -# consists of the following: -# -# --- <= Record delimiter -# Name: Origin of the Species <= Display name of topic group -# Dir: origin_of_the_species <= Directory name of topic group -# Topics: -# - Name: The Majestic Marmoset <= Topic name -# File: the_majestic_marmoset <= Topic file under group dir +/- -# - Name: The Curious Crocodile <= Topic 2 name -# File: the_curious_crocodile <= Topic 2 file -# - Name: The Numerous Nematodes <= Sub-topic group name -# Dir: the_numerous_nematodes <= Sub-topic group dir -# Topics: -# - Name: The Wily Worm <= Sub-topic name -# File: the_wily_worm <= Sub-topic file under / -# - Name: The Acrobatic Ascarid <= Sub-topic 2 name -# File: the_acrobatic_ascarid <= Sub-topic 2 file under / -# -# The ordering of the records in this document determines the ordering of the -# topic groups and topics on the main page. ---- -Name: Community Operations (CommOps) -Dir: docs -Topics: - - Name: About CommOps - File: commops - - Name: How to contribute - Dir: contribute - Topics: - - Name: Join CommOps - File: join - - Name: Make first steps - File: first-steps - - Name: Community Blog - File: community-blog diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..c9349e3 --- /dev/null +++ b/build.sh @@ -0,0 +1,16 @@ +#!/bin/sh + +if [ "$(uname)" == "Darwin" ]; then + # Running on macOS. + # Let's assume that the user has the Docker CE installed + # which doesn't require a root password. + docker run --rm -it -v $(pwd):/antora antora/antora --html-url-extension-style=indexify site.yml + +elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then + # Running on Linux. + # Let's assume that it's running the Docker deamon + # which requires root. + echo "" + echo "This build script is using Docker to run the build in an isolated environment. You might be asked for a root password in order to start it." +sudo docker run --rm -it -v $(pwd):/antora:z antora/antora --html-url-extension-style=indexify site.yml +fi diff --git a/docs/antora.yml b/docs/antora.yml new file mode 100644 index 0000000..0a2f9a9 --- /dev/null +++ b/docs/antora.yml @@ -0,0 +1,16 @@ +# Name will be mostly visible in the URL. Treat it as an indentifier. +# Tip: If you want to use the local preview scripts that come with this repository, please change this value in the site.yml file as well. (under site/start_page) +name: commops + +# Title will be visible on the page. +title: CommOps + +# If you don't plan to have multiple versions of the docs (for example, to document multiple versions of some software), you can ignore this field. Otherwise, change "master" to a specific version. +version: master + +# We encourage you to name the index page as "index.adoc". If you absolutely have to use a different name, please reflect it here. You can ignore this field otherwise. +start_page: ROOT:index + +# This lists all the menu definitions of your component. +nav: +- modules/ROOT/nav.adoc diff --git a/docs/attributes.adoc b/docs/attributes.adoc deleted file mode 100644 index d4a4d33..0000000 --- a/docs/attributes.adoc +++ /dev/null @@ -1,4 +0,0 @@ -:COMMBLOG: https://communityblog.fedoraproject.org -:FEDMSG: http://www.fedmsg.com/ -:FWIKI: https://fedoraproject.org/wiki -:YEAR: 2018 diff --git a/docs/commops.adoc b/docs/commops.adoc deleted file mode 100644 index 5722697..0000000 --- a/docs/commops.adoc +++ /dev/null @@ -1,262 +0,0 @@ -include::docs/attributes.adoc[] - -= Fedora Community Operations (CommOps) - -image::commops-logo.png[CommOps logo] - -Community Operations (CommOps) provides tools, resources, and utilities for different sub-projects of Fedora to improve effective communication. -The following areas are examples of where CommOps focuses: - -* Work closely with https://docs.fedoraproject.org/fedora-project/council/fcaic.html[Fedora Community Action and Impact Coordinator] to prioritize key focus areas -* Assist https://docs.fedoraproject.org/fedora-project/council/fpgm.html[Fedora Program Manager] with release preparations -* Support preparation and execution of Fedora Elections -* Work with sub-projects and teams to improve on-boarding methods and practices -* Use metrics and data to improve understanding of Fedora community -** Support development of metrics tooling -* And more (detailed fully below) - - -[[find-commops]] -== Where to find CommOps - -The CommOps team uses a mailing list and https://en.wikipedia.org/wiki/Internet_Relay_Chat[IRC] channel to communicate. -The mailing list is best for _asynchronous_ communication. -The CommOps IRC channel on the https://freenode.net/[Freenode IRC network] is best for _synchronous_ communication. - -Mailing list:: commops [at] lists [dot] fedoraproject [dot] org (https://lists.fedoraproject.org/admin/lists/commops.lists.fedoraproject.org/[subscribe here]) -IRC channel:: irc://irc.freenode.net/#fedora-commops[#fedora-commops] on Freenode - -First time using IRC? -Look into https://opensource.com/article/17/5/introducing-riot-IRC[Riot], a free and open source client that connects to various IRC networks. -Riot also keeps you connected to IRC even when you're not connected to the Internet. - - -[[workflow]] -== Workflow - -CommOps uses a ticket-based workflow to keep track of our work. -The repository with tickets is on https://pagure.io/[Pagure]. -The repository is named https://pagure.io/fedora-commops[fedora-commops]. -Tickets are found under the _https://pagure.io/fedora-commops/issues[Issues]_ menu. - -Various tags are listed at the top of the _Issues_ page. -For good beginner tasks, look at the _https://pagure.io/fedora-commops/issues?status=Open&tags=good+first+issue[good first issue]_ tag. - - -[[meetings]] -== Meetings - -CommOps holda a meeting once a week on IRC to check in our tasks and plan ahead. -Check the https://apps.fedoraproject.org/calendar/commops/[CommOps calendar] for the current date and time. - -Past meeting minutes are recorded in [https://meetbot.fedoraproject.org/teams/commops/[Meetbot]. - - -[[meeting-format]] -=== Meeting format - -The upcoming meeting agenda is found on the Fedora https://infinote.fedoraproject.org/cgit/infinote/tree/meeting-templates/fedora-commops-meeting-next[Infinote server]. -Meetings follow an agenda split into five parts: - -. **Roll call**: Waiting for others to arrive, opportunity to introduce yourself and ask general questions -. **Announcements**: Any news or updates to share -. **Action items from last meeting**: Follow-up on `#action` items from previous meeting -. **Tickets**: Discussion and follow-up on tickets https://pagure.io/fedora-commops/issues?status=Open&tags=meeting[marked for meetings] -. **Open floor**: General discussion or comments - - -[[what-commops-does]] -== What CommOps does - -CommOps focuses on a few key areas, both technical and non-technical. - -=== Culture - -The Fedora Project builds and ships a Linux distribution, but there is a community behind the technical work and planning. -In Fedora, we have the https://docs.fedoraproject.org/fedora-project/project/fedora-overview.html#what-is-fedora-all-about[Four Foundations] to represent our community culture. -The Fedora community represents a set of ethics and values to how we build our distribution. -These ethics and values create the culture of the Fedora Project. -When working in the community, mindfulness of this culture enriches and supports the different sub-communities inside of Fedora. - -CommOps builds community infrastructure of support and acceptance for the culture of the Fedora community. -The _Friends_ foundation is there for a reason. -The community infrastructure CommOps assists with, builds on top of the _Friends_ foundation. -People enjoy contributing in a community where they feel valued for who they are and what they bring to the community, not just that they are useful. -CommOps supports this through some of our tasks relating to culture. - -Examples of things we help with to build and support the culture of the Fedora community: - -* https://pagure.io/fedora-commops/issue/17[Interviewing Fedora community members] -* https://pagure.io/fedora-commops/issue/110[Fedora Appreciation Week] -* https://pagure.io/fedora-commops/issue/138[Top Badgers of the Year] - -=== Elections - -There are a few elected bodies in Fedora, such as the https://docs.fedoraproject.org/fedora-project/council/charter.html[Fedora Council], https://docs.fedoraproject.org/fedora-project/subprojects/mindshare/mindshare.html[Mindshare Committee], and https://docs.fedoraproject.org/fedora-project/subprojects/fesco/fesco.html[FESCo]. -Every new Fedora release, the community holds elections for these bodies. -Each election takes "wrangling" work to pull together. -This includes calling for nominations, conducting interviews with candidates, and raising awareness during the voting window. - -CommOps supports the https://docs.fedoraproject.org/fedora-project/council/fpgm.html[Fedora Program Manager] in organizing and executing elections. -These responsibilities consist of curating content on the https://docs.fedoraproject.org/fedora-project/subprojects/mindshare/docs/community-blog.html[Community Blog], creating interview templates, and outreach to grow awareness. - -Examples of things we do to help organize and execute Fedora elections: - -* https://pagure.io/fedora-commops/issue/7[Fedora Elections and CommOps Coverage] -* https://pagure.io/fedora-commops/issue/19[Improve automation of Elections communication] -* https://pagure.io/fedora-commops/issue/93[Better explain roles of Council and FESCo] -* https://pagure.io/fedora-commops/issue/107[Automated Fedocal reminders to send to all mailing lists for upcoming Elections] -* https://pagure.io/fedora-commops/issue/112[Create August 2017 election interview templates for candidates] - -=== Storytelling - -Messaging and storytelling bring the "story" of the Fedora Project to both the contributor and user community. -Every year, a https://mattdm.org/fedora/2018devconf/DevConfcz2018Charts.pdf[couple thousand people] work on Fedora. -Messaging is a way of sharing our story in multiple formats. -We bring the message of what we _as a community_ are doing out to others. -Others include our contributors working in other areas of the project and users interested in what the Fedora community produces. -When we share our story with each other, we are aware of other work happening in the Fedora community. -Communicating the story of Fedora keeps our contributors moving together towards our goals. -Good messaging helps our users better understand the goals and objectives of Fedora and how we plan to get there. - -CommOps supports messaging by working with other sub-projects and teams to tell their own stories. -CommOps provides the help to "dig out" the stories and the tools to share them widely. -This includes tasks like interviews, sharing activities by Fedora contributors, running retrospectives, and more. -These tasks keep contributors in sync with what we're working on. -They are direct actions to keep everyone on the same page. - -Examples of things we do to support messaging and tell stories: - -* https://pagure.io/fedora-commops/issue/4[Interviews about goals for team sprints] -* https://pagure.io/fedora-commops/issue/66[Call for nominations of a Working Group] -* https://pagure.io/fedora-commops/issue/98[Covering upcoming talks by Fedora contributors at a major conference] -* https://pagure.io/fedora-commops/issue/100["Help Wanted" columns] -* https://pagure.io/fedora-commops/issue/129[Year in Review blog series] - -=== Metrics - -CommOps measures community health and engagement through extensive metrics and data available about Fedora. -{FEDMSG}[fedmsg] is a messaging bus with data about activity in the Fedora community. -The data includes activity like git commits, new blog posts, wiki page edits, software build status, IRC meeting notes, and more. -CommOps works with fedmsg to tell stories about our community, but specific types of stories. -The stories told with metrics are helpful to understand what we may be doing right or wrong. -It gives us a data-driven way to understand our huge community. - -CommOps directly supports metrics in Fedora through development time and data-driven storytelling. -Some members develop existing software or build new scripts to analyze data. -Others use the data to write reports or studies on how the Fedora community works. -Ultimately, metrics are a largely technical area that CommOps helps with. - -Examples of metrics work and data-driven storytelling we do: - -* https://pagure.io/fedora-commops/issue/32[Analyzing Fedora contributor activity] -* https://pagure.io/fedora-commops/issue/88[Fedora release party metrics] -* https://pagure.io/fedora-commops/issue/109[Understanding contributor activity by geographic location] - -=== Supporting sub-projects - -CommOps assists other sub-projects and teams in following best practices and communicating effectively. -We work with other teams to help them on-board new contributors into their teams. -This includes creating Fedora Badge requests, reviewing guidelines, and making Fedora services and tools more understandable. - -Examples of sub-project support and on-boarding work: - -* https://pagure.io/fedora-commops/issue/62[Wiki gardening of Fedora Join] -* https://pagure.io/fedora-commops/issue/69[Fedora Modularity onboarding] -* https://pagure.io/fedora-commops/issue/76[Update Onboarding Calendar for GSoC 2016] -* https://pagure.io/fedora-commops/issue/95[Onboarding: DotNet SIG] - - -[[join-commops]] -== Join CommOps - -CommOps always welcomes new contributors. -Whether you are a newcomer or an old-timer, there are ways to get involved. -Join CommOps to: - -* Build your portfolio working on real-world projects -* Gain holistic view of the Fedora Project and learn how the pieces fit together -* Work directly with Fedora Project leadership -* Work with teammates from around the world -* Aspire to the greatness of a superhero - -.Join the CommOps team today -[link="contribute/join.html"] -image::https://fedoraproject.org/w/uploads/7/72/Happypanda.png[Happy Panda,100] - - -[[toolbox]] -== Toolbox - -The CommOps toolbox explains tools and services often used by the team. -The tools are organized by their purpose and use. - -[[communication-tools]] -=== Communication tools - -These tools are for communicating to others in the Fedora community. - -https://docs.fedoraproject.org/fedora-project/subprojects/mindshare/docs/community-blog.html[Community Blog] (CommBlog) - https://communityblog.fedoraproject.org/[communityblog.fedoraproject.org]:: -Centralized blog for contributors to publish news, activities, or calls for help to the rest of the project. -Useful place for getting an inside scoop on "what's happening" in Fedora. - -https://infrastructure.fedoraproject.org/cgit/ansible.git/tree/roles/fedmsg/irc/templates/ircbot.py?id=0279643#n77[ircbot.py]:: -Python script for fedmsg notifications in irc://chat.freenode.net/#fedora-commops[#fedora-commops]. -Relays real-time updates and changes relating to CommOps in our IRC channel. - - -[[metrics-tools]] -=== Metrics tools - -These tools access and use the Fedora messaging bus, **fedmsg**. -With these tools, you can generate metrics, analyze data, and interact with fedmsg. - -https://github.com/fedora-infra/fedora-stats-tools/blob/develop/annualgrepper.py[annualgrepper]:: -Gather raw fedmsg totals on https://fedora-fedmsg.readthedocs.io/en/latest/topics.html[topics] in the last year - -https://pagure.io/cardsite[cardsite]:: -Live fedmsg tracker inspired by http://emojitracker.com/[emojitracker] - -https://github.com/fedora-infra/fedora-stats-tools/blob/develop/daily-briefing.py[daily-briefing.py]:: -Template that takes lists of URLs, generates summary reports of daily Meetbot links and action items (manual now, can be automated!) - -https://apps.fedoraproject.org/datagrepper/[datagrepper]:: -The powerhouse tool to interact with fedmsg. -Using HTTP GET requests, query for historical data from fedmsg. -Examples include events by username, by package, by message source, and more. - -http://fedmsg.com[fedmsg]:: -Python package and API that hooks into various Fedora Infrastructure services. -Sends messages from each service to a unified message bus in real-time. -fedmsg drives and powers all the metrics tools we have. - -https://github.com/fedora-infra/fedora-stats-tools[fedora-stats-tools]:: -Multiple statistics tools, data, and slide decks for fedmsg metrics, Year in Reviews, and Fedora event metrics - -https://pagure.io/feedcloud[feedcloud]:: -Takes an RSS feed or list of RSS feeds and generates fancy word-clouds for them - -https://pagure.io/gsoc-stats[gsoc-stats]:: -Python tool to generate statistics about Fedora contributors - -https://github.com/fedora-infra/fedora-stats-tools/blob/develop/longtail-analyze.py[longtail-analyze.py], https://github.com/fedora-infra/fedora-stats-tools/blob/develop/longtail-gather.py[longtail-gather.py]:: -Measure the ratio of activity per user to approximate burnout - -https://github.com/fedora-infra/fedora-stats-tools/blob/develop/meetbot-fedmsg-activity.py[meetbot-fedmsg-activity.py]:: -Jinja2 template that creates links to Meetbot activities - -https://github.com/fedora-infra/statscache[statscache]:: -Daemon to build and keep highly-available fedmsg statistics - -https://pagure.io/wordcloudbot[wordcloudbot]:: -Create pretty wordclouds from IRC meeting logs - - -[[other]] -=== Other - -Other tools that don't belong elsewhere fit under here. - -https://github.com/OSAS/rh-events[OSAS/rh-events]:: -Data for Red Hat conference and talk attendance. -Useful for plotting events in our own calendar and keeping track of what's happening in the open source community. diff --git a/docs/community-blog.adoc b/docs/community-blog.adoc deleted file mode 100644 index 1e09ec0..0000000 --- a/docs/community-blog.adoc +++ /dev/null @@ -1,104 +0,0 @@ -include::docs/attributes.adoc[] - -= Community Blog - -The https://communityblog.fedoraproject.org[Fedora Community Blog] (CommBlog) is a WordPress-based site that delivers news, updates, and calls for help from contributors across Fedora. - -image::https://fedoraproject.org/w/uploads/0/09/Community_Blog_screenshot.png[Community Blog screenshot,90%,90%] - - -[[content]] -== Content - -The Community Blog focuses on updates and information about the Fedora Project community. -Topics vary, but mostly include… - -* News from specific sub-projects -* Updates on new features or changes in Fedora -* Calls for help from other contributors -* Official {FWIKI}/Elections[Fedora Elections] coverage -* Anything related to Fedora _contributor_ community - - -[[magazine-vs-community-blog]] -== Fedora Magazine vs. Community Blog - -What is the difference between the https://fedoramagazine.org[Fedora Magazine] and the Community Blog? -They focus on two different audiences (or types of readers). - -The Fedora Magazine targets everyday Fedora users, Linux enthusiasts, and technology hobbyists. -Fedora contributors are included in these audiences, but they are not the main focus. -The Community Blog is the news hub for Fedora contributors and people working inside of the Fedora community. -The Community Blog specifically focuses on our contributors. - -For example, an article on how to use a new package in Fedora is better for the Magazine. -Any Fedora user may be interested in using the package. -An article that announces a new feature to a Fedora Infrastructure service or an Ambassador event report is better for the Community Blog. -A Fedora user may not be interested, but our contributors have a stronger interest. - -Sometimes there is some overlap between the two. -Think hard about who you are writing for and who you want to read your article. -This should answer the question of where to write your article. -The CommOps and Fedora Magazine teams are happy to answer any doubts or questions if you are unsure. - - -[[write-article]] -== Write an article - -The Community Blog is managed by the CommOps team. -The system administration is managed by {FWIKI}/Infrastructure[Fedora Infrastructure]. -However, we need _your help_ to share the awesome things you and your area of Fedora are working on. - -Articles don't need to be long. -Short snippets are useful too. -If you're not sure how much to write, 300 words is a good target. -If needed, you can always write more. - -See the https://communityblog.fedoraproject.org/writing-community-blog-article/[Writing an article] guide to get started. -This page explains the process for writing and how to get your post published. - - -[[community-blog-theme]] -== Community Blog theme - -The Community Blog WordPress theme is open source. -Find the source code https://pagure.io/communityblog-theme[on Pagure]. -Open a ticket if you find a bug, problem, or something to improve. -Pull requests are also welcome! -Before submitting a pull request, email the CommOps mailing list first and ask for feedback on your planned contribution. - - -[[editors]] -== Editors - -Community Blog editors review article drafts and schedule new posts. -Editors are reachable on the https://lists.fedoraproject.org/admin/lists/commops.lists.fedoraproject.org/[CommOps mailing list]. -The mailing list is the best way to reach an editor. - -Below, you can find a current list of editors: - -.Community Blog editors -|=== -|Name |FAS account |IRC nickname - -|Justin W. Flory (editor-in-chief) -|{FWIKI}/User:Jflory7[jflory7] -|jwf - -|Brian Exelbierd -|{FWIKI}/User:Bex[bex] -|bexelbie - -|Brian Proffitt -|{FWIKI}/User:Bproffit[bproffit] -|bkp - -|Matthew Miller -|{FWIKI}/User:Mattdm[mattdm] -|mattdm - -|Nick Bebout -|{FWIKI}/User:Nb[nb] -|nb - -|=== diff --git a/docs/contribute/first-steps.adoc b/docs/contribute/first-steps.adoc deleted file mode 100644 index bbf236a..0000000 --- a/docs/contribute/first-steps.adoc +++ /dev/null @@ -1,119 +0,0 @@ -include::docs/attributes.adoc[] - -= Make your first steps in Fedora - -Are you new to the Fedora community? -Not sure where to start? -Learn how to make your first steps in the Fedora community by earning these Fedora Badges. - - -[[fedora-badges]] -== What are Fedora Badges? - -Fedora Badges are a fun way to earn virtual badges in the Fedora community. -There are hundreds of badges to earn for different types of activities. -Some badges are for technical tasks while others are for non-technical tasks. -To learn more about Fedora Badges, https://badges.fedoraproject.org/about[read the website] for more info. - -This page lists some of the best Fedora Badges to earn when you're getting started. -You may be able to earn more badges too! -But if you aren't sure where to start, begin with these ones. - - -[[involvement]] -== Involvement - -https://badges.fedoraproject.org/badge/involvement[Involvement] is awarded when you sign the https://fedoraproject.org/wiki/Legal:Fedora_Project_Contributor_Agreement[Fedora Project Contributor Agreement] (FPCA). -To sign the FPCA, do this from the https://admin.fedoraproject.org/accounts/[Fedora Account System] (FAS). - -image::https://badges.fedoraproject.org/pngs/involvement.png[Involvement - Fedora Badges] - - -[[white-rabbit]] -== White Rabbit - -https://badges.fedoraproject.org/badge/white-rabbit[White Rabbit] is awarded when you set your time zone in your Fedora Account System (FAS) account. -Some tools in Fedora will display your time zone or what your current local time is. -This is helpful so others know when you may be around or to find good meeting times. -To set your time zone in FAS, follow these steps: - -. Go to https://admin.fedoraproject.org/accounts/[Fedora Account System] -. Select _Login_ in the top-right corner -. Login with username and password -. Select _My Account_ on menu at the top -. Select _Edit_ on the _Your Fedora Account_ page -. Change the _Time Zone_ field to your current time zone -. Select _Save_ - -This badge is not awarded immediately. You should receive it in a few days of updating your time zone. - -image::https://badges.fedoraproject.org/pngs/fas-white-rabbit.png[White Rabbit - Fedora Badges] - - -[[crypto-badger]] -== Crypto Badger - -https://badges.fedoraproject.org/badge/crypto-badger[Crypto Badger] is awarded when you add an SSH key to your Fedora Account System (FAS) account. -You may or may not have an SSH key already. -If you do, you can add it to your FAS account with these steps: - -. Generate SSH key using `ssh-keygen` -.. If you use defaults, this generates a `~/.ssh/id_rsa` private key file and a `~/.ssh/id_rsa.pub` public key file -. Go to https://admin.fedoraproject.org/accounts/[Fedora Account System] -. Select _Login_ in the top-right corner -. Login with username and password -. Select _My Account_ on menu at the top -. Select _Edit_ on the _Your Fedora Account_ page -. Upload `~/.ssh/id_rsa.pub` public key file you generated in first step -. Select _Save_ - -The badge is awarded once per week, so you may not get the badge immediately. -If it's longer than seven days, ask for help in irc://irc.freenode.org/#fedora-admin[#fedora-admin] on IRC. - -image::https://badges.fedoraproject.org/pngs/fas-crypto-badger.png[Crypto Badger - Fedora Badges] - - -[[crypto-panda]] -== Crypto Panda - -https://badges.fedoraproject.org/badge/crypto-panda[Crypto Panda] is awarded when you add a GPG public key to your Fedora Account System (FAS) account. -You may or may not have a GPG key already. -They are not required. -If you want to generate one, read the https://fedoramagazine.org/gnupg-a-fedora-primer/[GPG series] on the Fedora Magazine. -If you have a GPG public key, upload it FAS with these steps: - -. Go to https://admin.fedoraproject.org/accounts/[Fedora Account System] -. Select _Login_ in the top-right corner -. Login with username and password -. Select _My Account_ on menu at the top -. Select _Edit_ on the _Your Fedora Account_ page -. Add the last 16 characters of your public key fingerprint file (e.g. `39E45FB6014131E4`) to _GPG Key ID_ -. Select _Save_ - -image::https://badges.fedoraproject.org/pngs/fas-crypto-panda.png[Crypto Panda - Fedora Badges] - - -[[baby-badger]] -== Baby Badger - -https://badges.fedoraproject.org/badge/baby-badger[Baby Badger] is awarded when you log into the Fedora Badges website for the first time. -To log into the Fedora Badges site, you need to register in the Fedora Account System (FAS). -After you have an account, https://badges.fedoraproject.org/login[log in] to the Badges application to earn this badge. - -image::https://badges.fedoraproject.org/pngs/baby-badger.png[Baby Badger - Fedora Badges] - - -== Other badges - -The badges listed here are also good badges to earn. -They aren't explained yet, but they will be soon. -If you want to help with this, come say hello in irc://irc.freenode.net/#fedora-commops[#fedora-commops] on Freenode's IRC network. - -* https://badges.fedoraproject.org/badge/bloggin-it!-planet-i[Bloggin' it!] -* https://badges.fedoraproject.org/badge/curious-penguin-ask-fedora-i[Curious Penguin] -* https://badges.fedoraproject.org/badge/junior-tagger-tagger-i[Junior Tagger] -* https://badges.fedoraproject.org/badge/junior-package-tagger-package-tagger-i[Junior Package Tagger] -* https://badges.fedoraproject.org/badge/macaron-cookie-i[Macaron - Cookie I] -* https://badges.fedoraproject.org/badge/mugshot[Mugshot] -* https://badges.fedoraproject.org/badge/origin[Origin] -* https://blog.justinwflory.com/2016/01/gotta-badge-em-all-speak-up/[Speak Up!] diff --git a/docs/contribute/join.adoc b/docs/contribute/join.adoc deleted file mode 100644 index f4d55c4..0000000 --- a/docs/contribute/join.adoc +++ /dev/null @@ -1,100 +0,0 @@ -include::docs/attributes.adoc[] - -= Join Community Operations - -Become a member of Fedora Community Operations (CommOps) by following these steps. - - -[[fas]] -== Create a FAS account - -Create a {FWIKI}Account_System[Fedora Account System account] and sign the {FWIKI}Legal:Fedora_Project_Contributor_Agreement[Fedora Project Contributor Agreement]. -Do this through the {FWIKI}Infrastructure/AccountSystem[Fedora Account System]. - - -[[mailing-list]] -== Join the mailing list - -Subscribe to the https://lists.fedoraproject.org/admin/lists/commops.lists.fedoraproject.org[Fedora CommOps mailing list] to receive email discussion by the team. -The mailing list receives low to medium volume. - -The mailing list is a key part to how we communicate. -News, updates, and discussion are shared through our mailing list. - - -[[introduction]] -== Send a self-introduction - -Say hello and introduce yourself to the team! -Send a self-introduction to the mailing list and tell us a little about yourself (click mailto:commops@lists.fedoraproject.org[here, Self-Introduction - your name here] to send an intro). - -Not sure what to say? -Answer some of these questions to get started: - -* Why are you interested in contributing to Fedora? -* Why are you interested in contributing to CommOps? -* If you're involved with other things in Fedora, what are/were you working on? -* Do you have any experience in open source or online communities? If so, what? -* What parts of CommOps were interesting to you? -* Do you have any questions for us? How can we help _you_ get started? - - -[[community-blog]] -== Register on Community Blog - -The Fedora https://communityblog.fedoraproject.org[Community Blog] is a key component to CommOps. -An account gives permissions to view article drafts and previews before they are published. -If you ever write an article, you will need an account. -To register, log in at the https://communityblog.fedoraproject.org/wp-login.php[login page] with your Fedora Account System (FAS) credentials. - -Need more help logging in? -Read the https://communityblog.fedoraproject.org/how-to-log-in/[help page] for more detailed instructions. - - -[[irc]] -== Join our IRC channel - -Fedora uses the https://freenode.net[Freenode IRC network] for instant messaging and communication. -Short discussions and planning happen in our IRC channel. -Our weekly team meetings also take place on IRC. - -Never used IRC before? -See the https://fedoramagazine.org/beginners-guide-irc/[Beginner's Guide to IRC] on the Fedora Magazine. -If you want to stay connected even when you are not online, consider https://opensource.com/article/17/5/introducing-riot-IRC[using Riot] as your IRC client. - - -[[first-steps]] -== Make your first steps - -See link:first-steps.html[Make your first steps in Fedora] for more info. - - -[[start-task]] -== Start on a task - -CommOps uses https://pagure.io/fedora-commops[this Pagure repository] to track our tasks and what we're working on. -Tasks, problems, and goals are filed as tickets in the https://pagure.io/fedora-commops/issues[issue tracker]. -There are a lot of tickets, but we're not working on everything at once. -Scrolling through the issue tracker gives a good idea of what CommOps helps with. - -Look for the https://pagure.io/fedora-commops/issues?status=Open&tags=good+first+issue[good first issue] tag on tickets to find good tasks for beginners. - -Does something look interesting? -Leave a comment if you have a question or want to work on something. -Also check and see if the ticket has an owner. -If there is no owner, you can take lead on it! -If there is, ask if the owner needs help or if they are still working on the ticket. - -This provides you an opportunity to receive mentorship and get help to start a new task. - - -[[meetings]] -== Join our meetings - -CommOps has an IRC team meeting each week. -In our meeting, the team discusses items on our agenda and checks in on any progress of current tasks. -Tickets selected for meetings are updated after the meeting with new information. - -The meetings are open to the public and anyone can join. -See when our meetings are in your time zone on the https://apps.fedoraproject.org/calendar/commops/[CommOps meeting calendar]. -Feel free to attend and introduce yourself during roll call! diff --git a/docs/images/commops-logo.png b/docs/images/commops-logo.png deleted file mode 100644 index c868704..0000000 Binary files a/docs/images/commops-logo.png and /dev/null differ diff --git a/docs/modules/ROOT/assets/images/commops-logo.png b/docs/modules/ROOT/assets/images/commops-logo.png new file mode 100644 index 0000000..c868704 Binary files /dev/null and b/docs/modules/ROOT/assets/images/commops-logo.png differ diff --git a/docs/modules/ROOT/nav.adoc b/docs/modules/ROOT/nav.adoc new file mode 100644 index 0000000..7bfb67f --- /dev/null +++ b/docs/modules/ROOT/nav.adoc @@ -0,0 +1,4 @@ +* How to contribute +** xref:contribute/join.adoc[Join CommOps] +** xref:contribute/first-steps.adoc[Make first steps] +* xref:community-blog.adoc[Community Blog] diff --git a/docs/modules/ROOT/pages/_partials/attributes.adoc b/docs/modules/ROOT/pages/_partials/attributes.adoc new file mode 100644 index 0000000..d4a4d33 --- /dev/null +++ b/docs/modules/ROOT/pages/_partials/attributes.adoc @@ -0,0 +1,4 @@ +:COMMBLOG: https://communityblog.fedoraproject.org +:FEDMSG: http://www.fedmsg.com/ +:FWIKI: https://fedoraproject.org/wiki +:YEAR: 2018 diff --git a/docs/modules/ROOT/pages/community-blog.adoc b/docs/modules/ROOT/pages/community-blog.adoc new file mode 100644 index 0000000..0a54a13 --- /dev/null +++ b/docs/modules/ROOT/pages/community-blog.adoc @@ -0,0 +1,104 @@ +include::{partialsdir}/attributes.adoc[] + += Community Blog + +The https://communityblog.fedoraproject.org[Fedora Community Blog] (CommBlog) is a WordPress-based site that delivers news, updates, and calls for help from contributors across Fedora. + +image::https://fedoraproject.org/w/uploads/0/09/Community_Blog_screenshot.png[Community Blog screenshot,90%,90%] + + +[[content]] +== Content + +The Community Blog focuses on updates and information about the Fedora Project community. +Topics vary, but mostly include… + +* News from specific sub-projects +* Updates on new features or changes in Fedora +* Calls for help from other contributors +* Official {FWIKI}/Elections[Fedora Elections] coverage +* Anything related to Fedora _contributor_ community + + +[[magazine-vs-community-blog]] +== Fedora Magazine vs. Community Blog + +What is the difference between the https://fedoramagazine.org[Fedora Magazine] and the Community Blog? +They focus on two different audiences (or types of readers). + +The Fedora Magazine targets everyday Fedora users, Linux enthusiasts, and technology hobbyists. +Fedora contributors are included in these audiences, but they are not the main focus. +The Community Blog is the news hub for Fedora contributors and people working inside of the Fedora community. +The Community Blog specifically focuses on our contributors. + +For example, an article on how to use a new package in Fedora is better for the Magazine. +Any Fedora user may be interested in using the package. +An article that announces a new feature to a Fedora Infrastructure service or an Ambassador event report is better for the Community Blog. +A Fedora user may not be interested, but our contributors have a stronger interest. + +Sometimes there is some overlap between the two. +Think hard about who you are writing for and who you want to read your article. +This should answer the question of where to write your article. +The CommOps and Fedora Magazine teams are happy to answer any doubts or questions if you are unsure. + + +[[write-article]] +== Write an article + +The Community Blog is managed by the CommOps team. +The system administration is managed by {FWIKI}/Infrastructure[Fedora Infrastructure]. +However, we need _your help_ to share the awesome things you and your area of Fedora are working on. + +Articles don't need to be long. +Short snippets are useful too. +If you're not sure how much to write, 300 words is a good target. +If needed, you can always write more. + +See the https://communityblog.fedoraproject.org/writing-community-blog-article/[Writing an article] guide to get started. +This page explains the process for writing and how to get your post published. + + +[[community-blog-theme]] +== Community Blog theme + +The Community Blog WordPress theme is open source. +Find the source code https://pagure.io/communityblog-theme[on Pagure]. +Open a ticket if you find a bug, problem, or something to improve. +Pull requests are also welcome! +Before submitting a pull request, email the CommOps mailing list first and ask for feedback on your planned contribution. + + +[[editors]] +== Editors + +Community Blog editors review article drafts and schedule new posts. +Editors are reachable on the https://lists.fedoraproject.org/admin/lists/commops.lists.fedoraproject.org/[CommOps mailing list]. +The mailing list is the best way to reach an editor. + +Below, you can find a current list of editors: + +.Community Blog editors +|=== +|Name |FAS account |IRC nickname + +|Justin W. Flory (editor-in-chief) +|{FWIKI}/User:Jflory7[jflory7] +|jwf + +|Brian Exelbierd +|{FWIKI}/User:Bex[bex] +|bexelbie + +|Brian Proffitt +|{FWIKI}/User:Bproffit[bproffit] +|bkp + +|Matthew Miller +|{FWIKI}/User:Mattdm[mattdm] +|mattdm + +|Nick Bebout +|{FWIKI}/User:Nb[nb] +|nb + +|=== diff --git a/docs/modules/ROOT/pages/contribute/first-steps.adoc b/docs/modules/ROOT/pages/contribute/first-steps.adoc new file mode 100644 index 0000000..597650b --- /dev/null +++ b/docs/modules/ROOT/pages/contribute/first-steps.adoc @@ -0,0 +1,119 @@ +include::{partialsdir}/attributes.adoc[] + += Make your first steps in Fedora + +Are you new to the Fedora community? +Not sure where to start? +Learn how to make your first steps in the Fedora community by earning these Fedora Badges. + + +[[fedora-badges]] +== What are Fedora Badges? + +Fedora Badges are a fun way to earn virtual badges in the Fedora community. +There are hundreds of badges to earn for different types of activities. +Some badges are for technical tasks while others are for non-technical tasks. +To learn more about Fedora Badges, https://badges.fedoraproject.org/about[read the website] for more info. + +This page lists some of the best Fedora Badges to earn when you're getting started. +You may be able to earn more badges too! +But if you aren't sure where to start, begin with these ones. + + +[[involvement]] +== Involvement + +https://badges.fedoraproject.org/badge/involvement[Involvement] is awarded when you sign the https://fedoraproject.org/wiki/Legal:Fedora_Project_Contributor_Agreement[Fedora Project Contributor Agreement] (FPCA). +To sign the FPCA, do this from the https://admin.fedoraproject.org/accounts/[Fedora Account System] (FAS). + +image::https://badges.fedoraproject.org/pngs/involvement.png[Involvement - Fedora Badges] + + +[[white-rabbit]] +== White Rabbit + +https://badges.fedoraproject.org/badge/white-rabbit[White Rabbit] is awarded when you set your time zone in your Fedora Account System (FAS) account. +Some tools in Fedora will display your time zone or what your current local time is. +This is helpful so others know when you may be around or to find good meeting times. +To set your time zone in FAS, follow these steps: + +. Go to https://admin.fedoraproject.org/accounts/[Fedora Account System] +. Select _Login_ in the top-right corner +. Login with username and password +. Select _My Account_ on menu at the top +. Select _Edit_ on the _Your Fedora Account_ page +. Change the _Time Zone_ field to your current time zone +. Select _Save_ + +This badge is not awarded immediately. You should receive it in a few days of updating your time zone. + +image::https://badges.fedoraproject.org/pngs/fas-white-rabbit.png[White Rabbit - Fedora Badges] + + +[[crypto-badger]] +== Crypto Badger + +https://badges.fedoraproject.org/badge/crypto-badger[Crypto Badger] is awarded when you add an SSH key to your Fedora Account System (FAS) account. +You may or may not have an SSH key already. +If you do, you can add it to your FAS account with these steps: + +. Generate SSH key using `ssh-keygen` +.. If you use defaults, this generates a `~/.ssh/id_rsa` private key file and a `~/.ssh/id_rsa.pub` public key file +. Go to https://admin.fedoraproject.org/accounts/[Fedora Account System] +. Select _Login_ in the top-right corner +. Login with username and password +. Select _My Account_ on menu at the top +. Select _Edit_ on the _Your Fedora Account_ page +. Upload `~/.ssh/id_rsa.pub` public key file you generated in first step +. Select _Save_ + +The badge is awarded once per week, so you may not get the badge immediately. +If it's longer than seven days, ask for help in irc://irc.freenode.org/#fedora-admin[#fedora-admin] on IRC. + +image::https://badges.fedoraproject.org/pngs/fas-crypto-badger.png[Crypto Badger - Fedora Badges] + + +[[crypto-panda]] +== Crypto Panda + +https://badges.fedoraproject.org/badge/crypto-panda[Crypto Panda] is awarded when you add a GPG public key to your Fedora Account System (FAS) account. +You may or may not have a GPG key already. +They are not required. +If you want to generate one, read the https://fedoramagazine.org/gnupg-a-fedora-primer/[GPG series] on the Fedora Magazine. +If you have a GPG public key, upload it FAS with these steps: + +. Go to https://admin.fedoraproject.org/accounts/[Fedora Account System] +. Select _Login_ in the top-right corner +. Login with username and password +. Select _My Account_ on menu at the top +. Select _Edit_ on the _Your Fedora Account_ page +. Add the last 16 characters of your public key fingerprint file (e.g. `39E45FB6014131E4`) to _GPG Key ID_ +. Select _Save_ + +image::https://badges.fedoraproject.org/pngs/fas-crypto-panda.png[Crypto Panda - Fedora Badges] + + +[[baby-badger]] +== Baby Badger + +https://badges.fedoraproject.org/badge/baby-badger[Baby Badger] is awarded when you log into the Fedora Badges website for the first time. +To log into the Fedora Badges site, you need to register in the Fedora Account System (FAS). +After you have an account, https://badges.fedoraproject.org/login[log in] to the Badges application to earn this badge. + +image::https://badges.fedoraproject.org/pngs/baby-badger.png[Baby Badger - Fedora Badges] + + +== Other badges + +The badges listed here are also good badges to earn. +They aren't explained yet, but they will be soon. +If you want to help with this, come say hello in irc://irc.freenode.net/#fedora-commops[#fedora-commops] on Freenode's IRC network. + +* https://badges.fedoraproject.org/badge/bloggin-it!-planet-i[Bloggin' it!] +* https://badges.fedoraproject.org/badge/curious-penguin-ask-fedora-i[Curious Penguin] +* https://badges.fedoraproject.org/badge/junior-tagger-tagger-i[Junior Tagger] +* https://badges.fedoraproject.org/badge/junior-package-tagger-package-tagger-i[Junior Package Tagger] +* https://badges.fedoraproject.org/badge/macaron-cookie-i[Macaron - Cookie I] +* https://badges.fedoraproject.org/badge/mugshot[Mugshot] +* https://badges.fedoraproject.org/badge/origin[Origin] +* https://blog.justinwflory.com/2016/01/gotta-badge-em-all-speak-up/[Speak Up!] diff --git a/docs/modules/ROOT/pages/contribute/join.adoc b/docs/modules/ROOT/pages/contribute/join.adoc new file mode 100644 index 0000000..5349c1e --- /dev/null +++ b/docs/modules/ROOT/pages/contribute/join.adoc @@ -0,0 +1,100 @@ +include::{partialsdir}/attributes.adoc[] + += Join Community Operations + +Become a member of Fedora Community Operations (CommOps) by following these steps. + + +[[fas]] +== Create a FAS account + +Create a {FWIKI}Account_System[Fedora Account System account] and sign the {FWIKI}Legal:Fedora_Project_Contributor_Agreement[Fedora Project Contributor Agreement]. +Do this through the {FWIKI}Infrastructure/AccountSystem[Fedora Account System]. + + +[[mailing-list]] +== Join the mailing list + +Subscribe to the https://lists.fedoraproject.org/admin/lists/commops.lists.fedoraproject.org[Fedora CommOps mailing list] to receive email discussion by the team. +The mailing list receives low to medium volume. + +The mailing list is a key part to how we communicate. +News, updates, and discussion are shared through our mailing list. + + +[[introduction]] +== Send a self-introduction + +Say hello and introduce yourself to the team! +Send a self-introduction to the mailing list and tell us a little about yourself (click mailto:commops@lists.fedoraproject.org[here, Self-Introduction - your name here] to send an intro). + +Not sure what to say? +Answer some of these questions to get started: + +* Why are you interested in contributing to Fedora? +* Why are you interested in contributing to CommOps? +* If you're involved with other things in Fedora, what are/were you working on? +* Do you have any experience in open source or online communities? If so, what? +* What parts of CommOps were interesting to you? +* Do you have any questions for us? How can we help _you_ get started? + + +[[community-blog]] +== Register on Community Blog + +The Fedora https://communityblog.fedoraproject.org[Community Blog] is a key component to CommOps. +An account gives permissions to view article drafts and previews before they are published. +If you ever write an article, you will need an account. +To register, log in at the https://communityblog.fedoraproject.org/wp-login.php[login page] with your Fedora Account System (FAS) credentials. + +Need more help logging in? +Read the https://communityblog.fedoraproject.org/how-to-log-in/[help page] for more detailed instructions. + + +[[irc]] +== Join our IRC channel + +Fedora uses the https://freenode.net[Freenode IRC network] for instant messaging and communication. +Short discussions and planning happen in our IRC channel. +Our weekly team meetings also take place on IRC. + +Never used IRC before? +See the https://fedoramagazine.org/beginners-guide-irc/[Beginner's Guide to IRC] on the Fedora Magazine. +If you want to stay connected even when you are not online, consider https://opensource.com/article/17/5/introducing-riot-IRC[using Riot] as your IRC client. + + +[[first-steps]] +== Make your first steps + +See link:first-steps.html[Make your first steps in Fedora] for more info. + + +[[start-task]] +== Start on a task + +CommOps uses https://pagure.io/fedora-commops[this Pagure repository] to track our tasks and what we're working on. +Tasks, problems, and goals are filed as tickets in the https://pagure.io/fedora-commops/issues[issue tracker]. +There are a lot of tickets, but we're not working on everything at once. +Scrolling through the issue tracker gives a good idea of what CommOps helps with. + +Look for the https://pagure.io/fedora-commops/issues?status=Open&tags=good+first+issue[good first issue] tag on tickets to find good tasks for beginners. + +Does something look interesting? +Leave a comment if you have a question or want to work on something. +Also check and see if the ticket has an owner. +If there is no owner, you can take lead on it! +If there is, ask if the owner needs help or if they are still working on the ticket. + +This provides you an opportunity to receive mentorship and get help to start a new task. + + +[[meetings]] +== Join our meetings + +CommOps has an IRC team meeting each week. +In our meeting, the team discusses items on our agenda and checks in on any progress of current tasks. +Tickets selected for meetings are updated after the meeting with new information. + +The meetings are open to the public and anyone can join. +See when our meetings are in your time zone on the https://apps.fedoraproject.org/calendar/commops/[CommOps meeting calendar]. +Feel free to attend and introduce yourself during roll call! diff --git a/docs/modules/ROOT/pages/index.adoc b/docs/modules/ROOT/pages/index.adoc new file mode 100644 index 0000000..b8fd796 --- /dev/null +++ b/docs/modules/ROOT/pages/index.adoc @@ -0,0 +1,262 @@ +include::{partialsdir}/attributes.adoc[] + += Fedora Community Operations (CommOps) + +image::commops-logo.png[CommOps logo] + +Community Operations (CommOps) provides tools, resources, and utilities for different sub-projects of Fedora to improve effective communication. +The following areas are examples of where CommOps focuses: + +* Work closely with https://docs.fedoraproject.org/fedora-project/council/fcaic.html[Fedora Community Action and Impact Coordinator] to prioritize key focus areas +* Assist https://docs.fedoraproject.org/fedora-project/council/fpgm.html[Fedora Program Manager] with release preparations +* Support preparation and execution of Fedora Elections +* Work with sub-projects and teams to improve on-boarding methods and practices +* Use metrics and data to improve understanding of Fedora community +** Support development of metrics tooling +* And more (detailed fully below) + + +[[find-commops]] +== Where to find CommOps + +The CommOps team uses a mailing list and https://en.wikipedia.org/wiki/Internet_Relay_Chat[IRC] channel to communicate. +The mailing list is best for _asynchronous_ communication. +The CommOps IRC channel on the https://freenode.net/[Freenode IRC network] is best for _synchronous_ communication. + +Mailing list:: commops [at] lists [dot] fedoraproject [dot] org (https://lists.fedoraproject.org/admin/lists/commops.lists.fedoraproject.org/[subscribe here]) +IRC channel:: irc://irc.freenode.net/#fedora-commops[#fedora-commops] on Freenode + +First time using IRC? +Look into https://opensource.com/article/17/5/introducing-riot-IRC[Riot], a free and open source client that connects to various IRC networks. +Riot also keeps you connected to IRC even when you're not connected to the Internet. + + +[[workflow]] +== Workflow + +CommOps uses a ticket-based workflow to keep track of our work. +The repository with tickets is on https://pagure.io/[Pagure]. +The repository is named https://pagure.io/fedora-commops[fedora-commops]. +Tickets are found under the _https://pagure.io/fedora-commops/issues[Issues]_ menu. + +Various tags are listed at the top of the _Issues_ page. +For good beginner tasks, look at the _https://pagure.io/fedora-commops/issues?status=Open&tags=good+first+issue[good first issue]_ tag. + + +[[meetings]] +== Meetings + +CommOps holda a meeting once a week on IRC to check in our tasks and plan ahead. +Check the https://apps.fedoraproject.org/calendar/commops/[CommOps calendar] for the current date and time. + +Past meeting minutes are recorded in [https://meetbot.fedoraproject.org/teams/commops/[Meetbot]. + + +[[meeting-format]] +=== Meeting format + +The upcoming meeting agenda is found on the Fedora https://infinote.fedoraproject.org/cgit/infinote/tree/meeting-templates/fedora-commops-meeting-next[Infinote server]. +Meetings follow an agenda split into five parts: + +. **Roll call**: Waiting for others to arrive, opportunity to introduce yourself and ask general questions +. **Announcements**: Any news or updates to share +. **Action items from last meeting**: Follow-up on `#action` items from previous meeting +. **Tickets**: Discussion and follow-up on tickets https://pagure.io/fedora-commops/issues?status=Open&tags=meeting[marked for meetings] +. **Open floor**: General discussion or comments + + +[[what-commops-does]] +== What CommOps does + +CommOps focuses on a few key areas, both technical and non-technical. + +=== Culture + +The Fedora Project builds and ships a Linux distribution, but there is a community behind the technical work and planning. +In Fedora, we have the https://docs.fedoraproject.org/fedora-project/project/fedora-overview.html#what-is-fedora-all-about[Four Foundations] to represent our community culture. +The Fedora community represents a set of ethics and values to how we build our distribution. +These ethics and values create the culture of the Fedora Project. +When working in the community, mindfulness of this culture enriches and supports the different sub-communities inside of Fedora. + +CommOps builds community infrastructure of support and acceptance for the culture of the Fedora community. +The _Friends_ foundation is there for a reason. +The community infrastructure CommOps assists with, builds on top of the _Friends_ foundation. +People enjoy contributing in a community where they feel valued for who they are and what they bring to the community, not just that they are useful. +CommOps supports this through some of our tasks relating to culture. + +Examples of things we help with to build and support the culture of the Fedora community: + +* https://pagure.io/fedora-commops/issue/17[Interviewing Fedora community members] +* https://pagure.io/fedora-commops/issue/110[Fedora Appreciation Week] +* https://pagure.io/fedora-commops/issue/138[Top Badgers of the Year] + +=== Elections + +There are a few elected bodies in Fedora, such as the https://docs.fedoraproject.org/fedora-project/council/charter.html[Fedora Council], https://docs.fedoraproject.org/fedora-project/subprojects/mindshare/mindshare.html[Mindshare Committee], and https://docs.fedoraproject.org/fedora-project/subprojects/fesco/fesco.html[FESCo]. +Every new Fedora release, the community holds elections for these bodies. +Each election takes "wrangling" work to pull together. +This includes calling for nominations, conducting interviews with candidates, and raising awareness during the voting window. + +CommOps supports the https://docs.fedoraproject.org/fedora-project/council/fpgm.html[Fedora Program Manager] in organizing and executing elections. +These responsibilities consist of curating content on the https://docs.fedoraproject.org/fedora-project/subprojects/mindshare/docs/community-blog.html[Community Blog], creating interview templates, and outreach to grow awareness. + +Examples of things we do to help organize and execute Fedora elections: + +* https://pagure.io/fedora-commops/issue/7[Fedora Elections and CommOps Coverage] +* https://pagure.io/fedora-commops/issue/19[Improve automation of Elections communication] +* https://pagure.io/fedora-commops/issue/93[Better explain roles of Council and FESCo] +* https://pagure.io/fedora-commops/issue/107[Automated Fedocal reminders to send to all mailing lists for upcoming Elections] +* https://pagure.io/fedora-commops/issue/112[Create August 2017 election interview templates for candidates] + +=== Storytelling + +Messaging and storytelling bring the "story" of the Fedora Project to both the contributor and user community. +Every year, a https://mattdm.org/fedora/2018devconf/DevConfcz2018Charts.pdf[couple thousand people] work on Fedora. +Messaging is a way of sharing our story in multiple formats. +We bring the message of what we _as a community_ are doing out to others. +Others include our contributors working in other areas of the project and users interested in what the Fedora community produces. +When we share our story with each other, we are aware of other work happening in the Fedora community. +Communicating the story of Fedora keeps our contributors moving together towards our goals. +Good messaging helps our users better understand the goals and objectives of Fedora and how we plan to get there. + +CommOps supports messaging by working with other sub-projects and teams to tell their own stories. +CommOps provides the help to "dig out" the stories and the tools to share them widely. +This includes tasks like interviews, sharing activities by Fedora contributors, running retrospectives, and more. +These tasks keep contributors in sync with what we're working on. +They are direct actions to keep everyone on the same page. + +Examples of things we do to support messaging and tell stories: + +* https://pagure.io/fedora-commops/issue/4[Interviews about goals for team sprints] +* https://pagure.io/fedora-commops/issue/66[Call for nominations of a Working Group] +* https://pagure.io/fedora-commops/issue/98[Covering upcoming talks by Fedora contributors at a major conference] +* https://pagure.io/fedora-commops/issue/100["Help Wanted" columns] +* https://pagure.io/fedora-commops/issue/129[Year in Review blog series] + +=== Metrics + +CommOps measures community health and engagement through extensive metrics and data available about Fedora. +{FEDMSG}[fedmsg] is a messaging bus with data about activity in the Fedora community. +The data includes activity like git commits, new blog posts, wiki page edits, software build status, IRC meeting notes, and more. +CommOps works with fedmsg to tell stories about our community, but specific types of stories. +The stories told with metrics are helpful to understand what we may be doing right or wrong. +It gives us a data-driven way to understand our huge community. + +CommOps directly supports metrics in Fedora through development time and data-driven storytelling. +Some members develop existing software or build new scripts to analyze data. +Others use the data to write reports or studies on how the Fedora community works. +Ultimately, metrics are a largely technical area that CommOps helps with. + +Examples of metrics work and data-driven storytelling we do: + +* https://pagure.io/fedora-commops/issue/32[Analyzing Fedora contributor activity] +* https://pagure.io/fedora-commops/issue/88[Fedora release party metrics] +* https://pagure.io/fedora-commops/issue/109[Understanding contributor activity by geographic location] + +=== Supporting sub-projects + +CommOps assists other sub-projects and teams in following best practices and communicating effectively. +We work with other teams to help them on-board new contributors into their teams. +This includes creating Fedora Badge requests, reviewing guidelines, and making Fedora services and tools more understandable. + +Examples of sub-project support and on-boarding work: + +* https://pagure.io/fedora-commops/issue/62[Wiki gardening of Fedora Join] +* https://pagure.io/fedora-commops/issue/69[Fedora Modularity onboarding] +* https://pagure.io/fedora-commops/issue/76[Update Onboarding Calendar for GSoC 2016] +* https://pagure.io/fedora-commops/issue/95[Onboarding: DotNet SIG] + + +[[join-commops]] +== Join CommOps + +CommOps always welcomes new contributors. +Whether you are a newcomer or an old-timer, there are ways to get involved. +Join CommOps to: + +* Build your portfolio working on real-world projects +* Gain holistic view of the Fedora Project and learn how the pieces fit together +* Work directly with Fedora Project leadership +* Work with teammates from around the world +* Aspire to the greatness of a superhero + +.Join the CommOps team today +[link="contribute/join.html"] +image::https://fedoraproject.org/w/uploads/7/72/Happypanda.png[Happy Panda,100] + + +[[toolbox]] +== Toolbox + +The CommOps toolbox explains tools and services often used by the team. +The tools are organized by their purpose and use. + +[[communication-tools]] +=== Communication tools + +These tools are for communicating to others in the Fedora community. + +https://docs.fedoraproject.org/fedora-project/subprojects/mindshare/docs/community-blog.html[Community Blog] (CommBlog) - https://communityblog.fedoraproject.org/[communityblog.fedoraproject.org]:: +Centralized blog for contributors to publish news, activities, or calls for help to the rest of the project. +Useful place for getting an inside scoop on "what's happening" in Fedora. + +https://infrastructure.fedoraproject.org/cgit/ansible.git/tree/roles/fedmsg/irc/templates/ircbot.py?id=0279643#n77[ircbot.py]:: +Python script for fedmsg notifications in irc://chat.freenode.net/#fedora-commops[#fedora-commops]. +Relays real-time updates and changes relating to CommOps in our IRC channel. + + +[[metrics-tools]] +=== Metrics tools + +These tools access and use the Fedora messaging bus, **fedmsg**. +With these tools, you can generate metrics, analyze data, and interact with fedmsg. + +https://github.com/fedora-infra/fedora-stats-tools/blob/develop/annualgrepper.py[annualgrepper]:: +Gather raw fedmsg totals on https://fedora-fedmsg.readthedocs.io/en/latest/topics.html[topics] in the last year + +https://pagure.io/cardsite[cardsite]:: +Live fedmsg tracker inspired by http://emojitracker.com/[emojitracker] + +https://github.com/fedora-infra/fedora-stats-tools/blob/develop/daily-briefing.py[daily-briefing.py]:: +Template that takes lists of URLs, generates summary reports of daily Meetbot links and action items (manual now, can be automated!) + +https://apps.fedoraproject.org/datagrepper/[datagrepper]:: +The powerhouse tool to interact with fedmsg. +Using HTTP GET requests, query for historical data from fedmsg. +Examples include events by username, by package, by message source, and more. + +http://fedmsg.com[fedmsg]:: +Python package and API that hooks into various Fedora Infrastructure services. +Sends messages from each service to a unified message bus in real-time. +fedmsg drives and powers all the metrics tools we have. + +https://github.com/fedora-infra/fedora-stats-tools[fedora-stats-tools]:: +Multiple statistics tools, data, and slide decks for fedmsg metrics, Year in Reviews, and Fedora event metrics + +https://pagure.io/feedcloud[feedcloud]:: +Takes an RSS feed or list of RSS feeds and generates fancy word-clouds for them + +https://pagure.io/gsoc-stats[gsoc-stats]:: +Python tool to generate statistics about Fedora contributors + +https://github.com/fedora-infra/fedora-stats-tools/blob/develop/longtail-analyze.py[longtail-analyze.py], https://github.com/fedora-infra/fedora-stats-tools/blob/develop/longtail-gather.py[longtail-gather.py]:: +Measure the ratio of activity per user to approximate burnout + +https://github.com/fedora-infra/fedora-stats-tools/blob/develop/meetbot-fedmsg-activity.py[meetbot-fedmsg-activity.py]:: +Jinja2 template that creates links to Meetbot activities + +https://github.com/fedora-infra/statscache[statscache]:: +Daemon to build and keep highly-available fedmsg statistics + +https://pagure.io/wordcloudbot[wordcloudbot]:: +Create pretty wordclouds from IRC meeting logs + + +[[other]] +=== Other + +Other tools that don't belong elsewhere fit under here. + +https://github.com/OSAS/rh-events[OSAS/rh-events]:: +Data for Red Hat conference and talk attendance. +Useful for plotting events in our own calendar and keeping track of what's happening in the open source community. diff --git a/index-main.html b/index-main.html deleted file mode 100644 index 3af973e..0000000 --- a/index-main.html +++ /dev/null @@ -1,138 +0,0 @@ - - - - - - - - - Fedora Information Website - - - - - - - - - - - -
-
- -
-
-
-

Fedora Information Site

-

Test Build.

-
-
-
Fedora Information
- -
-
-
-
-
-
- - -
-
-
- -
-
-
-
- - -

© 2017 Red Hat, Inc. and others. Please send any comments or corrections to the websites team

-
-
-
- -
-
-
- - - - - - diff --git a/preview.sh b/preview.sh new file mode 100755 index 0000000..acab783 --- /dev/null +++ b/preview.sh @@ -0,0 +1,18 @@ +#!/bin/sh + +if [ "$(uname)" == "Darwin" ]; then + # Running on macOS. + # Let's assume that the user has the Docker CE installed + # which doesn't require a root password. + echo "The preview will be available at http://localhost:8080/" + docker run --rm -v $(pwd)/public:/usr/share/nginx/html:ro -p 8080:80 nginx + +elif [ "$(expr substr $(uname -s) 1 5)" == "Linux" ]; then + # Running on Linux. + # Let's assume that it's running the Docker deamon + # which requires root. + echo "" + echo "This build script is using Docker to run the build in an isolated environment. You might be asked for a root password in order to start it." + echo "The preview will be available at http://localhost:8080/" + sudo docker run --rm -v $(pwd)/public:/usr/share/nginx/html:ro -p 8080:80 nginx +fi diff --git a/site.yml b/site.yml new file mode 100644 index 0000000..997c4ea --- /dev/null +++ b/site.yml @@ -0,0 +1,21 @@ +site: + title: Local Preview + start_page: commops::index +content: + sources: + - url: . + branches: HEAD + start_path: docs +ui: + bundle: + url: https://asamalik.fedorapeople.org/ui-bundle.zip + snapshot: true + default_layout: with_menu +output: + clean: true + dir: ./public + destinations: + - provider: archive +runtime: + pull: true + cache_dir: ./cache