This is an automated email from the git hooks/post-receive script.
bex pushed a change to branch master in repository fedora-budget.
from 3b5cb63 NA LFNW booth new d8df206 Initial docs commit - uses a deploy key new ab360e0 Transactions for EMEA and NA
The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference.
Summary of changes: .gitignore | 9 + FY15/README.adoc | 4 + FY16/README.adoc | 4 + FY17/README.adoc | 49 ++ FY17/apac.adoc | 13 + FY17/d-i.adoc | 13 + FY17/emea.adoc | 53 ++ FY17/events.adoc | 32 + FY17/fads.adoc | 23 + FY17/fedora.ledger | 4 - FY17/gen_reports | 77 ++ FY17/latam.adoc | 13 + FY17/{ => ledger}/apac.ldg | 0 FY17/{ => ledger}/council.ldg | 0 FY17/{ => ledger}/emea.ldg | 0 FY17/{ => ledger}/fad.ldg | 0 FY17/ledger/fedora.ledger | 2 + FY17/{ => ledger}/flock.ldg | 0 FY17/{ => ledger}/fudcon-apac.ldg | 0 FY17/{ => ledger}/fudcon-latam.ldg | 0 FY17/{ => ledger}/latam.ldg | 0 FY17/{ => ledger}/na.ldg | 0 {common => FY17/ledger}/validator.ledger | 0 FY17/na.adoc | 13 + FY17/overall.adoc | 13 + FY17/people.adoc | 46 ++ FY18/README.adoc | 49 ++ FY18/apac.adoc | 54 ++ FY18/d-i.adoc | 13 + FY18/emea.adoc | 53 ++ FY18/emea.ldg | 4 - FY18/events.adoc | 32 + FY18/fads.adoc | 12 + FY18/fedora.ledger | 4 - FY18/gen_reports | 96 +++ FY18/latam.adoc | 54 ++ FY18/{ => ledger}/apac.ldg | 0 FY18/{ => ledger}/council.ldg | 0 FY18/ledger/emea.ldg | 15 + FY18/{ => ledger}/fad.ldg | 4 +- FY18/ledger/fedora.ledger | 2 + FY18/{ => ledger}/latam.ldg | 0 FY18/ledger/na.ldg | 33 + FY18/{ => ledger}/temporary-budget.txt | 0 {common => FY18/ledger}/validator.ledger | 0 FY18/na.adoc | 54 ++ FY18/na.ldg | 10 - FY18/overall.adoc | 13 + FY18/people.adoc | 46 ++ README.md | 20 +- _builder/budget2tsv | 12 + _builder/jenkins_builder | 44 + _builder/web-deploy_rsa | 30 + _distro_map.yml | 12 + _images/favicon.ico | Bin 0 -> 5430 bytes _images/favicon32x32.png | Bin 0 -> 1146 bytes _images/fedora_docs_logo.png | Bin 0 -> 11667 bytes _images/fedora_docs_logo.svg | 153 ++++ _images/redhat-logo.png | Bin 0 -> 3024 bytes .../apac/apac.txt => _javascripts/.gitkeep | 0 _javascripts/bootstrap-offcanvas.js | 6 + _stylesheets/app.css | 916 +++++++++++++++++++++ _stylesheets/asciibinder.css | 568 +++++++++++++ _templates/_css.html.erb | 4 + _templates/_footer.html.erb | 88 ++ _templates/_nav.html.erb | 31 + _templates/page.html.erb | 90 ++ _topic_map.yml | 92 +++ common/cc-report.sh | 7 - common/notes.txt | 1 - docs/faq_budgeting.adoc | 89 ++ docs/faq_entries.adoc | 111 +++ docs/faq_general.adoc | 86 ++ docs/reimbursement.adoc | 26 + index.adoc | 10 + 75 files changed, 3275 insertions(+), 37 deletions(-) create mode 100644 FY15/README.adoc create mode 100644 FY16/README.adoc create mode 100644 FY17/README.adoc create mode 100644 FY17/apac.adoc create mode 100644 FY17/d-i.adoc create mode 100644 FY17/emea.adoc create mode 100644 FY17/events.adoc create mode 100644 FY17/fads.adoc delete mode 100644 FY17/fedora.ledger create mode 100755 FY17/gen_reports create mode 100644 FY17/latam.adoc rename FY17/{ => ledger}/apac.ldg (100%) rename FY17/{ => ledger}/council.ldg (100%) rename FY17/{ => ledger}/emea.ldg (100%) rename FY17/{ => ledger}/fad.ldg (100%) create mode 100644 FY17/ledger/fedora.ledger rename FY17/{ => ledger}/flock.ldg (100%) rename FY17/{ => ledger}/fudcon-apac.ldg (100%) rename FY17/{ => ledger}/fudcon-latam.ldg (100%) rename FY17/{ => ledger}/latam.ldg (100%) rename FY17/{ => ledger}/na.ldg (100%) copy {common => FY17/ledger}/validator.ledger (100%) create mode 100644 FY17/na.adoc create mode 100644 FY17/overall.adoc create mode 100644 FY17/people.adoc create mode 100644 FY18/README.adoc create mode 100644 FY18/apac.adoc create mode 100644 FY18/d-i.adoc create mode 100644 FY18/emea.adoc delete mode 100644 FY18/emea.ldg create mode 100644 FY18/events.adoc create mode 100644 FY18/fads.adoc delete mode 100644 FY18/fedora.ledger create mode 100755 FY18/gen_reports create mode 100644 FY18/latam.adoc rename FY18/{ => ledger}/apac.ldg (100%) rename FY18/{ => ledger}/council.ldg (100%) create mode 100644 FY18/ledger/emea.ldg rename FY18/{ => ledger}/fad.ldg (74%) create mode 100644 FY18/ledger/fedora.ledger rename FY18/{ => ledger}/latam.ldg (100%) create mode 100644 FY18/ledger/na.ldg rename FY18/{ => ledger}/temporary-budget.txt (100%) rename {common => FY18/ledger}/validator.ledger (100%) create mode 100644 FY18/na.adoc delete mode 100644 FY18/na.ldg create mode 100644 FY18/overall.adoc create mode 100644 FY18/people.adoc create mode 100755 _builder/budget2tsv create mode 100755 _builder/jenkins_builder create mode 100644 _builder/web-deploy_rsa create mode 100644 _distro_map.yml create mode 100644 _images/favicon.ico create mode 100644 _images/favicon32x32.png create mode 100644 _images/fedora_docs_logo.png create mode 100644 _images/fedora_docs_logo.svg create mode 100644 _images/redhat-logo.png copy FY17/archive/proposedannualbudgets/apac/apac.txt => _javascripts/.gitkeep (100%) create mode 100644 _javascripts/bootstrap-offcanvas.js create mode 100644 _stylesheets/app.css create mode 100644 _stylesheets/asciibinder.css create mode 100644 _templates/_css.html.erb create mode 100644 _templates/_footer.html.erb create mode 100644 _templates/_nav.html.erb create mode 100644 _templates/page.html.erb create mode 100644 _topic_map.yml delete mode 100644 common/cc-report.sh delete mode 100644 common/notes.txt create mode 100644 docs/faq_budgeting.adoc create mode 100644 docs/faq_entries.adoc create mode 100644 docs/faq_general.adoc create mode 100644 docs/reimbursement.adoc create mode 100644 index.adoc
This is an automated email from the git hooks/post-receive script.
bex pushed a commit to branch master in repository fedora-budget.
commit d8df206ea87ffb32ea40ac1dd84fc1d178537a0d Author: Brian (bex) Exelbierd bex@pobox.com Date: Tue Jan 10 19:20:31 2017 +0100
Initial docs commit - uses a deploy key --- .gitignore | 9 + FY15/README.adoc | 4 + FY16/README.adoc | 4 + FY17/README.adoc | 49 ++ FY17/apac.adoc | 13 + FY17/d-i.adoc | 13 + FY17/emea.adoc | 53 ++ FY17/events.adoc | 32 ++ FY17/fads.adoc | 23 + FY17/fedora.ledger | 4 - FY17/gen_reports | 77 +++ FY17/latam.adoc | 13 + FY17/{ => ledger}/apac.ldg | 0 FY17/{ => ledger}/council.ldg | 0 FY17/{ => ledger}/emea.ldg | 0 FY17/{ => ledger}/fad.ldg | 0 FY17/ledger/fedora.ledger | 2 + FY17/{ => ledger}/flock.ldg | 0 FY17/{ => ledger}/fudcon-apac.ldg | 0 FY17/{ => ledger}/fudcon-latam.ldg | 0 FY17/{ => ledger}/latam.ldg | 0 FY17/{ => ledger}/na.ldg | 0 {common => FY17/ledger}/validator.ledger | 0 FY17/na.adoc | 13 + FY17/overall.adoc | 13 + FY17/people.adoc | 46 ++ FY18/README.adoc | 49 ++ FY18/apac.adoc | 54 ++ FY18/d-i.adoc | 13 + FY18/emea.adoc | 53 ++ FY18/events.adoc | 32 ++ FY18/fads.adoc | 12 + FY18/fedora.ledger | 4 - FY18/gen_reports | 96 ++++ FY18/latam.adoc | 54 ++ FY18/{ => ledger}/apac.ldg | 0 FY18/{ => ledger}/council.ldg | 0 FY18/{ => ledger}/emea.ldg | 0 FY18/{ => ledger}/fad.ldg | 4 +- FY18/ledger/fedora.ledger | 2 + FY18/{ => ledger}/latam.ldg | 0 FY18/{ => ledger}/na.ldg | 5 + FY18/{ => ledger}/temporary-budget.txt | 0 {common => FY18/ledger}/validator.ledger | 0 FY18/na.adoc | 54 ++ FY18/overall.adoc | 13 + FY18/people.adoc | 46 ++ README.md | 20 +- _builder/budget2tsv | 12 + _builder/jenkins_builder | 44 ++ _builder/web-deploy_rsa | 30 + _distro_map.yml | 12 + _images/favicon.ico | Bin 0 -> 5430 bytes _images/favicon32x32.png | Bin 0 -> 1146 bytes _images/fedora_docs_logo.png | Bin 0 -> 11667 bytes _images/fedora_docs_logo.svg | 153 ++++++ _images/redhat-logo.png | Bin 0 -> 3024 bytes _javascripts/.gitkeep | 0 _javascripts/bootstrap-offcanvas.js | 6 + _stylesheets/app.css | 916 +++++++++++++++++++++++++++++++ _stylesheets/asciibinder.css | 568 +++++++++++++++++++ _templates/_css.html.erb | 4 + _templates/_footer.html.erb | 88 +++ _templates/_nav.html.erb | 31 ++ _templates/page.html.erb | 90 +++ _topic_map.yml | 92 ++++ common/cc-report.sh | 7 - common/notes.txt | 1 - docs/faq_budgeting.adoc | 89 +++ docs/faq_entries.adoc | 111 ++++ docs/faq_general.adoc | 86 +++ docs/reimbursement.adoc | 26 + index.adoc | 10 + 73 files changed, 3232 insertions(+), 23 deletions(-)
diff --git a/.gitignore b/.gitignore index 6978ab3..b0eb68d 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,10 @@ +## AsciiBinder-specific ignores +_preview +_package +*.swp +diag-*.png +diag-*.png.cache + +## Project-specific ignores .~lock.* +FY*/*.csv diff --git a/FY15/README.adoc b/FY15/README.adoc new file mode 100644 index 0000000..b1a5125 --- /dev/null +++ b/FY15/README.adoc @@ -0,0 +1,4 @@ +FY15 Archive Data +================= + +Fiscal Year 2015 is from before the new ledger system was implemented. There are archive files from that year available in the link:https://pagure.io/fedora-budget/blob/master/f/FY15%5BFY 15 Folder] of the link:https://pagure.io/fedora-budget/%5BBudget Pagure Repository]. diff --git a/FY16/README.adoc b/FY16/README.adoc new file mode 100644 index 0000000..03bde23 --- /dev/null +++ b/FY16/README.adoc @@ -0,0 +1,4 @@ +FY16 Archive Data +================= + +Fiscal Year 2016 is from before the new ledger system was implemented. There are archive files from that year available in the link:https://pagure.io/fedora-budget/blob/master/f/FY16%5BFY 16 Folder] of the link:https://pagure.io/fedora-budget/%5BBudget Pagure Repository]. diff --git a/FY17/README.adoc b/FY17/README.adoc new file mode 100644 index 0000000..f744952 --- /dev/null +++ b/FY17/README.adoc @@ -0,0 +1,49 @@ +FY17 Budget Data +================ + +Fiscal Year 2017 was the first year where the new link:http://ledger-cli.org/%5Bledger accounting tool] was used. The conversion occurred near the end of Quarter 3. Data was converted as best as was possible from the existing records. + +Any files from before the new ledger system was implemented, available in the link:https://pagure.io/fedora-budget/blob/master/f/FY17/archive%5Barchive folder] of the link:https://pagure.io/fedora-budget/%5BBudget Pagure Repository]. + +This year has closed and these numbers are as close to final as we will get. + +Personnel +========= + +include::FY17/people.adoc[] + +During FY17, the following people worked on the budget team. + +APAC Region +----------- + +- Treasurer: mailto:{apac_treasurer_email}[{apac_treasurer_name}] +- Logitistican: mailto:{apac_logistician_email}[{apac_logistician_name}] +- Story Teller: mailto:{apac_storyteller_email}[{apac_storyteller_name}] +- Card Holder: mailto:{apac_cc_email}[{apac_cc_name}] + +EMEA Region +----------- + +- Treasurer: mailto:{emea_treasurer_email}[{emea_treasurer_name}] +- Logitistican: mailto:{emea_logistician_email}[{emea_logistician_name}] +- Story Teller: mailto:{emea_storyteller_email}[{emea_storyteller_name}] +- Card Holder: mailto:{emea_cc_email}[{emea_cc_name}] + +LATAM Region +------------ + +- Treasurer: mailto:{latam_treasurer_email}[{latam_treasurer_name}] +- Logitistican: mailto:{latam_logistician_email}[{latam_logistician_name}] +- Story Teller: mailto:{latam_storyteller_email}[{latam_storyteller_name}] +- Card Holder: mailto:{latam_cc_email}[{latam_cc_name}] + +NA Region +--------- + +- Treasurer: mailto:{na_treasurer_email}[{na_treasurer_name}] +- Logitistican: mailto:{na_logistician_email}[{na_logistician_name}] +- Story Teller: mailto:{na_storyteller_email}[{na_storyteller_name}] +- Card Holder: mailto:{na_cc_email}[{na_cc_name}] +- Additional Card Holder: mailto:inode0 <inode0@gmail.com[John Rose] + diff --git a/FY17/apac.adoc b/FY17/apac.adoc new file mode 100644 index 0000000..95077d9 --- /dev/null +++ b/FY17/apac.adoc @@ -0,0 +1,13 @@ +Fedora Ambassadors - Asia Pacific Budget Report +=============================================== + +Budget Report +------------- + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY17/apac.csv[] +|=== + diff --git a/FY17/d-i.adoc b/FY17/d-i.adoc new file mode 100644 index 0000000..21a3de4 --- /dev/null +++ b/FY17/d-i.adoc @@ -0,0 +1,13 @@ +Fedora Diversity & Inclusion Budget Report +========================================== + +Budget Report +------------- + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY17/d-i.csv[] +|=== + diff --git a/FY17/emea.adoc b/FY17/emea.adoc new file mode 100644 index 0000000..ee3d1c4 --- /dev/null +++ b/FY17/emea.adoc @@ -0,0 +1,53 @@ +Fedora Ambassadors - Europe, Middle East and Africa Budget Report +================================================================= + +Budget Report +------------- + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY17/emea.csv[] +|=== + +Q1 Budget Report +---------------- + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY17/emea-q1.csv[] +|=== + +Q2 Budget Report +---------------- + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY17/emea-q2.csv[] +|=== + +Q3 Budget Report +---------------- + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY17/emea-q3.csv[] +|=== + +Q4 Budget Report +---------------- + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY17/emea-q4.csv[] +|=== + diff --git a/FY17/events.adoc b/FY17/events.adoc new file mode 100644 index 0000000..1185c40 --- /dev/null +++ b/FY17/events.adoc @@ -0,0 +1,32 @@ +Fedora Events Budget Report +=========================== + +Flock Budget Report +------------------- + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY17/flock.csv[] +|=== + +FUDCon APAC Budget Report +------------------------- + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY17/fudcon-apac.csv[] +|=== + +FUDCon LATAM Budget Report +-------------------------- + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY17/fudcon-latam.csv[] +|=== diff --git a/FY17/fads.adoc b/FY17/fads.adoc new file mode 100644 index 0000000..f4b3d34 --- /dev/null +++ b/FY17/fads.adoc @@ -0,0 +1,23 @@ +Fedora FADs Budget Report +========================= + +FADs Budget Report +------------------ + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY17/fads.csv[] +|=== + +Diversity FAD Budget Report +--------------------------- + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY17/fads-diversity.csv[] +|=== + diff --git a/FY17/fedora.ledger b/FY17/fedora.ledger deleted file mode 100644 index 8a036fb..0000000 --- a/FY17/fedora.ledger +++ /dev/null @@ -1,4 +0,0 @@ -include ../common/validator.ledger - - -include *.ldg diff --git a/FY17/gen_reports b/FY17/gen_reports new file mode 100755 index 0000000..615ab16 --- /dev/null +++ b/FY17/gen_reports @@ -0,0 +1,77 @@ +#!/bin/bash + +# Clean up reports +rm *.csv + +# Overall Report for Fedora +ledger -f ledger/fedora.ledger budget --depth 1 not '^Annual Budget$' | ../_builder/budget2tsv > overall.csv +if [ ! -s overall.csv ]; then + ledger -f ledger/fedora.ledger budget --depth 1 | ../_builder/budget2tsv > overall.csv +fi + +# Flock +ledger -f ledger/fedora.ledger budget '^Flock' and not '^Flock$' --flat | ../_builder/budget2tsv > flock.csv +if [ ! -s flock.csv ]; then + ledger -f ledger/fedora.ledger budget '^Flock' --flat | ../_builder/budget2tsv > flock.csv +fi + +# FUDCon APAC +ledger -f ledger/fedora.ledger budget '^FUDCon APAC' and not '^FUDCon APAC$' --flat | ../_builder/budget2tsv > fudcon-apac.csv +if [ ! -s fudcon-apac.csv ]; then + ledger -f ledger/fedora.ledger budget '^FUDCon APAC' --flat | ../_builder/budget2tsv > fudcon-apac.csv +fi + +# FUDCon LATAM +ledger -f ledger/fedora.ledger budget '^FUDCon LATAM' and not '^FUDCon LATAM$' --flat | ../_builder/budget2tsv > fudcon-latam.csv +if [ ! -s fudcon-latam.csv ]; then + ledger -f ledger/fedora.ledger budget '^FUDCon LATAM' --flat | ../_builder/budget2tsv > fudcon-latam.csv +fi + +# FADs +ledger -f ledger/fedora.ledger budget '^FADs' and not '^FADs$' --depth 2 --flat | ../_builder/budget2tsv > fads.csv +if [ ! -s fads.csv ]; then + ledger -f ledger/fedora.ledger budget '^FADs' --flat | ../_builder/budget2tsv > fads.csv +fi + +# Diversity FAD - ideally this will autogenerate in the future +ledger -f ledger/fedora.ledger budget '^FADs:Diversity' --flat | tail --lines=+2 | ../_builder/budget2tsv > fads-diversity.csv + +# Diversity & Inclusion +ledger -f ledger/fedora.ledger budget '^D&I' and not '^D&I$' --flat | ../_builder/budget2tsv > d-i.csv +if [ ! -s d-i.csv ]; then + ledger -f ledger/fedora.ledger budget '^D&I' --flat | ../_builder/budget2tsv > d-i.csv +fi + +# APAC +ledger -f ledger/fedora.ledger budget '^APAC' and not '^APAC$' --flat | ../_builder/budget2tsv > apac.csv +if [ ! -s apac.csv ]; then + ledger -f ledger/fedora.ledger budget '^APAC' --flat | ../_builder/budget2tsv > apac.csv +fi + +# EMEA +ledger -f ledger/fedora.ledger budget '^EMEA' and not '^EMEA$' --flat --depth 2 | ../_builder/budget2tsv > emea.csv +if [ ! -s emea.csv ]; then + ledger -f ledger/fedora.ledger budget '^EMEA' --flat --depth 2 | ../_builder/budget2tsv > emea.csv +fi + +# EMEA Quarters +ledger -f ledger/fedora.ledger budget '^EMEA:Q1$' | ../_builder/budget2tsv | cut -f1-4 | awk 'NF{print $0,"\tUnallocated" ;}' > emea-q1.csv +ledger -f ledger/fedora.ledger budget '^EMEA:Q1' --flat | tail -n +2 | ../_builder/budget2tsv >> emea-q1.csv +ledger -f ledger/fedora.ledger budget '^EMEA:Q2$' | ../_builder/budget2tsv | cut -f1-4 | awk 'NF{print $0,"\tUnallocated" ;}' > emea-q2.csv +ledger -f ledger/fedora.ledger budget '^EMEA:Q2' --flat | tail -n +2 | ../_builder/budget2tsv >> emea-q2.csv +ledger -f ledger/fedora.ledger budget '^EMEA:Q3$' | ../_builder/budget2tsv | cut -f1-4 | awk 'NF{print $0,"\tUnallocated" ;}' > emea-q3.csv +ledger -f ledger/fedora.ledger budget '^EMEA:Q3' --flat | tail -n +2 | ../_builder/budget2tsv >> emea-q3.csv +ledger -f ledger/fedora.ledger budget '^EMEA:Q4$' | ../_builder/budget2tsv | cut -f1-4 | awk 'NF{print $0,"\tUnallocated" ;}' > emea-q4.csv +ledger -f ledger/fedora.ledger budget '^EMEA:Q4' --flat | tail -n +2 | ../_builder/budget2tsv >> emea-q4.csv + +# LATAM +ledger -f ledger/fedora.ledger budget '^LATAM' and not '^LATAM$' --flat | ../_builder/budget2tsv > latam.csv +if [ ! -s latam.csv ]; then + ledger -f ledger/fedora.ledger budget '^LATAM' --flat | ../_builder/budget2tsv > latam.csv +fi + +# NA +ledger -f ledger/fedora.ledger budget '^NA' and not '^NA$' --flat | ../_builder/budget2tsv > na.csv +if [ ! -s na.csv ]; then + ledger -f ledger/fedora.ledger budget '^NA' --flat | ../_builder/budget2tsv > na.csv +fi diff --git a/FY17/latam.adoc b/FY17/latam.adoc new file mode 100644 index 0000000..2aacf24 --- /dev/null +++ b/FY17/latam.adoc @@ -0,0 +1,13 @@ +Fedora Ambassadors - Latin and South America Budget Report +========================================================== + +Budget Report +------------- + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY17/latam.csv[] +|=== + diff --git a/FY17/apac.ldg b/FY17/ledger/apac.ldg similarity index 100% rename from FY17/apac.ldg rename to FY17/ledger/apac.ldg diff --git a/FY17/council.ldg b/FY17/ledger/council.ldg similarity index 100% rename from FY17/council.ldg rename to FY17/ledger/council.ldg diff --git a/FY17/emea.ldg b/FY17/ledger/emea.ldg similarity index 100% rename from FY17/emea.ldg rename to FY17/ledger/emea.ldg diff --git a/FY17/fad.ldg b/FY17/ledger/fad.ldg similarity index 100% rename from FY17/fad.ldg rename to FY17/ledger/fad.ldg diff --git a/FY17/ledger/fedora.ledger b/FY17/ledger/fedora.ledger new file mode 100644 index 0000000..dd10fe9 --- /dev/null +++ b/FY17/ledger/fedora.ledger @@ -0,0 +1,2 @@ +include validator.ledger +include *.ldg diff --git a/FY17/flock.ldg b/FY17/ledger/flock.ldg similarity index 100% rename from FY17/flock.ldg rename to FY17/ledger/flock.ldg diff --git a/FY17/fudcon-apac.ldg b/FY17/ledger/fudcon-apac.ldg similarity index 100% rename from FY17/fudcon-apac.ldg rename to FY17/ledger/fudcon-apac.ldg diff --git a/FY17/fudcon-latam.ldg b/FY17/ledger/fudcon-latam.ldg similarity index 100% rename from FY17/fudcon-latam.ldg rename to FY17/ledger/fudcon-latam.ldg diff --git a/FY17/latam.ldg b/FY17/ledger/latam.ldg similarity index 100% rename from FY17/latam.ldg rename to FY17/ledger/latam.ldg diff --git a/FY17/na.ldg b/FY17/ledger/na.ldg similarity index 100% rename from FY17/na.ldg rename to FY17/ledger/na.ldg diff --git a/common/validator.ledger b/FY17/ledger/validator.ledger similarity index 100% copy from common/validator.ledger copy to FY17/ledger/validator.ledger diff --git a/FY17/na.adoc b/FY17/na.adoc new file mode 100644 index 0000000..fe79a91 --- /dev/null +++ b/FY17/na.adoc @@ -0,0 +1,13 @@ +Fedora Ambassadors - North America Budget Report +================================================ + +Budget Report +------------- + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY17/na.csv[] +|=== + diff --git a/FY17/overall.adoc b/FY17/overall.adoc new file mode 100644 index 0000000..31de651 --- /dev/null +++ b/FY17/overall.adoc @@ -0,0 +1,13 @@ +Fedora Overall Budget Report +============================ + +Budget Report +------------- + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY17/overall.csv[] +|=== + diff --git a/FY17/people.adoc b/FY17/people.adoc new file mode 100644 index 0000000..511ff1c --- /dev/null +++ b/FY17/people.adoc @@ -0,0 +1,46 @@ +// This file defines attributes (entities) for the various people involved in the budget + +// APAC +:apac_treasurer_name: Mohd Izhar Firdaus Ismail (izhar) +:apac_treasurer_email: kagesenshi.87@gmail.com +:apac_logistician_name: PJ Pandit (Pjp) +:apac_logistician_email: pj.pandit@yahoo.co.in +:apac_storyteller_name: Kushal Das (Kushal) +:apac_storyteller_email: kushal@fedoraproject.org +:apac_cc_name: Mohd Izhar Firdaus Ismail (izhar) +:apac_cc_email: kagesenshi.87@gmail.com + +// EMEA +:emea_treasurer_name: Zacharias Mitzelos (mitzie) +:emea_treasurer_email: mitzie@mitzelos.com +:emea_logistician_name: Jiri Eischmann (sesivany) +:emea_logistician_email: eischmann@redhat.com +:emea_storyteller_name: Elijah Hanson (edgates) +:emea_storyteller_email: pkwesihanson@yahoo.com +:emea_cc_name: Joerg Simon +:emea_cc_email: jsimon@fedoraproject.org + + +// LATAM +:latam_treasurer_name: Abdel G. MartÃnez L. +:latam_treasurer_email: abdel.g.martinez.l@gmail.com +:latam_logistician_name: Eduardo J. Echeverria A. +:latam_logistician_email: echevemaster@gmail.com +:latam_storyteller_name: William Moreno Reyes +:latam_storyteller_email: williamjmorenor@gmail.com +:latam_cc_name: Neville Cross +:latam_cc_email: neville@taygon.com + +// NA +:na_treasurer_name: Andrew Ward +:na_treasurer_email: award3535@tds.net +:na_logistician_name: Ben Williams +:na_logistician_email: vaioof@yahoo.com +:na_storyteller_name: Brian Monroe +:na_storyteller_email: briancmonroe@gmail.com +:na_cc_name: Andrew Ward +:na_cc_email: award3535@tds.net + +// Other +:FCAIC_name: Brian Exelbierd +:FCAIC_email: bex@pobox.com diff --git a/FY18/README.adoc b/FY18/README.adoc new file mode 100644 index 0000000..48548fc --- /dev/null +++ b/FY18/README.adoc @@ -0,0 +1,49 @@ +FY18 Budget Data +================ + +The 2017/2018 Fiscal Year runs from 1 March 2017 to 28 February 2018. The Fiscal year has started however a final budget is not yet available. + +On 1 March 2017 the Fedora Council authorized a temporary spending budget for the Ambassador regions. Regions are authorized to spend up to 10% of their FY17 budgets. Additional spending requires approval from the Fedora Council. Details can be found in the link:https://lists.fedoraproject.org/archives/list/ambassadors@lists.fedoraprojec...]. + +This year is in progress and is the current year. + +Personnel +========= + +include::FY18/people.adoc[] + +During FY18, the following people are working on the budget team. + +APAC Region +----------- + +- Treasurer: mailto:{apac_treasurer_email}[{apac_treasurer_name}] +- Logitistican: mailto:{apac_logistician_email}[{apac_logistician_name}] +- Story Teller: mailto:{apac_storyteller_email}[{apac_storyteller_name}] +- Card Holder: mailto:{apac_cc_email}[{apac_cc_name}] + +EMEA Region +----------- + +- Treasurer: mailto:{emea_treasurer_email}[{emea_treasurer_name}] +- Logitistican: mailto:{emea_logistician_email}[{emea_logistician_name}] +- Story Teller: mailto:{emea_storyteller_email}[{emea_storyteller_name}] +- Card Holder: mailto:{emea_cc_email}[{emea_cc_name}] + +LATAM Region +------------ + +- Treasurer: mailto:{latam_treasurer_email}[{latam_treasurer_name}] +- Logitistican: mailto:{latam_logistician_email}[{latam_logistician_name}] +- Story Teller: mailto:{latam_storyteller_email}[{latam_storyteller_name}] +- Card Holder: mailto:{latam_cc_email}[{latam_cc_name}] + +NA Region +--------- + +- Treasurer: mailto:{na_treasurer_email}[{na_treasurer_name}] +- Logitistican: mailto:{na_logistician_email}[{na_logistician_name}] +- Story Teller: mailto:{na_storyteller_email}[{na_storyteller_name}] +- Card Holder: mailto:{na_cc_email}[{na_cc_name}] +- Additional Card Holder: mailto:inode0 <inode0@gmail.com[John Rose] + diff --git a/FY18/apac.adoc b/FY18/apac.adoc new file mode 100644 index 0000000..4e33c80 --- /dev/null +++ b/FY18/apac.adoc @@ -0,0 +1,54 @@ +Fedora Ambassadors - Asia Pacific Budget Report +=============================================== + +Budget Report +------------- + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY18/apac.csv[] +|=== + + +Q1 Budget Report +---------------- + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY18/apac-q1.csv[] +|=== + +Q2 Budget Report +---------------- + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY18/apac-q2.csv[] +|=== + +Q3 Budget Report +---------------- + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY18/apac-q3.csv[] +|=== + +Q4 Budget Report +---------------- + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY18/apac-q4.csv[] +|=== + diff --git a/FY18/d-i.adoc b/FY18/d-i.adoc new file mode 100644 index 0000000..e80e1bc --- /dev/null +++ b/FY18/d-i.adoc @@ -0,0 +1,13 @@ +Fedora Diversity & Inclusion Budget Report +========================================== + +Budget Report +------------- + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY18/d-i.csv[] +|=== + diff --git a/FY18/emea.adoc b/FY18/emea.adoc new file mode 100644 index 0000000..71c367c --- /dev/null +++ b/FY18/emea.adoc @@ -0,0 +1,53 @@ +Fedora Ambassadors - Europe, Middle East and Africa Budget Report +================================================================= + +Budget Report +------------- + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY18/emea.csv[] +|=== + +Q1 Budget Report +---------------- + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY18/emea-q1.csv[] +|=== + +Q2 Budget Report +---------------- + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY18/emea-q2.csv[] +|=== + +Q3 Budget Report +---------------- + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY18/emea-q3.csv[] +|=== + +Q4 Budget Report +---------------- + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY18/emea-q4.csv[] +|=== + diff --git a/FY18/events.adoc b/FY18/events.adoc new file mode 100644 index 0000000..721fec2 --- /dev/null +++ b/FY18/events.adoc @@ -0,0 +1,32 @@ +Fedora Events Budget Report +=========================== + +Flock Budget Report +------------------- + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY18/flock.csv[] +|=== + +FUDCon APAC Budget Report +------------------------- + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY18/fudcon-apac.csv[] +|=== + +FUDCon LATAM Budget Report +-------------------------- + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY18/fudcon-latam.csv[] +|=== diff --git a/FY18/fads.adoc b/FY18/fads.adoc new file mode 100644 index 0000000..cc10559 --- /dev/null +++ b/FY18/fads.adoc @@ -0,0 +1,12 @@ +Fedora FADs Budget Report +========================= + +FADs Budget Report +------------------ + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY18/fads.csv[] +|=== diff --git a/FY18/fedora.ledger b/FY18/fedora.ledger deleted file mode 100644 index 8a036fb..0000000 --- a/FY18/fedora.ledger +++ /dev/null @@ -1,4 +0,0 @@ -include ../common/validator.ledger - - -include *.ldg diff --git a/FY18/gen_reports b/FY18/gen_reports new file mode 100755 index 0000000..5874da8 --- /dev/null +++ b/FY18/gen_reports @@ -0,0 +1,96 @@ +#!/bin/bash + +# Clean up reports +rm *.csv + +# Overall Report for Fedora +ledger -f ledger/fedora.ledger budget --depth 1 not '^Annual Budget$' | ../_builder/budget2tsv > overall.csv +if [ ! -s overall.csv ]; then + ledger -f ledger/fedora.ledger budget --depth 1 | ../_builder/budget2tsv > overall.csv +fi + +# Flock +ledger -f ledger/fedora.ledger budget '^Flock' and not '^Flock$' --flat | ../_builder/budget2tsv > flock.csv +if [ ! -s flock.csv ]; then + ledger -f ledger/fedora.ledger budget '^Flock' --flat | ../_builder/budget2tsv > flock.csv +fi + +# FUDCon APAC +ledger -f ledger/fedora.ledger budget '^FUDCon APAC' and not '^FUDCon APAC$' --flat | ../_builder/budget2tsv > fudcon-apac.csv +if [ ! -s fudcon-apac.csv ]; then + ledger -f ledger/fedora.ledger budget '^FUDCon APAC' --flat | ../_builder/budget2tsv > fudcon-apac.csv +fi + +# FUDCon LATAM +ledger -f ledger/fedora.ledger budget '^FUDCon LATAM' and not '^FUDCon LATAM$' --flat | ../_builder/budget2tsv > fudcon-latam.csv +if [ ! -s fudcon-latam.csv ]; then + ledger -f ledger/fedora.ledger budget '^FUDCon LATAM' --flat | ../_builder/budget2tsv > fudcon-latam.csv +fi + +# FADs +ledger -f ledger/fedora.ledger budget '^FADs' and not '^FADs$' --depth 2 --flat | ../_builder/budget2tsv > fads.csv +if [ ! -s fads.csv ]; then + ledger -f ledger/fedora.ledger budget '^FADs' --flat | ../_builder/budget2tsv > fads.csv +fi + +# Diversity & Inclusion +ledger -f ledger/fedora.ledger budget '^D&I' and not '^D&I$' --flat | ../_builder/budget2tsv > d-i.csv +if [ ! -s d-i.csv ]; then + ledger -f ledger/fedora.ledger budget '^D&I' --flat | ../_builder/budget2tsv > d-i.csv +fi + +# APAC +ledger -f ledger/fedora.ledger budget '^APAC' and not '^APAC$' --flat | ../_builder/budget2tsv > apac.csv +if [ ! -s apac.csv ]; then + ledger -f ledger/fedora.ledger budget '^APAC' --flat | ../_builder/budget2tsv > apac.csv +fi +ledger -f ledger/fedora.ledger budget '^APAC:Q1$' | ../_builder/budget2tsv | cut -f1-4 | awk 'NF{print $0,"\tUnallocated" ;}' > apac-q1.csv +ledger -f ledger/fedora.ledger budget '^APAC:Q1' --flat | tail -n +2 | ../_builder/budget2tsv >> apac-q1.csv +ledger -f ledger/fedora.ledger budget '^APAC:Q2$' | ../_builder/budget2tsv | cut -f1-4 | awk 'NF{print $0,"\tUnallocated" ;}' > apac-q2.csv +ledger -f ledger/fedora.ledger budget '^APAC:Q2' --flat | tail -n +2 | ../_builder/budget2tsv >> apac-q2.csv +ledger -f ledger/fedora.ledger budget '^APAC:Q3$' | ../_builder/budget2tsv | cut -f1-4 | awk 'NF{print $0,"\tUnallocated" ;}' > apac-q3.csv +ledger -f ledger/fedora.ledger budget '^APAC:Q3' --flat | tail -n +2 | ../_builder/budget2tsv >> apac-q3.csv +ledger -f ledger/fedora.ledger budget '^APAC:Q4$' | ../_builder/budget2tsv | cut -f1-4 | awk 'NF{print $0,"\tUnallocated" ;}' > apac-q4.csv +ledger -f ledger/fedora.ledger budget '^APAC:Q4' --flat | tail -n +2 | ../_builder/budget2tsv >> apac-q4.csv + +# EMEA +ledger -f ledger/fedora.ledger budget '^EMEA' and not '^EMEA$' --flat --depth 2 | ../_builder/budget2tsv > emea.csv +if [ ! -s emea.csv ]; then + ledger -f ledger/fedora.ledger budget '^EMEA' --flat --depth 2 | ../_builder/budget2tsv > emea.csv +fi +ledger -f ledger/fedora.ledger budget '^EMEA:Q1$' | ../_builder/budget2tsv | cut -f1-4 | awk 'NF{print $0,"\tUnallocated" ;}' > emea-q1.csv +ledger -f ledger/fedora.ledger budget '^EMEA:Q1' --flat | tail -n +2 | ../_builder/budget2tsv >> emea-q1.csv +ledger -f ledger/fedora.ledger budget '^EMEA:Q2$' | ../_builder/budget2tsv | cut -f1-4 | awk 'NF{print $0,"\tUnallocated" ;}' > emea-q2.csv +ledger -f ledger/fedora.ledger budget '^EMEA:Q2' --flat | tail -n +2 | ../_builder/budget2tsv >> emea-q2.csv +ledger -f ledger/fedora.ledger budget '^EMEA:Q3$' | ../_builder/budget2tsv | cut -f1-4 | awk 'NF{print $0,"\tUnallocated" ;}' > emea-q3.csv +ledger -f ledger/fedora.ledger budget '^EMEA:Q3' --flat | tail -n +2 | ../_builder/budget2tsv >> emea-q3.csv +ledger -f ledger/fedora.ledger budget '^EMEA:Q4$' | ../_builder/budget2tsv | cut -f1-4 | awk 'NF{print $0,"\tUnallocated" ;}' > emea-q4.csv +ledger -f ledger/fedora.ledger budget '^EMEA:Q4' --flat | tail -n +2 | ../_builder/budget2tsv >> emea-q4.csv + +# LATAM +ledger -f ledger/fedora.ledger budget '^LATAM' and not '^LATAM$' --flat | ../_builder/budget2tsv > latam.csv +if [ ! -s latam.csv ]; then + ledger -f ledger/fedora.ledger budget '^LATAM' --flat | ../_builder/budget2tsv > latam.csv +fi +ledger -f ledger/fedora.ledger budget '^LATAM:Q1$' | ../_builder/budget2tsv | cut -f1-4 | awk 'NF{print $0,"\tUnallocated" ;}' > latam-q1.csv +ledger -f ledger/fedora.ledger budget '^LATAM:Q1' --flat | tail -n +2 | ../_builder/budget2tsv >> latam-q1.csv +ledger -f ledger/fedora.ledger budget '^LATAM:Q2$' | ../_builder/budget2tsv | cut -f1-4 | awk 'NF{print $0,"\tUnallocated" ;}' > latam-q2.csv +ledger -f ledger/fedora.ledger budget '^LATAM:Q2' --flat | tail -n +2 | ../_builder/budget2tsv >> latam-q2.csv +ledger -f ledger/fedora.ledger budget '^LATAM:Q3$' | ../_builder/budget2tsv | cut -f1-4 | awk 'NF{print $0,"\tUnallocated" ;}' > latam-q3.csv +ledger -f ledger/fedora.ledger budget '^LATAM:Q3' --flat | tail -n +2 | ../_builder/budget2tsv >> latam-q3.csv +ledger -f ledger/fedora.ledger budget '^LATAM:Q4$' | ../_builder/budget2tsv | cut -f1-4 | awk 'NF{print $0,"\tUnallocated" ;}' > latam-q4.csv +ledger -f ledger/fedora.ledger budget '^LATAM:Q4' --flat | tail -n +2 | ../_builder/budget2tsv >> latam-q4.csv + +# NA +ledger -f ledger/fedora.ledger budget '^NA' and not '^NA$' --flat | ../_builder/budget2tsv > na.csv +if [ ! -s na.csv ]; then + ledger -f ledger/fedora.ledger budget '^NA' --flat | ../_builder/budget2tsv > na.csv +fi +ledger -f ledger/fedora.ledger budget '^NA:Q1$' | ../_builder/budget2tsv | cut -f1-4 | awk 'NF{print $0,"\tUnallocated" ;}' > na-q1.csv +ledger -f ledger/fedora.ledger budget '^NA:Q1' --flat | tail -n +2 | ../_builder/budget2tsv >> na-q1.csv +ledger -f ledger/fedora.ledger budget '^NA:Q2$' | ../_builder/budget2tsv | cut -f1-4 | awk 'NF{print $0,"\tUnallocated" ;}' > na-q2.csv +ledger -f ledger/fedora.ledger budget '^NA:Q2' --flat | tail -n +2 | ../_builder/budget2tsv >> na-q2.csv +ledger -f ledger/fedora.ledger budget '^NA:Q3$' | ../_builder/budget2tsv | cut -f1-4 | awk 'NF{print $0,"\tUnallocated" ;}' > na-q3.csv +ledger -f ledger/fedora.ledger budget '^NA:Q3' --flat | tail -n +2 | ../_builder/budget2tsv >> na-q3.csv +ledger -f ledger/fedora.ledger budget '^NA:Q4$' | ../_builder/budget2tsv | cut -f1-4 | awk 'NF{print $0,"\tUnallocated" ;}' > na-q4.csv +ledger -f ledger/fedora.ledger budget '^NA:Q4' --flat | tail -n +2 | ../_builder/budget2tsv >> na-q4.csv diff --git a/FY18/latam.adoc b/FY18/latam.adoc new file mode 100644 index 0000000..be83bb2 --- /dev/null +++ b/FY18/latam.adoc @@ -0,0 +1,54 @@ +Fedora Ambassadors - Latin and South America Budget Report +========================================================== + +Budget Report +------------- + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY18/latam.csv[] +|=== + + +Q1 Budget Report +---------------- + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY18/latam-q1.csv[] +|=== + +Q2 Budget Report +---------------- + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY18/latam-q2.csv[] +|=== + +Q3 Budget Report +---------------- + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY18/latam-q3.csv[] +|=== + +Q4 Budget Report +---------------- + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY18/latam-q4.csv[] +|=== + diff --git a/FY18/apac.ldg b/FY18/ledger/apac.ldg similarity index 100% rename from FY18/apac.ldg rename to FY18/ledger/apac.ldg diff --git a/FY18/council.ldg b/FY18/ledger/council.ldg similarity index 100% rename from FY18/council.ldg rename to FY18/ledger/council.ldg diff --git a/FY18/emea.ldg b/FY18/ledger/emea.ldg similarity index 100% rename from FY18/emea.ldg rename to FY18/ledger/emea.ldg diff --git a/FY18/fad.ldg b/FY18/ledger/fad.ldg similarity index 74% rename from FY18/fad.ldg rename to FY18/ledger/fad.ldg index d0e6e32..d874391 100644 --- a/FY18/fad.ldg +++ b/FY18/ledger/fad.ldg @@ -1,10 +1,10 @@ ~ every 2 years ; FAD Budgets FADs:Unallocated -$0 - FADs:Council FAD $0 + FADs:Council $0
2016-03-14 * Fedora Council FAD Travel for Robert Mayr ; Payment: IE1805518 Expense:Transportation $1030.56 Expense:Transportation:Agent Fee $38 - FADs:Council FAD -$1068.56 + FADs:Council -$1068.56 diff --git a/FY18/ledger/fedora.ledger b/FY18/ledger/fedora.ledger new file mode 100644 index 0000000..dd10fe9 --- /dev/null +++ b/FY18/ledger/fedora.ledger @@ -0,0 +1,2 @@ +include validator.ledger +include *.ldg diff --git a/FY18/latam.ldg b/FY18/ledger/latam.ldg similarity index 100% rename from FY18/latam.ldg rename to FY18/ledger/latam.ldg diff --git a/FY18/na.ldg b/FY18/ledger/na.ldg similarity index 73% rename from FY18/na.ldg rename to FY18/ledger/na.ldg index 33b3142..687af51 100644 --- a/FY18/na.ldg +++ b/FY18/ledger/na.ldg @@ -3,6 +3,11 @@ NA:Unallocated $2940 NA:Q1 -$2940
+~ every 2 years + ; Budget + NA:Q1 $0 + NA:Q1:LFNW -$0 + 2017-03-15 * LinuxFest NorthWest Booth Fee ; Ticket: https://pagure.io/ambassadors-na/tasks/issue/167 ; Payment: RH Meeting Card - jmadriaga diff --git a/FY18/temporary-budget.txt b/FY18/ledger/temporary-budget.txt similarity index 100% rename from FY18/temporary-budget.txt rename to FY18/ledger/temporary-budget.txt diff --git a/common/validator.ledger b/FY18/ledger/validator.ledger similarity index 100% rename from common/validator.ledger rename to FY18/ledger/validator.ledger diff --git a/FY18/na.adoc b/FY18/na.adoc new file mode 100644 index 0000000..5c4668e --- /dev/null +++ b/FY18/na.adoc @@ -0,0 +1,54 @@ +Fedora Ambassadors - North America Budget Report +================================================ + +Budget Report +------------- + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY18/na.csv[] +|=== + + +Q1 Budget Report +---------------- + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY18/na-q1.csv[] +|=== + +Q2 Budget Report +---------------- + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY18/na-q2.csv[] +|=== + +Q3 Budget Report +---------------- + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY18/na-q3.csv[] +|=== + +Q4 Budget Report +---------------- + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY18/na-q4.csv[] +|=== + diff --git a/FY18/overall.adoc b/FY18/overall.adoc new file mode 100644 index 0000000..baf1fde --- /dev/null +++ b/FY18/overall.adoc @@ -0,0 +1,13 @@ +Fedora Overall Budget Report +============================ + +Budget Report +------------- + +[caption="", format="csv", separator=" ", cols="4*>,1", options="header, footer"] +.All amounts are in US Dollars +|=== +Spent So Far Budget Remaining Budget Percent Spent Budget Category +include::FY18/overall.csv[] +|=== + diff --git a/FY18/people.adoc b/FY18/people.adoc new file mode 100644 index 0000000..511ff1c --- /dev/null +++ b/FY18/people.adoc @@ -0,0 +1,46 @@ +// This file defines attributes (entities) for the various people involved in the budget + +// APAC +:apac_treasurer_name: Mohd Izhar Firdaus Ismail (izhar) +:apac_treasurer_email: kagesenshi.87@gmail.com +:apac_logistician_name: PJ Pandit (Pjp) +:apac_logistician_email: pj.pandit@yahoo.co.in +:apac_storyteller_name: Kushal Das (Kushal) +:apac_storyteller_email: kushal@fedoraproject.org +:apac_cc_name: Mohd Izhar Firdaus Ismail (izhar) +:apac_cc_email: kagesenshi.87@gmail.com + +// EMEA +:emea_treasurer_name: Zacharias Mitzelos (mitzie) +:emea_treasurer_email: mitzie@mitzelos.com +:emea_logistician_name: Jiri Eischmann (sesivany) +:emea_logistician_email: eischmann@redhat.com +:emea_storyteller_name: Elijah Hanson (edgates) +:emea_storyteller_email: pkwesihanson@yahoo.com +:emea_cc_name: Joerg Simon +:emea_cc_email: jsimon@fedoraproject.org + + +// LATAM +:latam_treasurer_name: Abdel G. MartÃnez L. +:latam_treasurer_email: abdel.g.martinez.l@gmail.com +:latam_logistician_name: Eduardo J. Echeverria A. +:latam_logistician_email: echevemaster@gmail.com +:latam_storyteller_name: William Moreno Reyes +:latam_storyteller_email: williamjmorenor@gmail.com +:latam_cc_name: Neville Cross +:latam_cc_email: neville@taygon.com + +// NA +:na_treasurer_name: Andrew Ward +:na_treasurer_email: award3535@tds.net +:na_logistician_name: Ben Williams +:na_logistician_email: vaioof@yahoo.com +:na_storyteller_name: Brian Monroe +:na_storyteller_email: briancmonroe@gmail.com +:na_cc_name: Andrew Ward +:na_cc_email: award3535@tds.net + +// Other +:FCAIC_name: Brian Exelbierd +:FCAIC_email: bex@pobox.com diff --git a/README.md b/README.md index ba1814e..a200a49 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,19 @@ -Fedora Budget -============= -This repository is where budget data and information is shared publicly | http://pagure.io/fedora-budget +# Fedora Budget + +This repository is where budget data and information is shared publicly
The Fedora Fiscal Year is from March 1 to February 28. Fiscal years are numbered by the year in which they **end**. For example, the fiscal year from March 1, 2016 to February 28, 2017 is FY17.
-FY16 and FY15 are historical data from before the adoption of ledger. FY17 contains an archive file from before the adoption of ledger. The ledger files are in FY17. +Ledger data files are stored in `FYXX/ledger/` + +FY16 and FY15 are historical data from before the adoption of ledger. FY17 contains an archive file from before the adoption of ledger. + +The website for the budget is http://budget.fedoraproject.org There you will find the data reported and documentation. This repo contains the files used to build that website (using [AsciiBinder](http://asciibinder.org/)) and the raw transaction data. This site is rebuilt via a webhook (in progress) on Fedora's Jenkins Server. The built site is pushed to the fedora-budget-site repository. + +# License + + + +This work is licensed under a [Creative Commons Attribution 4.0 International License](http://creativecommons.org/licenses/by/4.0/).
-More details are coming. +See [LICENSE.txt](LICENSE.txt). diff --git a/_builder/budget2tsv b/_builder/budget2tsv new file mode 100755 index 0000000..03ce5d4 --- /dev/null +++ b/_builder/budget2tsv @@ -0,0 +1,12 @@ +#!/bin/bash + +# Ignore lines that start with dashes +# Remove leading spaces +# Replace multiple spaces with a single tab +# Replace any remaining single space with a single tab +# Remove the negative sign from values in the first column, this is because expenses are recorded as negative but display better as positive +# Add the word "Total" to the last line, detected as a line ending in a percentage sign +# Remove the negative sign from values in the second column, this is because expenses are budgeted as negative but display better as positive +# Set up any remaining negative values to be -$ not $- +# Remove any Account Nesting present by removing all values before the last : +grep -v '^----' | sed 's/^ +//' | sed 's/ + /\t/g' | sed 's/ $/\t$/g' | sed 's/^$-/$/' | sed 's/%$/%\tTotal/' | sed 's/^([$]*[0-9.,]+\t)$-/\1$/' | sed 's/$-/-$/g' | sed 's/\t[^\t]+:([^:]+)$/\t\1/' diff --git a/_builder/jenkins_builder b/_builder/jenkins_builder new file mode 100755 index 0000000..8acc04d --- /dev/null +++ b/_builder/jenkins_builder @@ -0,0 +1,44 @@ +#!/bin/bash + +# install asciibinder +gem install ascii_binder + +# Generate reports for each FY +cd FY17 +./gen_reports +cd .. +cd FY18 +./gen_reports +cd .. + +# Rebuild site +/home/jenkins/bin/asciibinder package + +cd _builder + +# Ensure the workspace is clean +rm -rf fedora-budget-site + +## Fix perms on the key +chmod 400 web-deploy_rsa + +# Start an SSH Agent and load the key +eval "$(ssh-agent -s)" +sshpass -P assphrase -v -e ssh-add web-deploy_rsa + +# Clone the Publish Repository +GIT_SSH_COMMAND="ssh -o stricthostkeychecking=no" git clone ssh://git@pagure.io/fedora-budget-site.git + +# Push to stg by first cleaning it +cd fedora-budget-site +git checkout stg +git rm -r . + +# This is silly, but we have to keep the budget directory in place in order to get the index page css working +cp -r ../../_package/main/* . +mv budget/* . + +# Commit it +git add . +git commit --amend -m "site update" +git push -f origin stg diff --git a/_builder/web-deploy_rsa b/_builder/web-deploy_rsa new file mode 100644 index 0000000..499dbd1 --- /dev/null +++ b/_builder/web-deploy_rsa @@ -0,0 +1,30 @@ +-----BEGIN RSA PRIVATE KEY----- +Proc-Type: 4,ENCRYPTED +DEK-Info: AES-128-CBC,93A05CB8C1895052E0B832330249EBF1 + +rIPspGxxRF/I1GZH8ev1YLeUtSbmnJycremqNfVzbaqpsY3nrFV0tWcd28CwC2RX +0iSyu/yzHSRoXrbSqanAtjd78bfMDxOaIT21RPSQOrqhz9l5PfmtvbGi70D1PIjH +o4TUJzvwWEMJFBTA0/G+jrfDDtmZPZ0AbUxSQSxx4g3mf9c3DzzadnM7TZRkwg6I +08koKjTXa6qg95S7zMvP1y93u91i4rQOQZUj4nitP78g2pKO9AkqM+144A8Llau1 +GRyr2T06WLFH98CCuOq89QJ7/P+myUcJR9WeOPYNX1R/q1LQ6Q24pTZ7eYRLoAGt +12y2qbBVzfw0nBAEhf3JapSrL7d5dLW7azuoEyK0/qhr8OefYQZg4zgMviXWXDAk +ZNQI4BKxoFCEaHKBmhkZRomAAW50Vywij9PnZ34bq9XMEeGVvR9sfsYh46xERTMz +PeIHR9nDhCMVvfXZRaYnDKhFk3VHWi6tQTGG5UXBVO8PDGc9vA6Umcg3AnQQEgQo +SDiMP7nhWvsZ0LWaq82w1QPHyJHd0r3+VYCLvcHQmavopBWiW/bU2dkiLd+ZMMPh +n/zyoG61a6Eh+kHaRybpUoJRAbIua83X2cPjJUy1+w3UIU/kXCbqng82ZIffZ83c +O1Q3sxzLsYOTG9jS93mv137WZMjKtzwnjmGELR00+twPv34c/okCwasrqLYIVtJ2 +IhsP8yK00AhC+A3hX+vkCWgkKipMz0DztaV8kMqeRxcuvOxQULr012ICDZOiX9Z7 +WRja/TImAMBU2nkrDmMrcAutyIJIzEx/a2+ScYL8+at8TGcGCZFvoDZ/YWQ9v70E +nsfAoB5uyFF4v20ikv24duBzZbgOe/BH6hDNlfr+knGQ7WI3a/TdjcIQa4xaX42G +zjXihiibUf5A2osY0P0WtUmlt1YTY7/cI/sZs1BadTTkkpr2VZPvZ4l9Dh5xjCJ0 +wEpLLWATVjPdn2mhUcBbm4lcCTyz0I98VrMyjKmMP8jMj3p4lVrcx6RbbTeik9Ed +U6s5iSFd/fJasWVIwUn13sHnOyTrhD+bJLB2hBYo7tnEsmTwFsDPuWoQlFobsIOB +/gcm1dZyafAWiU3W26poaHCbTsyMDvDEgPPUnfjPKH9AYeggNhbjwPbEwK09iE0I +aVk0t3OPHpb9GT386Ay+OpmNzH7wvLYszJ3BKWKqWkuYEiSBHgysEFXVUoztqPz8 +JQX9TMaqOSFC9dMNfJ5ANuqw8wLXhO/a6yzF8ST2hNauLRzyfMSpOsJl6JMWW5fx +JrwmSVpjO7qREyLz7llw+qX9PiHlcRuF2HhtViC0+F+zXUBC9q2VzaZly/VOiXbI +jHs0I3NdMc12Ou11Lp0Wc32uQs/Th36C73zb8a82XSND3BqMY4lOdSi56dcsIfXj +iDiHnbKtNbOXdtrO3Nh+rmUHUYIS+KuECqLq3BKX7oCrluK/CaMX6Sed4ms/j/2x +QuQtFYbFfVJT0fnXTK8lMCACn2EGkTqP4b2Pw287AUdh+iYuFlKAsoeY9Rsfx2ny +CsOm4y1W+fD0G46xM9B2L0wGpFdaa+MAor8hlz9Wyj4LKserTqsBUv74xHUPSP0f +-----END RSA PRIVATE KEY----- diff --git a/_distro_map.yml b/_distro_map.yml new file mode 100644 index 0000000..4e720d1 --- /dev/null +++ b/_distro_map.yml @@ -0,0 +1,12 @@ +--- +budget: + name: + author: Fedora Budget budget-devel@fedoraproject.org + site: main + site_name: Home + site_url: http://209.132.179.16:3000/ + actual_site_url: http://budget.fedoraproject.org + branches: + master: + name: Fedora Budget + dir: budget diff --git a/_images/favicon.ico b/_images/favicon.ico new file mode 100644 index 0000000..6dc3f00 Binary files /dev/null and b/_images/favicon.ico differ diff --git a/_images/favicon32x32.png b/_images/favicon32x32.png new file mode 100644 index 0000000..cfc7dee Binary files /dev/null and b/_images/favicon32x32.png differ diff --git a/_images/fedora_docs_logo.png b/_images/fedora_docs_logo.png new file mode 100644 index 0000000..c40add3 Binary files /dev/null and b/_images/fedora_docs_logo.png differ diff --git a/_images/fedora_docs_logo.svg b/_images/fedora_docs_logo.svg new file mode 100644 index 0000000..b4dfa8b --- /dev/null +++ b/_images/fedora_docs_logo.svg @@ -0,0 +1,153 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="60mm" + height="10.58333mm" + viewBox="0 0 60 10.58333" + id="svg2" + version="1.1" + inkscape:version="0.92pre3 r" + sodipodi:docname="fedora_docs_logo.svg" + inkscape:export-filename="/home/rlerch/Source/fedoraplanet-theme/sub-planets/people/images-v2/fedoraplanet_logo.png" + inkscape:export-xdpi="192.00006" + inkscape:export-ydpi="192.00006"> + <defs + id="defs4" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="2" + inkscape:cx="52.101084" + inkscape:cy="-9.2329336" + inkscape:document-units="mm" + inkscape:current-layer="g4624" + showgrid="false" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" + inkscape:window-width="1920" + inkscape:window-height="1136" + inkscape:window-x="0" + inkscape:window-y="27" + inkscape:window-maximized="1" + inkscape:snap-bbox="true" + inkscape:bbox-nodes="true" + inkscape:snap-page="true" + inkscape:snap-global="false" /> + <metadata + id="metadata7"> + rdf:RDF + <cc:Work + rdf:about=""> + dc:formatimage/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + dc:title</dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Layer 1" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-48.767028,-31.073165)"> + <g + id="g4595" + transform="matrix(0.45619308,0,0,0.45619308,26.519847,-9.145808)"> + <g + id="g4624" + transform="matrix(0.92003825,0,0,0.92003825,3.8994993,8.9046582)"> + <text + id="text4225" + y="106.14349" + x="78.137886" + style="font-style:normal;font-weight:normal;font-size:11.86291027px;line-height:14.82863808px;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#555753;fill-opacity:1;stroke:none;stroke-width:0.29657274px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + xml:space="preserve"><tspan + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:14.82863808px;font-family:Montserrat;-inkscape-font-specification:Montserrat;fill:#555753;fill-opacity:1;stroke-width:0.29657274px" + y="106.14349" + x="78.137886" + id="tspan4227" + sodipodi:role="line">DOCUMENTATION</tspan></text> + <g + transform="matrix(0.13021808,0,0,0.13021808,78.615564,87.323483)" + id="g4488"> + <g + transform="translate(-266.55899,-345.34488)" + id="layer1-0"> + <path + inkscape:connector-curvature="0" + d="m 316.7736,397.581 c 0,0 0,0 -20.53889,0 0.3327,4.45245 3.92157,7.77609 8.70715,7.77609 3.38983,0 6.31456,-1.39616 8.64094,-3.65507 0.46553,-0.46679 0.99726,-0.59962 1.59519,-0.59962 0.79781,0 1.59561,0.39932 2.12692,1.06388 0.3327,0.46553 0.53216,0.99726 0.53216,1.52857 0,0.73118 -0.3327,1.52857 -0.93106,2.12734 -2.7919,2.99052 -7.51086,4.98503 -12.16403,4.98503 -8.44149,0 -15.22074,-6.77967 -15.22074,-15.22158 0,-8.44149 6.58022,-15.22074 15.02171,-15.22074 8.37529,0 [...] + id="path11" + style="fill:#3c6eb4" /> + <path + inkscape:connector-curvature="0" + d="m 375.46344,410.80807 c -8.44106,0 -15.22074,-6.77968 -15.22074,-15.22159 0,-8.44149 6.77968,-15.22074 15.22074,-15.22074 8.44234,0 15.22159,6.77925 15.22159,15.22074 -4.2e-4,8.44149 -6.77968,15.22159 -15.22159,15.22159 z m 0,-24.65992 c -5.31688,0 -8.77377,4.25427 -8.77377,9.43833 0,5.18364 3.45689,9.43833 8.77377,9.43833 5.31731,0 8.77504,-4.25469 8.77504,-9.43833 -4.2e-4,-5.18406 -3.45773,-9.43833 -8.77504,-9.43833 z" + id="path13" + style="fill:#3c6eb4" /> + <path + inkscape:connector-curvature="0" + d="m 412.66183,380.36574 c -4.45963,0 -7.40966,1.319 -10.01391,4.62956 l -0.24036,-1.53995 v 0 c -0.20198,-1.60743 -1.57326,-2.84926 -3.23382,-2.84926 -1.80139,0 -3.26206,1.459 -3.26206,3.26081 0,0.003 0,0.005 0,0.008 v 0 0.003 0 23.40712 c 0,1.79464 1.46194,3.25743 3.257,3.25743 1.79465,0 3.25744,-1.46279 3.25744,-3.25743 v -12.56209 c 0,-5.71621 4.98502,-8.57432 10.23613,-8.57432 1.59519,0 2.85726,-1.32953 2.85726,-2.92515 0,-1.59561 -1.26207,-2.85726 -2.85768,-2.85726 z" + id="path15" + style="fill:#3c6eb4" /> + <path + inkscape:connector-curvature="0" + d="m 447.02614,395.58648 c 0.0666,-8.17541 -5.78326,-15.22074 -15.222,-15.22074 -8.44192,0 -15.28779,6.77925 -15.28779,15.22074 0,8.44191 6.64684,15.22159 14.68985,15.22159 4.01434,0 7.62682,-2.06621 9.23846,-4.22518 l 0.79359,2.01434 v 0 c 0.42589,1.13177 1.5176,1.93717 2.7978,1.93717 1.65001,0 2.98756,-1.33671 2.99009,-2.98545 v 0 -7.80687 0 z m -15.222,9.43833 c -5.31773,0 -8.77419,-4.25469 -8.77419,-9.43833 0,-5.18406 3.45604,-9.43833 8.77419,-9.43833 5.3173,0 8.77419, [...] + id="path17" + style="fill:#3c6eb4" /> + <path + inkscape:connector-curvature="0" + d="m 355.01479,368.3337 c 0,-1.7938 -1.46194,-3.18997 -3.25659,-3.18997 -1.79422,0 -3.25743,1.39659 -3.25743,3.18997 v 17.1499 c -1.66097,-3.05756 -5.25026,-5.11786 -9.50495,-5.11786 -8.64052,0 -14.42336,6.51318 -14.42336,15.22074 0,8.70757 5.98229,15.22159 14.42336,15.22159 3.76555,0 7.03057,-1.55429 8.98587,-4.25554 l 0.72317,1.83428 c 0.44782,1.25912 1.64917,2.16024 3.06051,2.16024 1.78621,0 3.24984,-1.45435 3.24984,-3.24815 0,-0.005 0,-0.009 0,-0.0139 v 0 -38.95128 h - [...] + id="path19" + style="fill:#3c6eb4" /> + <path + inkscape:connector-curvature="0" + d="m 287.21553,365.34023 c -0.59414,-0.0877 -1.19966,-0.13198 -1.80097,-0.13198 -6.73118,0 -12.20746,5.4767 -12.20746,12.20788 v 3.8132 h -3.98903 c -1.46237,0 -2.65908,1.19671 -2.65908,2.65781 0,1.46321 1.19671,2.93738 2.65908,2.93738 h 3.98819 v 20.46004 c 0,1.79464 1.46236,3.25743 3.25658,3.25743 1.79507,0 3.25744,-1.46279 3.25744,-3.25743 v -20.46004 h 4.40986 c 1.46194,0 2.65823,-1.47417 2.65823,-2.93738 0,-1.46152 -1.19629,-2.65823 -2.65823,-2.65823 h -4.40733 v -3.8 [...] + id="path21" + style="fill:#3c6eb4" /> + </g> + <path + inkscape:connector-curvature="0" + d="m 181.98344,61.675273 h 2.81558 v 0.37898 h -1.18152 v 2.94935 h -0.45254 v -2.94935 h -1.18152 v -0.37898 m 3.26144,0 h 0.67101 l 0.84937,2.26496 0.85381,-2.26496 h 0.67102 v 3.32833 h -0.43917 v -2.9226 l -0.85828,2.28279 h -0.45255 l -0.85827,-2.28279 v 2.9226 h -0.43694 v -3.32833" + id="path2391" + style="fill:#294172;enable-background:new" /> + </g> + <g + id="g5706" + transform="matrix(0.67241382,0,0,0.67241382,-35.67614,139.78326)"> + <g + id="layer1-9" + transform="matrix(0.77730479,0,0,0.77730479,-218.08613,-345.12)"> + <path + style="fill:#294172" + id="path25" + d="m 483.29893,363.57426 c 0,-10.06788 -8.16108,-18.22938 -18.22897,-18.22938 -10.06282,0 -18.22179,8.15475 -18.22854,18.21631 l -4.2e-4,-4.2e-4 v 14.1071 l 4.2e-4,4.2e-4 c 0.005,2.28463 1.85832,4.13409 4.14463,4.13409 0.007,0 0.0127,-8.4e-4 0.0194,-8.4e-4 l 10e-4,8.4e-4 h 14.07083 v 0 c 10.06409,-0.004 18.22138,-8.16276 18.22138,-18.22812 z" + inkscape:connector-curvature="0" /> + <path + style="fill:#3c6eb4" + id="path29" + d="m 470.42227,349.66577 c -4.72528,0 -8.55576,3.83049 -8.55576,8.55577 0,0.002 0,0.004 0,0.006 v 4.52836 h -4.51444 c -8.5e-4,0 -8.5e-4,0 -0.001,0 -4.72528,0 -8.55576,3.81193 -8.55576,8.53678 0,4.72528 3.83048,8.55577 8.55576,8.55577 4.72486,0 8.55534,-3.83049 8.55534,-8.55577 0,-0.002 0,-0.004 0,-0.006 v -4.54733 h 4.51444 c 8.5e-4,0 0.001,0 0.002,0 4.72486,0 8.55534,-3.79296 8.55534,-8.51781 0,-4.72528 -3.83048,-8.55577 -8.55534,-8.55577 z m -8.55576,21.63483 c -0.004,2 [...] + inkscape:connector-curvature="0" /> + <path + style="fill:#ffffff" + id="path31" + d="m 461.86651,362.7558 v -4.52836 c 0,-0.002 0,-0.004 0,-0.006 0,-4.72528 3.83048,-8.55577 8.55576,-8.55577 0.71685,0 1.22623,0.0805 1.88952,0.25469 0.96774,0.25385 1.75796,1.04618 1.75838,1.96922 4.2e-4,1.11575 -0.80919,1.92621 -2.0194,1.92621 -0.57642,0 -0.78473,-0.11048 -1.62892,-0.11048 -2.49125,0 -4.51149,2.01771 -4.51571,4.50854 v 3.90385 4.2e-4 c 0,0.35252 0.28505,0.63758 0.63757,0.63758 4.3e-4,0 0.001,0 0.002,0 h 2.96521 c 1.10521,0 1.99747,0.88467 1.99832,1.99283 [...] + inkscape:connector-curvature="0" /> + </g> + </g> + </g> + </g> + </g> +</svg> diff --git a/_images/redhat-logo.png b/_images/redhat-logo.png new file mode 100644 index 0000000..99433f5 Binary files /dev/null and b/_images/redhat-logo.png differ diff --git a/_javascripts/.gitkeep b/_javascripts/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/_javascripts/bootstrap-offcanvas.js b/_javascripts/bootstrap-offcanvas.js new file mode 100644 index 0000000..62cf7b6 --- /dev/null +++ b/_javascripts/bootstrap-offcanvas.js @@ -0,0 +1,6 @@ +$(document).ready(function () { + $('[data-toggle="offcanvas"]').click(function () { + $('.sidebar').show(); + $('.row-offcanvas').toggleClass('active'); + }); +}); diff --git a/_stylesheets/app.css b/_stylesheets/app.css new file mode 100644 index 0000000..807ae7e --- /dev/null +++ b/_stylesheets/app.css @@ -0,0 +1,916 @@ +/*bootstrap xs*/ +@media (min-width:530px) and (max-width:767px) +{ + .downloadheader .container + { + background-size:260px; + } + + .downloadheader .container h2 + { + font-size: 20px; + } + +} + +/*bootstrap sm*/ +@media(min-width:768px) +{ +} + +/*bootstrap md*/ +@media(min-width:992px) +{ + .downloadheader .container + { + min-height:200px; + } +} + +/*bootstrap lg*/ +@media(min-width:1200px) +{ +} +body +{ +background-color:#E6E6E6; +} + +#site-content +{ +background-color:white; +} +/* Navbar */ +.navbar { border: 0px none; } + +/* Modal boxes */ +.modal { overflow-y: auto; } +.modal-cloud { width: 550px; } + +/* Custom buttons */ +.btn-cloud { + color: #FFEFD7; + background-image: -webkit-linear-gradient(top, #914EBB 0%, #9E61B7 100%); + background-image: linear-gradient(to bottom, #914EBB 0%, #9E61B7 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff914EBB', endColorstr='#ffA77CC6', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; + border:0 none; +} + +.btn-cloud:hover, +.btn-cloud:focus { + color: #FFFFFF; + background: #7C59BB; +} +.btn-cloud:active { background: #7C6ADD; } + +.btn-checksum { + width: 200px; +} + +.btn-verify { + padding: 10px; +} + +.btn-fix { + width: 200px; +} + +a.btn-lg { + font-size: 22px; + font-weight: 700 !important; + color: #fff; +} + +/* Product Front Pages (General Classes) */ + +.product-testimonial, .header-splash, .product-features +{ + padding-bottom: 36px; + color: white; +} + +.product-definition +{ + background-color:#e7e8e9; + color: #294172; + font-size: large; + font-weight: 500 !important; +} + +.product-testimonial blockquote { + text-align: left; + color: black; + font-size: 180%; + border-left: none; + font-style: normal; +} + +.product-testimonial blockquote cite { + color: #777; + font-weight: 300; +} + +.jumbotron h2 { + margin-top: 10px; +} + +.jumbotron a { + font-weight: 600; +} + +.jumbotron h4 { + font-size: 120%; +} + +.bluebox { + background-color: #3c6eb4; + color: #777; +} + +.bluebox h2 { + color: #fff; + margin-top: 20px; +} + +.bluebox h1 { + color: #f8f8f8; + margin-top: 20px; +} + +.bluebox p { + color: #fff; + text-align: justify; + margin-top: 15px; + padding: 0 50px; + font-size: large; +} + +.darkbluebox { + background-color: #294172; + color: #fff; +} + +.darkbluebox h2 { + color: #fff; + margin-top: 10px; +} + +.darkbluebox p { + color: #fff; + margin-top: 15px; + padding: 0 20px; + font-size: 100%; + text-align: left; +} + +.whitebox { + background-color: #fff; + color: #60605b; +} + +.whitebox h2 { + margin-top: 10px; +} + +.whitebox h4, +.whitebox a { + font-weight: 600; +} + +.whitebox p { + margin-top: 15px; + padding: 0 10px; + font-size: 100%; + text-align: center; +} + +.whitebox .border { + border: 1px solid #ccc; + padding: 10px 0px; + margin-bottom: 10px; + min-height: 250px; +} + +.whitebox .border a { + position: absolute; + top: 220px; + left: 50%; + margin-right: -50%; + transform: translate(-50%, -50%) +} + +.newsbox { + background-color: #ebb05d; + color: #000; + padding: 20px; +} + +.newsbox h2, +.newsbox h3 { + margin-top: 10px; + color: #000; +} + +.whitesupport { + background-color: #fff; + color: #000; +} + +.whitesupport h2, +.whitesupport h3 { + margin-top: 10px; + color: #000; +} + +.whitesupport p { + color: #000; + margin-top: 15px; + padding: 0 20px; + font-size: 100%; + text-align: left; +} + +.widewrapper { + width:100%; + padding: 0; + } + +/* ARM */ + +.white { + background-color: #fff; + color: #000; + margin: 10px 0px 5px; + padding-left: 0px; + padding-right: 0px; + height: 55px; +} + +.white h3 { + color: #60605b; + margin-top: 14px; + font-size: 20px; +} + +.white p { + color: #a7a9ac; + margin-top: 8px; + font-weight: 400; + text-align: right; + padding-left: 0px; + padding-right: 0px; +} + +.white p.download { + font-size: 16px; + margin-top: 7px; + text-align: center; + padding-left: 0px; + padding-right: 0px; +} + +.white a { + text-decoration: none; +} + +.white img { + height: 55px; + width: 61px; + position: absolute; + top: 0; + left: 0; +} + +.sup { + font-size: 60%; + vertical-align: super; +} + +.desktop { + min-height: 560px; +} + +/* */ + +.widewrapper > img { + width:100%; +} + +.header-icon { + margin-right: 12px; +} + +.product-feature { + font-size: large; +} + +.productlogo { + margin-top:5px; +} + +.fedoralogotext { + margin-top: 18px; +} + +.download-lower { + background: #3c6eb4; + text-align: center; + color: white; +} + +.download-lower h3 { + margin-top: 14px; +} + +.download-lower .btn { + color: white; + margin-left: 4em; +} + +.download-lower .btn-visible-xs { + margin: 0px; +} + +/*bottom products selector*/ + +.moretofedora +{ + background-color:white; +} + +.moretofedora .inlinelogo +{ +padding-left:2px; +padding-bottom:10px; +height:50px; +margin-top:4px; +} + +.product-selector { + color: #333; +} + +.bottom-products +{ + background-color:white; +} + +.bottom-products .productname +{ + font-family: "Montserrat"; + text-align: center; +} + + +.product-box { + position: relative; + margin-left: auto; + margin-right: auto; +} +.product-box a { + background-image: url("../images/product-sprite.png"); +} + +.product-box .greyscale, +.product-box .color +{ + left:0; + width: 100%; + height: 100%; + position:absolute; + background-size: 70px 70px; +} + +.product-box .product-server, +.product-box .product-workstation, +.product-box .product-cloud +{ + margin: 20px auto; + display: block; + position:relative; + width:70px; + height: 70px; + +} + +.product-box .product-server .greyscale +{ + background-image:url(../images/smalllogo-grey-server.png); +} + +.product-box .product-server .color +{ + background-image:url(../images/smalllogo-color-server.png); +} + +.product-box .product-workstation .greyscale +{ + background-image:url(../images/smalllogo-grey-workstation.png); +} + +.product-box .product-workstation .color +{ + background-image:url(../images/smalllogo-color-workstation.png); +} + +.product-box .product-cloud .greyscale +{ + background-image:url(../images/smalllogo-grey-cloud.png); +} + +.product-box .product-cloud .color +{ + background-image:url(../images/smalllogo-color-cloud.png); +} + +.product-box .product-server .greyscale, +.product-box .product-server:hover .color, +.product-box .product-workstation .greyscale, +.product-box .product-workstation:hover .color, +.product-box .product-cloud .greyscale, +.product-box .product-cloud:hover .color +{ + opacity:1; + transition: opacity 0.3s ease; +} + +.product-box .product-server .color, +.product-box .product-workstation .color, +.product-box .product-cloud .color +{ + opacity:0; + transition: opacity 0.3s ease; +} + +.product-box .product-server:hover .greyscale, +.product-box .product-workstation:hover .greyscale, +.product-box .product-cloud:hover .greyscale +{ + opacity:0; +} + +/*End Bottom products selector*/ + + +/* Download */ + +#spins .downloadheader .btn, +#spins .download-lower .btn { + background-color: #3c6eb4; +} + +#spins .splashheader { + background-color: #ccc; + min-height: 116px; +} + +#cloud .download-cloud-splash.btn { + background-color: #a07cbc; +} + +#cloud .download-cloud { + background-color: #a07cbc; +} + +.downloadheader .container +{ + background-image: url(../images/downloadicon.svg); + background-repeat: no-repeat; + background-position: 50px center; +} + +.center { + text-align: center; +} +/* Header */ +#head { text-align: center; font-family:"Open sans", Helvetica, Arial; font-weight:300; } +#head .screenshot { background: #fff; padding: 20px; } +#head .screenshot-banner { background: #fff; padding: 20px 20px 0px 20px; } +#head .screenshot-text { background: #fff; padding: 0px 20px 20px 20px; } +#head .screenshot-text h3 { color: #60605b; margin-top: 0px; } +#head .screenshot-text a:hover { text-decoration: none; } +#head .copr-design { background:url(../images/design/design-splash.png) 50% 50% / cover no-repeat; position:relative; min-height: 230px; } +#head .copr-games { background:url(../images/games/games-splash.png) 50% 50% / cover no-repeat; position:relative; min-height: 230px; } +#head .copr-jam { background:url(../images/jam/jam-splash.png) 50% 50% / cover no-repeat; position:relative; min-height: 230px; } +#head .copr-robotics { background:url(../images/robotics/robotics-splash.png) 50% 50% / cover no-repeat; position:relative; min-height: 230px; } +#head .copr-security { background:url(../images/security/security-splash.png) 50% 50% / cover no-repeat; position:relative; min-height: 230px; } +#head .copr-scientific { background:url(../images/scientific/scientific-splash.png) 50% 50% / cover no-repeat; position:relative; min-height: 230px; } +#head .spin-banner { background: #fff; width: 100%; } +#head .bottom-border { border-bottom: solid 10px; color: #3c6eb4; } +// #head p { background: #fff; font-size: 18px; } +#head .grey { color: #60605b; } +#head h1 { font-size: 36px; margin-bottom: 42px; } +#head.secondary { height:100px; min-height: 100px; padding-top:0px; } + #head .lead { font-family:"Open sans", Helvetica, Arial; font-size:24px; color:white; line-height:1.15em; } + #head .tagline { color:rgba(255,255,255,0.75); margin-bottom:25px; font-size: 16px;} + #head .tagline a { color:#fff; } + #head .btn { margin-bottom:10px;} + #head .btn-default { text-shadow: none; background:transparent; color:rgba(255,255,255,.5); -webkit-box-shadow:inset 0px 0px 0px 3px rgba(255,255,255,.5); -moz-box-shadow:inset 0px 0px 0px 3px rgba(255,255,255,.5); box-shadow:inset 0px 0px 0px 3px rgba(255,255,255,.5); background: transparent; } + #head .btn-default:hover, + #head .btn-default:focus { color:rgba(255,255,255,.8); -webkit-box-shadow:inset 0px 0px 0px 3px rgba(255,255,255,.8); -moz-box-shadow:inset 0px 0px 0px 3px rgba(255,255,255,.8); box-shadow:inset 0px 0px 0px 3px rgba(255,255,255,.8); background: transparent; } + #head .btn-default:active, + #head .btn-default.active { color:#fff; -webkit-box-shadow:inset 0px 0px 0px 3px #fff; -moz-box-shadow:inset 0px 0px 0px 3px #fff; box-shadow:inset 0px 0px 0px 3px #fff; background: transparent; } + +.fadescreen { + -webkit-opacity: 0.25; + -moz-opacity: 0.25; + opacity: 0.25; + -webkit-transition: all 1s ease; + -moz-transition: all 1s ease; + -ms-transition: all 1s ease; + -o-transition: all 1s ease; + transition: all 1s ease; +} + +.fadescreen:hover { + -webkit-opacity: 1; + -moz-opacity: 1; + opacity: 1; +} + +.greybg { + background-image: url(../images/greybg.png); +} + +.darkgreybg { + background-image: url(../images/greybgdark.png); +} + +.darkgreybg p { + text-align: left; +} + +.main-head, .downloadheader +{ + background-image: url(../images/greybg.png); +} + +.main-head h1 +{ + margin-bottom: 0px!important; +} + +.main-head-index +{ + background: url(../images/blue-pattern.png) no-repeat right 0px center; + -webkit-background-size: cover; + -moz-background-size: cover; + -o-background-size: cover; + background-size: cover; + box-shadow: 0px 3px 7px 0px rgba(0,0,0,0.05) inset; + padding-top: 50px; + padding-bottom: 50px; +} + +.main-head-index h1 +{ + margin-bottom: 0px!important; +} + +.main-head-index h1, .main-head-index h4 +{ + color: #fff; +} + +.fedora-header h2 { + line-height: 50px; + font-size: 18pt; +} + +.product-header, .fedora-header{ + padding: 30px; + color: #a7a9ac; + font-weight: 400; +} + +.product-header p.thin { + font-weight: 400; + color: #a7a9ac; + margin-top: 15px; +} + +.arm-top { + margin-top: 10px; +} + +} +.logo-header{ + margin-top: 19px; +} +.inline-logo { + margin-top: -14px; + padding-bottom: 10px; + padding-left: 2px; +} +.language-header { + margin-top: 43px; +} +.btn-topmargin { + margin-top: 10px; +} +.verticalbottom { + vertical-align: bottom; !important; +} +.down { + margin-bottom: -4px; +} + +/* Highlights (in jumbotron in most cases) */ +.highlight { margin-top:40px; } + .h-caption { text-align: center; } + .h-caption img { display:block; font-size: 54px; color:#382526; margin-bottom:36px; } + .h-caption h4 { color:#382526; font-size: 16px; font-weight: bold; margin-bottom:20px; } + .h-body { } + +.productitem h4 +{ +font-family:'Montserrat'; +text-align:center; +} + +.productitem .productitem-logo +{ + + width:100px; + height:100px; + display:block; + margin-left:auto; + margin-right:auto; +} +.productitem > a +{ + color:#444; +} + +.productitem > a:hover +{ + text-decoration:none; +} + +.productitem .color, +.productitem .greyscale +{ + width:100px; + height:100px; + background-size:cover; + position:absolute; +} + +.productitem.workstation .color +{ + background-image:url(../images/logo-color-workstation.png); +} + +.productitem.server .color +{ + background-image:url(../images/logo-color-server.png); +} +.productitem.cloud .color +{ + background-image:url(../images/logo-color-cloud.png); +} + + +.productitem.workstation:hover .color, +.productitem.server:hover .color, +.productitem.cloud:hover .color +{ + opacity:1; + transition: opacity 0.3s ease; +} + +.productitem.workstation .color, +.productitem.server .color, +.productitem.cloud .color +{ + opacity:0; + transition: opacity 0.3s ease; +} + + +.productitem.workstation .greyscale +{ + background-image:url(../images/logo-grey-workstation.png); +} + +.productitem.cloud .greyscale +{ + background-image:url(../images/logo-grey-cloud.png); +} + +.productitem.server .greyscale +{ + background-image:url(../images/logo-grey-server.png); + opacity:1; +} + +@media +(-webkit-min-device-pixel-ratio: 2), +(min-resolution: 192dpi) { +.productitem.workstation .greyscale +{ + background-image:url(../images/logo-grey-workstation@2x.png); +} + +.productitem.cloud .greyscale +{ + background-image:url(../images/logo-grey-cloud@2x.png); +} + +.productitem.server .greyscale +{ + background-image:url(../images/logo-grey-server@2x.png); +} +} + +.community { + background-image: url('../images/community.jpg'); + color: #FFF; + text-shadow: 0em 0em 1em #000; + padding-top: 10%; + padding-bottom: 10%; + background-position: 50% 50%; + background-size: cover; + background-repeat: no-repeat; +} + +.caption { + color: #777; + font-size: 90%; + margin-top: .5em; +} + +.using-dl { + background-color: #f8f8f9; +} + +.using h2 { + color: #3c6eb4; + padding: 10px 5px 10px 10px; +} + +.using p { + padding: 10px 5px 10px 10px; +} + +.using .btn, +.using .btn-primary { + background-color: #3c6eb4; + background-image: none; +} + +/*Pre-release page */ +.prerelease-header { + width: 500px; + margin: 50px auto 0 auto; +} + +p.warning { + padding: .7em 1em; + color: #fff; + background: #4c4c4c no-repeat 10px center; + margin-bottom: 2.5em; + font-size: 110%; + display: none; + text-align: justify; +} + +p.warning a { + color: #fff; + font-weight: 600; +} + +/*bootstrap xs*/ +@media max-width:767px +{ + +} + +/*bootstrap sm*/ +@media(min-width:768px) +{ +#cloud .minimalfastflexible .screenshot + { + margin-top:40px; + } +} + +/*bootstrap md*/ +@media(min-width:992px) +{ +#cloud .minimalfastflexible .screenshot + { + margin-top:0px; + } +} + +/*bootstrap lg*/ +@media(min-width:1200px) +{ +} + + + +/* Typography */ +h1, h2, h3, h4, h5, h6 { font-family:"Open sans", Helvetica, Arial; } +h1, .h1, h2, .h2, h3, .h3 { margin-top:30px; } +h1.nopad, h2.nopad, h3.nopad, p.nopad { margin: 0 !important; padding: 0 !important; } /* Sometimes we don't want extra space. */ +blockquote { font-style: italic; color:#999; margin:30px 0 30px; } +label { color: #777; } +.thin { font-weight:300; } +.page-title { margin-top:20px; font-weight:300; } +.text-muted { color:#888; } +.breadcrumb { background:none; padding:0; margin:30px 0 0px 0; } +ul.list-spaces li{ margin-bottom:10px; } + +/* Helpers */ +.container-full { margin: 0 auto; width: 100%; } +.top-space { margin-top: 60px; } +.top-margin { margin-top:20px; } +.bottom-space { margin-bottom: 60px; } +.bottom-margin { margin-bottom:20px; } +.recover-heading { padding-bottom: 30px; } /* Recover the margin added by h1-h3 for even-ness. */ +.uppercase {text-transform: uppercase;} +.spin-download { padding: 40px 0px;} + +img { max-width:100%; } +img.pull-right { margin-left: 10px; } +img.pull-left { margin-right: 10px; } +#map { width:100%; height:280px; } +#social { margin-top:50px; margin-bottom:50px; } + #social .wrapper { width:340px; margin:0 auto; } + +/* Main content block */ +.maincontent { } + +/* Footer */ +.foot { background-color:#e6e6e6; padding: 30px 0 0 0; font-size: 13px; color: #777; } + .foot a { color: #333; } + .foot a:hover {color: #000; } + .foot .widget { margin-bottom:30px; } + .foot .widget-title { font-size: 17px; font-weight: bold; color: #8d8d8d; margin: 0 0 20px; text-transform: uppercase; } + .foot .entry-meta { border-top: 1px solid #ccc; border-bottom: 1px solid #ccc; margin: 0 0 35px 0; padding: 2px 0; color: #888888; font-size: 12px; font-size: 0.75rem; } + .foot .entry-meta a { color: #333333; } + .foot .entry-meta .meta-in { border-top: 1px solid #ccc; border-bottom: 1px solid #ccc; padding: 10px 0; } + .follow-me-icons { font-size:30px; } + .follow-me-icons i { float:left; margin:0 10px 0 0; } + .foot dd { + line-height: 1.6; + } + + .foot .btn-social { + display: inline-block; + width: 30px; + height: 30px; + border: 2px solid #808080; + background-color: #808080 !important; + border-radius: 100%; + text-align: center; + font-size: 18px; + line-height: 25px; +} +.foot .btn-outline { + font-size: 18px; + color: #fff; + background: 0 0; + transition: all .3s ease-in-out; +} + +.foot .btn-outline:hover, +.foot .btn-outline:focus, +.foot .btn-outline:active, +.foot .btn-outline.active { + border: solid 2px #000; + color: #000; + background-color: #fff !important; +} + +.foot dl { + margin-bottom: 8px; +} + +/* special classes for small screens */ + +@media (max-width: 767px) { + #workstation .header-splash, .container, + #workstation .product-testimonial, .container { + background-image: none; + } + #head .lead { font-size: 34px; + } + .modal-cloud { width: 300px; } + .white h3 { color: #60605b; margin: 4px 0px 2px; font-size: 18px; } + .white p, .prewhite p { color: #a7a9ac; margin: 2px 0px 2px; font-weight: 400; text-align: left; padding: 2px 0px 2px; } + .white p.download { font-size: 14px; margin-top: 2px; text-align: left; padding: 2px 0px 2px; } +} + +@media (max-width: 991px) { + #head .fadescreen { + max-width: 485px; + float: none; + margin: 0 auto; + } +} +/* end small screens classes */ diff --git a/_stylesheets/asciibinder.css b/_stylesheets/asciibinder.css new file mode 100644 index 0000000..70bf08d --- /dev/null +++ b/_stylesheets/asciibinder.css @@ -0,0 +1,568 @@ +@import url(http://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; +} + +.page-header { + height: 100% !important; +} + +.page-header h2{ + font-size: 28px; +} + +.navbar-brand { + padding: initial; + height: initial; +} + +.nav > li > a.hover{ + background-color: none; +} + +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; + } +} + +/* + * Sidebar + */ + +.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; + } +} + +/* + * Off Canvas + * -------------------------------------------------- + */ + +body, html { + overflow-x: hidden; /* Prevent scroll on narrow devices */ +} + +.toggle-nav { + margin-right: 20px; +} + +@media screen and (max-width: 767px) { + .row-offcanvas { + position: relative; + -webkit-transition: all .25s ease-out; + -o-transition: all .25s ease-out; + transition: all .25s ease-out; + } + + .row-offcanvas-right { + right: 0; + } + + .row-offcanvas-left { + left: 0; + } + + .row-offcanvas-right + .sidebar-offcanvas { + right: -75%; /* 8 columns */ + } + + .row-offcanvas-left + .sidebar-offcanvas { + left: -75%; /* 8 columns */ + } + + .row-offcanvas-right.active { + right: 75%; /* 8 columns */ + } + + .row-offcanvas-left.active { + left: 75%; /* 8 columns */ + } + + .sidebar-offcanvas { + overflow: hidden; + position: absolute; + top: 0; + width: 75%; /* 8 columns */ + } +} + + p { + margin: 0 0 1.6em; + } + + /* 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: [...] +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" [...] +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; padding: .5em; background: #F1F3F5; -webkit-border-radius: 4px; border-radius: 4px; overflow-x: auto; } +.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: #7a2518; margin-top: 0; line-height: 1.6; } +.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:la [...] +.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; } } diff --git a/_templates/_css.html.erb b/_templates/_css.html.erb new file mode 100644 index 0000000..ac643b4 --- /dev/null +++ b/_templates/_css.html.erb @@ -0,0 +1,4 @@ +<%- Dir.glob("_stylesheets/*").sort.each do |sheet| -%> + <link href="<%= File.join(css_path, File.basename(sheet)) %>" rel="stylesheet" /> + <link href="<%= File.join(css_path, File.basename(sheet)) %>" rel="app" /> +<%- end -%> diff --git a/_templates/_footer.html.erb b/_templates/_footer.html.erb new file mode 100644 index 0000000..0c9597e --- /dev/null +++ b/_templates/_footer.html.erb @@ -0,0 +1,88 @@ + <div id="bottom"> + <div class="foot"> + <div class="container"> + <div class="row footerlinks"> + <div class="col-sm-3 col-xs-6 widget"> + <h3 class="widget-title">About</h3> + <div class="widget-body"> + <dl> + <dd><a href="https://fedoraproject.org/wiki/Overview">About Fedora</a></dd> + <dd><a href="https://getfedora.org/en/sponsors">Sponsors</a></dd> + <dd><a href="https://fedoramagazine.org">Fedora Magazine</a></dd> + <dd><a href="https:https://fedoraproject.org/wiki/Legal:Main#Legal">Legal</a></dd> + </dl> + <ul class="list-inline"> + <li> + <a href="https:https://www.facebook.com/TheFedoraProject" class="btn-social btn-outline"><i class="fa fa-fw fa-facebook"></i></a> + </li> + <li> + <a href="https:https://plus.google.com/112917221531140868607" class="btn-social btn-outline"><i class="fa fa-fw fa-google-plus"></i></a> + </li> + <li> + <a href="https:https://twitter.com/fedora" class="btn-social btn-outline"><i class="fa fa-fw fa-twitter"></i></a> + </li> + </ul> + </div> + </div> + + <div class="col-sm-3 col-xs-6 widget"> + <h3 class="widget-title uppercase">Download</h3> + <div class="widget-body"> + <dl> + <dd><a href="https://getfedora.org/en/workstation/download">Get Fedora Workstation</a></dd> + <dd><a href="https://getfedora.org/en/server/download">Get Fedora Server</a></dd> + <dd><a href="https://getfedora.org/en/atomic/download">Get Fedora Atomic</a></dd> + <dd><a href="https://spins.fedoraproject.org">Fedora Spins</a></dd> + <dd><a href="https://labs.fedoraproject.org">Fedora Labs</a></dd> + <dd><a href="https://arm.fedoraproject.org">Fedora ARM<span class="sup">®</span></a></dd> + <dd><a href="https://alt.fedoraproject.org/">Alternative Downloads</a></dd> + + </dl> + </div> + </div> + + <div class="col-sm-3 col-xs-6 widget"> + <h3 class="widget-title">Support</h3> + <div class="widget-body"> + <dl> + <dd><a href="https://fedoraproject.org/wiki/Communicating_and_getting_help">Get Help</a></dd> + <dd><a href="https://ask.fedoraproject.org/">Ask Fedora</a></dd> + <dd><a href="https://fedoraproject.org/wiki/Common_F${global_variables.release['curr_id']}_bugs">Common Bugs</a></dd> + <dd><a href="https://developer.fedoraproject.org/">Fedora Developer Portal</a></dd> + <dd><a href="https://docs.fedoraproject.org/en-US/Fedora/${global_variables.release['curr_id']}/html/Installation_Guide">Installation Guide</a></dd> + </dl> + </div> + </div> + + <div class="col-sm-3 col-xs-6 widget"> + <h3 class="widget-title">Join</h3> + <div class="widget-body"> + <dl> + <dd><a href="https://fedoraproject.org/wiki/Join">Join Fedora</a></dd> + <dd><a href="http://fedoraplanet.org">Planet Fedora</a></dd> + <dd><a href="https://fedoraproject.org/wiki/SIGs">Fedora SIGs</a></dd> + <dd><a href="https://admin.fedoraproject.org/accounts/">Fedora Account System</a></dd> + <dd><a href="http://fedoracommunity.org/">Fedora Community</a></dd> + </dl> + </div> + </div> + </div> <!-- /row of widgets --> + + <div class="row"> + <div class="col-md-2"> + <div class="widget-body"> + <a href="http:www.redhat.com/"><img class="rh-logo" src="../_images/redhat-logo.png" alt="Red Hat Logo" /></a> + </div> + </div> + <div class="col-md-7"> + <div class="widget-body"> + <p class="sponsor">Fedora is sponsored by Red Hat.</p> + <p class="sponsor"><a href="https://www.redhat.com/en/technologies/linux-platforms/articles/relationship-between-fedora-and-rhel">Learn more about the relationship between Red Hat and Fedora »</a></p> + <p class="copy">© 2017 Red Hat, Inc. and others. Please send any comments or corrections to the <a href="https://fedorahosted.org/fedora-websites/">websites team</a></p> + </div> + </div> + </div> <!-- /row of widgets --> + + </div> + </div> + </div> diff --git a/_templates/_nav.html.erb b/_templates/_nav.html.erb new file mode 100644 index 0000000..95a7e5c --- /dev/null +++ b/_templates/_nav.html.erb @@ -0,0 +1,31 @@ +<ul class="nav nav-sidebar"> + <%- navigation.each.with_index do |topic_group, groupidx| -%> + <%- current_group = topic_group[:id] == group_id -%> + <li class="nav-header"> + <a class="" href="#" data-toggle="collapse" data-target="#topicGroup<%= groupidx %>"> + <span id="tgSpan<%= groupidx %>" class="fa <%= current_group ? 'fa-angle-down' : 'fa-angle-right' %>"></span><%= topic_group[:name] %> + </a> + <ul id="topicGroup<%= groupidx %>" class="collapse <%= current_group ? 'in' : '' %> list-unstyled"> + <%- topic_group[:topics].each.with_index do |topic, topicidx| -%> + <%- if not topic.has_key?(:topics) -%> + <%- current_topic = current_group && (topic[:id] == topic_id) -%> + <li><a class="<%= current_topic ? ' active' : '' %>" href="<%= subtopic_shim %><%= topic[:path] %>"><%= topic[:name] %></a></li> + <%- else -%> + <%- current_subgroup = topic[:id] == subgroup_id -%> + <li class="nav-header"> + <a class="" href="#" data-toggle="collapse" data-target="#topicSubGroup-<%= groupidx %>-<%= topicidx %>"> + <span id="sgSpan-<%= groupidx %>-<%= topicidx %>" class="fa <%= current_subgroup ? 'fa-caret-down' : 'fa-caret-right' %>"></span> <%= topic[:name] %> + </a> + <ul id="topicSubGroup-<%= groupidx %>-<%= topicidx %>" class="nav-tertiary list-unstyled collapse<%= current_subgroup ? ' in' : '' %>"> + <%- topic[:topics].each do |subtopic| -%> + <%- current_subtopic = current_group && current_subgroup && (subtopic[:id] == topic_id) %> + <li><a class="<%= current_subtopic ? ' active' : '' %>" href="<%= subtopic_shim %><%= subtopic[:path] %>"><%= subtopic[:name] %></a></li> + <%- end -%> + </ul> + </li> + <%- end -%> + <%- end -%> + </ul> + </li> + <%- end -%> +</ul> diff --git a/_templates/page.html.erb b/_templates/page.html.erb new file mode 100644 index 0000000..baf4ed1 --- /dev/null +++ b/_templates/page.html.erb @@ -0,0 +1,90 @@ +<!DOCTYPE html> +<html> +<head> + <meta charset="utf-8"> + <meta content="IE=edge" http-equiv="X-UA-Compatible"> + <meta content="width=device-width, initial-scale=1.0" name="viewport"> + <title><%= distro %> <%= version %> | <%= [group_title, subgroup_title, topic_title].compact.join(' | ') %></title> + + <!-- Bootstrap --> + <link href="https://apps.fedoraproject.org/global/fedora-bootstrap-1.0.2/fedora-bootstra..." +type="text/css" rel="stylesheet" /> + + <%= render("_templates/_css.html.erb", :css_path => css_path) %> + <script src="<%= File.join(javascripts_path, "bootstrap-offcanvas.js") %>" type="text/javascript"></script> + + <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries --> + <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> + <!--[if lt IE 9]> + <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script> + <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script> + <![endif]--> + + <link href="<%= File.join(images_path, "favicon32x32.png") %>" rel="shortcut icon" type="text/css"> + <!--[if IE]><link rel="shortcut icon" href="<%= File.join(images_path, "favicon.ico") %>"><![endif]--> + <meta content="AsciiBinder" name="application-name"> +</head> +<body> + <div class="masthead" role="navigation"> + <div class="container"> + <div class="navbar-header"> + <a href="<%= site_url %>"><img height=40px alt="<%= site_name %>" src="<%= File.join(images_path, "fedora_docs_logo.png") %>"></a> + </div> + </div> + </div> + <div class="bodycontent"> + <div class="container"> + <!--<p class="toggle-nav visible-xs pull-left"> + <button class="btn btn-default btn-sm" type="button" data-toggle="offcanvas">Toggle nav</button> + </p>--> + <ol class="breadcrumb"> + <li class="breadcrumb-item sitename"> + <a href="<%= site_home_path %>"><%= site_name %></a> + </li> + <%= breadcrumb_subgroup_block %> + <li class="breadcrumb-item hidden-xs active"> + <%= breadcrumb_topic %> + </li> + </ol> + <div class="row row-offcanvas row-offcanvas-left"> + <div class="col-xs-8 col-sm-3 col-md-3 sidebar sidebar-offcanvas"> + <%= render("_templates/_nav.html.erb", :navigation => navigation, :group_id => group_id, :topic_id => topic_id, :subgroup_id => subgroup_id, :subtopic_shim => subtopic_shim) %> + </div> + <div class="col-xs-12 col-sm-9 col-md-9 main"> + <div class="page-header"> + <h2><%= article_title %></h2> + </div> + <%= content %> + </div> + </div> + </div> + <%= render("_templates/_footer.html.erb") %> +</div> + <!-- jQuery (necessary for Bootstrap's JavaScript plugins) --> + <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> + <!-- Latest compiled and minified JavaScript --> + <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script> + <script type="text/javascript"> + /*<![CDATA[*/ + $(document).ready(function() { + $("[id^='topicGroup']").on('show.bs.collapse', function (event) { + if (!($(event.target).attr('id').match(/^topicSubGroup/))) { + $(this).parent().find("[id^='tgSpan']").toggleClass("fa-angle-right fa-angle-down"); + } + }); + $("[id^='topicGroup']").on('hide.bs.collapse', function (event) { + if (!($(event.target).attr('id').match(/^topicSubGroup/))) { + $(this).parent().find("[id^='tgSpan']").toggleClass("fa-angle-right fa-angle-down"); + } + }); + $("[id^='topicSubGroup']").on('show.bs.collapse', function () { + $(this).parent().find("[id^='sgSpan']").toggleClass("fa-caret-right fa-caret-down"); + }); + $("[id^='topicSubGroup']").on('hide.bs.collapse', function () { + $(this).parent().find("[id^='sgSpan']").toggleClass("fa-caret-right fa-caret-down"); + }); + }); + /*]]>*/ + </script> +</body> +</html> diff --git a/_topic_map.yml b/_topic_map.yml new file mode 100644 index 0000000..d55e789 --- /dev/null +++ b/_topic_map.yml @@ -0,0 +1,92 @@ +# 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 +/- .adoc +# - 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 <group dir>/<subtopic dir> +# - Name: The Acrobatic Ascarid <= Sub-topic 2 name +# File: the_acrobatic_ascarid <= Sub-topic 2 file under <group dir>/<subtopic dir> +# +# The ordering of the records in this document determines the ordering of the +# topic groups and topics on the main page. +--- +Name: Fedora Budget FAQs +Dir: docs +Topics: + - Name: Introduction + File: ../index.adoc + - Name: Reimbursement Guidelines + File: reimbursement.adoc + - Name: General Information + File: faq_general.adoc + - Name: Understanding Entries + File: faq_entries.adoc + - Name: Understanding Budgets + File: faq_budgeting.adoc +--- +Name: FY 18 Budget Reports +Dir: FY18 +Topics: + - Name: Introduction + File: README.adoc + - Name: Overall Budget + File: overall.adoc + - Name: Diversity & Inclusion Budget + File: d-i.adoc + - Name: APAC Region Budget + File: apac.adoc + - Name: EMEA Region Budget + File: emea.adoc + - Name: LATAM Region Budget + File: latam.adoc + - Name: NA Region Budget + File: na.adoc + - Name: Events Budget + File: events.adoc + - Name: FADs Budget + File: fads.adoc +--- +Name: FY 17 Budget Reports +Dir: FY17 +Topics: + - Name: Introduction + File: README.adoc + - Name: Overall Budget + File: overall.adoc + - Name: Diversity & Inclusion Budget + File: d-i.adoc + - Name: APAC Region Budget + File: apac.adoc + - Name: EMEA Region Budget + File: emea.adoc + - Name: LATAM Region Budget + File: latam.adoc + - Name: NA Region Budget + File: na.adoc + - Name: Events Budget + File: events.adoc + - Name: FADs Budget + File: fads.adoc +--- +Name: FY 16 Budget Reports +Dir: FY16 +Topics: + - Name: Introduction + File: README.adoc +--- +Name: FY 15 Budget Reports +Dir: FY15 +Topics: + - Name: Introduction + File: README.adoc diff --git a/common/cc-report.sh b/common/cc-report.sh deleted file mode 100644 index 384dcbd..0000000 --- a/common/cc-report.sh +++ /dev/null @@ -1,7 +0,0 @@ -echo $1 -ledger r \ - -f emea.ldg \ - --uncleared \ - --invert \ - --limit "tag('Payment') =~ /CC/" \ - --format '%(format_date(d,"%Y-%m-%d")) Amount: %t\n Payee Note: %P\n%(has_tag("TICKET") ? " Ticket: " : "")%(has_tag("TICKET") ? tag("TICKET") : "")%(has_tag("TICKET") ? "\n" : "")%(has_tag("DESC") ? " Description: " : "")%(has_tag("DESC") ? tag("DESC") : "")%(has_tag("DESC") ? "\n" : "")\n' diff --git a/common/notes.txt b/common/notes.txt deleted file mode 100644 index 8170841..0000000 --- a/common/notes.txt +++ /dev/null @@ -1 +0,0 @@ -reconfigure expenses to use RH categories diff --git a/docs/faq_budgeting.adoc b/docs/faq_budgeting.adoc new file mode 100644 index 0000000..b12eeaa --- /dev/null +++ b/docs/faq_budgeting.adoc @@ -0,0 +1,89 @@ +Fedora Budget - Understanding Budgets +===================================== + +You may find the link:faq_budgeting.adoc[Budget FAQ] and the link:faq_genera.adoc[General FAQ] useful. + +How are budgets configured in the system? +----------------------------------------- + +Ledger has a concept called a http://www.ledger-cli.org/3.0/doc/ledger3.html#Budgeting-and-Forecasting%5BP... Transaction] that is used to create a budget. Because ledger doesn't understand fiscal years, ours look a little different than most examples, but they function the same way. We use these periodic transactions to allocate money to different uses. + +In the Fedora project we manage our transactions a little bit differently. Normally you would budget your expenses. For example, you might think that you will spend $500 on rent and $300 on food in a month. In Fedora, we treat our budgets like credit cards (or checking accounts or current accounts). We then budget how much money we plan to spend out of each budget. All of this means that we budget negative numbers because we are planning to spend a certain amount of money. We do th [...] + +This example shows how the council allocated the total Fedora Public Budget to various activities in FY17. + +---- +~ every 2 years <1> + ; 2016/03/01 Opening Balance <2> + APAC Budget -$11,500.00 <3> + EMEA Budget -$21,650.00 <3> + LATAM Budget -$11,950.00 <3> + NA Budget -$29,400.00 <3> + FUDCon LATAM -$10,000.00 <3> + FUDCon APAC -$15,000.00 <3> + Flock -$75,000.00 <3> + FADs Budget -$15,000.00 <3> + D&I -$6,500.00 <3> + Annual Budget $196,000 <4> +---- + +<1> This line is fixed. Copy it exactly. +<2> Comments are awesome! +<3> This is a budget allocation. This line indicates that the project will budget a certain amount of spending for a specific area. +<4> This is the total annual public budget. Remember every transaction has to add up to $0. This is one is not an exception. + +In some cases this is the end of the budget allocation. For example, there is no sub-budgeting done for Flock. We plan and execute that event as a single unit. In other cases, for example in the Ambassador Regions, the money is divided into two or more layers or sub-budgeting. + +How do sub-budgets work? +------------------------ + +Ambassador Regions are required to allocate their money into four quarters. This is to help with managing our spending rate. Some other areas of the project, for example FADs, are also often sub-budgeted, but not necessarily by quarter. + +Sub-budgeting is pretty simple. It can be done in the file used by the specific area. Here is an example of how the NA budget my get broken down by quarter: + +``` +~ every 2 years + ; Budget + NA Budget $29400 + NA:Q1 -$7350 + NA:Q2 -$7350 + NA:Q3 -$7350 + NA:Q4 -$7350 +``` + +It works the same way as the council budget in the previous question. Notice that the order of the lines didn't matter. Here they wrote the positive number first because it made sense to that region to think, "we had this money and we split it up like this." Again, everything adds to $0. + +This can even be split further. Here is what an optional quarterly event budget might look like. This time the example is from EMEA. + +``` +~ every 2 years + EMEA Q1 $4753.00 + EMEA:Q1:Mozilla & Fedora Activity Day -$48 + EMEA:Q1:PyCon SK -$242 + EMEA:Q1:Open Source Weekend -$30 + EMEA:Q1:Chemnitzer Linuxtage 2016 -$787 + EMEA:Q1:3D Expo -$73 + EMEA:Q1:Linux Wochen Vienna -$303 + EMEA:Q1:Fosscom 2016 -$242 + EMEA:Q1:DORS-CLUC 2016 -$424 + EMEA:Q1:OSCAL 2016 -$484 + EMEA:Q1:Swag -$1817 + EMEA:Q1:Postage -$303 +``` +What if something gets budgeted and then we change our mind? +------------------------------------------------------------ + +There are two ways to fix this. Option 1, which is preferred, is to create another periodic transaction to change the budget. For example: + +``` +; Budget Transfers on 2016-05-17 +; Approved in Meeting Minutes: https://github.com/fedora-infra/mote/foo/bar/baz +~ every 2 years + EMEA:Q1:Open Source Weekend $30 ; event was cancelled + EMEA:Q1:3D Expo $23 ; We had extra money left + EMEA:Q3:nullCon -$53 +``` + +In this case $53 was moved from events in Quarter 1 to an event in Quarter 3. The comments make everything extra clear. + +The other option is to just edit the budget entries. This is less preferred as it means you would have to go through the file's history to discover there had been a change. diff --git a/docs/faq_entries.adoc b/docs/faq_entries.adoc new file mode 100644 index 0000000..b2f3f30 --- /dev/null +++ b/docs/faq_entries.adoc @@ -0,0 +1,111 @@ +Fedora Budget - Understanding Entries +===================================== + +You may find the link:faq_budgeting.adoc[Budget FAQ] and the link:faq_genera.adoc[General FAQ] useful. + +What does an transaction entry look like? +----------------------------------------- + +Ledger has very few formatting requirements. For consistency we have adopted the following formatting: + +---- +2016-01-28 What we spent the money on <1> + ; Ticket: https://pagure.io/fedora-budget/issue/18 <2> + ; Desc: Summary description of the transaction <3> + ; Payment: CC-EMEA <4> + ; Comments are awesome <5> + Expense:Transportation $200.32 <6> + Expense:Lodging $340.23 <6> + EMEA:Q3:Linux Days Prague -$540.55 <7> +---- + +<1> The date is always `YYYY-MM-DD` followed by 3 spaces and a meaninful payee description. All of the following lines should be indented by 4 spaces. This line begins in column 1. There is *no* leading whitespace allowed. +<2> This is the url to the ticket that approved the expense. This is mostly found on regional expenses. This is a ledger http://www.ledger-cli.org/3.0/doc/ledger3.html#Metadata%5Bmetadata tag]. +<3> This is the one-line summary of why we spent the money. This is mostly used for credit card reconciliation purposes. This is also a ledger metadata tag. +<4> This is a note about how we paid the expense. Typically you will see `CC-<region>` or an internal Red Hat payment number. +<5> Comments are awesome. Make some where explanations are useful. Comments begin with a semicolon, `;`. Comments can also be made at the end of any line. See the FAQ below for Ambassador region specific comment requirements. +<6> These are expense categories. There is a restricted list of accounts. You can list as many as are needed. See the next question. +<7> This is the event or budget the transaction is related too. In this example, this is a transaction from the EMEA region in the 3rd Quarter related to the Linux Days Prague event. This transaction is completely made up. + +Note: Amounts are not required to be aligned vertically. Amounts are required to be in US Dollars and must be of the form `$###`. If there are fractions of a dollar that must be separated with a '.' (period/dot) as the decimal separator and *not* a ',' (comma). + +This looks suspiciously like double entry accounting. Is it? +------------------------------------------------------------- + +This is what is often term "double entry accounting lite." It uses most of the concepts of double entry accounting but doesn't explicity state debits and credits. Instead, think of the negative sign and implied positive signs as replacing the debit and credit concept. + +However, you don't have to understand double entry account or debits and credits to use this system. The only things you need to know are: + +1. All transactions must balance. In other words if you add up all of the amounts they must sum to **exactly** $0 (zero). + +2. Use a negative amount to move money out of an account or budget and a positive amount to move money into an account or expense. For example, if you spend $30 on shoes from you checking account. You would write `shoes $30` because you moved the $30 into shoes and `checking -$30` because you moved the money out of your checking account. + +What are all of the expense categories? +--------------------------------------- + +The Fedora project is mostly funded by Red Hat. As part of our support, Red Hat provides us with some credit cards to use. We have to report all of our expenses to Red Hat as one of a very small set of categories. Therefore we have restricted all expenses to these categories. If we find that we need to track other things, we will begin to do so. Start a converation via an Issue in this repository or on our mailing list, budget-devel@fedoraproject.org. + +The categories are: + +* Expense:Transportation +* Expense:Mileage +* Expense:Fuel +* Expense:Car Rental +* Expense:Parking/Tolls +* Expense:Taxi/Limo +* Expense:Lodging +* Expense:Meals +* Expense:Business Meeting +* Expense:Courier/Shipping +* Expense:Office Supplies +* Expense:Dues/Subscriptions/Books +* Expense:Mobile Phone +* Expense:Internet +* Expense:Late Fees +* Expense:Finance Charges +* Expense:Trade Show +* Expense:Outside Services/Training +* Expense:Employee Relations (flowers) +* Expense:Contributions/Donations +* Expense:Other Marketing Costs +* Expense:On-line Advertising +* Expense:Printing/Reproduction + +We are allowed to have further levels of expense categories if we would like. As an example, it would be nice to track our costs of paying reimbursements. Therefore, we can add a `:Paypal Fees` to each of the above categories to track this. For example: + +---- +2016-01-28 What we spent the money on + ; Ticket: https://pagure.io/fedora-budget/issue/18 + ; Desc: Summary description of the transaction + ; Payment: CC-EMEA + Expense:Lodging $330.00 + Expense:Lodging:Paypal Fees $3.44 + EMEA:Q3:Linux Days Prague -$333.44 +---- + +This could be done to differentiate between types of transportation (`Expense:Transportion:Air` vs `Expense:Transportation:Train`) if a region saw value in analyzing that data. + + +Are there any special requirements? (LATAM Ambassadors) +------------------------------------------------------- + +In LATAM transactions will be coded with an extra tag to support regional level reporting. This tag is only required for LATAM but shows how regional level differentiation can be supported. For LATAM, please add a country tag such as: + +---- +2016-01-28 What we spent the money on + ; Ticket: https://pagure.io/fedora-budget/issue/18 + ; Desc: Summary description of the transaction + ; Payment: CC-EMEA + ; Country: Brazil <1> + ; Comments are awesome + Expense:Transportation $200.32 + Expense:Lodging $340.23 + EMEA:Q3:Linux Days Prague -$540.55 +---- + +<1> The country tag is used internally by Ambassadors LATAM + +What about income and non-expenses? +----------------------------------- + +The Fedora Project doesn't take in a lot of money as most of our activities are free. Therefore anything that doesn't fall into the above categories should be entered and processed directly by the FCAIC. diff --git a/docs/faq_general.adoc b/docs/faq_general.adoc new file mode 100644 index 0000000..b5ce660 --- /dev/null +++ b/docs/faq_general.adoc @@ -0,0 +1,86 @@ +Fedora Budget General FAQ +========================= + +How does the Fedora budget work? +-------------------------------- + +Fedora operates on fiscal year from March 1 to February 28. + +Every year the Fedora Council allocates the budget to various groups inside of Fedora. Mechanically, these groups are expected to: + +* Maintain accurate transaction reporting in this repository. +* Ensure that overspends and underspends are accounted for on a quarterly basis to the council by way of the FCAIC. + +What is a fiscal year? +---------------------- + +A calendar year is the conventional year that begins on January 1 and ends on December 31. A fiscal year is used for accounting purposes and preparing financial statements. It can start on any arbitrary date and ends 1 year later. For Fedora, it begins on March 1 and ends on February 28. + +Fiscal years are numbered by the year in which they **end**. For example, the fiscal year from March 1, 2016 to February 28, 2017 is FY17. + +The fiscal year is divided into four quarters: + +* Q1: March - May +* Q2: June - August +* Q3: September - November +* Q4: December - February + +It is spelled `fiscal` not `physical`. The abbreviation is typically, `FY`. + +How do I get permission to spend money? +--------------------------------------- + +Go to the appropriate group for what you want to do. For example, approach the Council about a FAD or an Ambassador Region about an event. + +How do I complain? I don't like how the money is being spent! +------------------------------------------------------------- + +Start a discussion with the appropriate group to discuss it. + +How do I get more details on a transaction? +------------------------------------------- + +Start a discussion with the appropriate group to discuss it. + +Who decided we would spend the money this way? +---------------------------------------------- + +Budgets are allocated by the Fedora Council. There is an approval process for expenses after that, but typically the decisions are made at a "local" level in a working group, such as in an Ambassador Region. + +How is the data stored? +----------------------- + +The Fedora Project has adopted http://ledger-cli.org/%5Bledger], a plain text accounting tool. The tool was selected after consulting with all of the transaction creating stakeholders. The benefits cited are: + +* Plain text - the data is future proof and human readable. +* Easily maintained in a shared location - because the data is in plain text management is easy. +* Reporting - ledger supports register, balance, budget, and csv reporting. +* FOSS - ledger is open source, free software. +* Packaged - ledger was packaged in Fedora long before it was adopted for this purpose. +* Community - ledger has an active upstream community. There are serveral cooperating forks and related projects that keep the tool current. + +Where is the data stored? +------------------------- + +This repository has directories name `FYxy` where `xy` are the last two digits of the Fiscal Year. Therefore, data for Fiscal Year 2017 (1 March 2016 - 28 February 2017) is stored in the `FY17` directory. + +Each directory contains files that separate out the transactions by area of responsibility. This is done to make updates cleaner. Using FY17 as an example, you will find these files: + +* fedora.ledger - This file is the master ledger file and includes all other files +* council.ldg - Transactions related to the Fedora Council and high-level budget allocations +* fad.ldg - FAD transactions and FAD budget allocations +* flock.ldg - Transactions related to Flock. Large events will typically get their own file. +* fudcon-apac.ldg - Transactions related to FUDCon APAC. +* fudcon-latam.ldg - Transactions related to FUDCon LATAM. +* na.ldg|latam.ldg|emea.ldg|apac.ldg - Transactions and budget allocations for each Ambassador region. +* pending.ldg - When necessary this file contains encumberances for budget planning and transactions expected to be delayed in clearing. + +Additionally there are some files in the `common` directory. Most of these are not used, but are planned for use. + +* cc-report.sh - this is the beginnings of a script to generate credit card reports for regional meeting card holders. +* notes.txt - notes :) +* validator.ledger - a validation file that can be used to verify the validity of the ledger files. This needs additional work. + +By convention, budget entries are listed first and transactions entries follow. + +More details on the contents of these files can be found in the link:faq_entries.adoc[Entries FAQ] diff --git a/docs/reimbursement.adoc b/docs/reimbursement.adoc new file mode 100644 index 0000000..aa54ca7 --- /dev/null +++ b/docs/reimbursement.adoc @@ -0,0 +1,26 @@ +Reimbursement Policies +====================== + +**Note: Subgroups are free to add additional requirements that are more strict than the ones outlined below.** + +Holding with our current policies, reimbursement will depend on submission of an Event Report to the appropriate channels (mail lists, communityblog, and the planet/magazine when applicable. If you attend a FAD you should write your report relative to the FAD. In general every funded person is expected write a separate report unless it is demonstrated that they all contributed to the larger overall reporting. + +Event reports include a very short list of bullet points. These bullet points are the necessary ammunition we need to reinforce our proposals to increase funding for regional programs in the future. These bullet points should cover two areas, *Action* and *Impact*. + +Action is any typical or special activity that ambassadors lead regionally such as: + +- Tabling at Conferences, Conventions, or other large events +- Presenting/Representing Fedora at Local Meetups +- Organizing FADS, Workshops, or other Fedora-specific Events + +Impact includes the outcomes from the activities as above. This includes things like: + +- Attendees contacted or reached +- Fedora Badges issued at or as a result of the event +- Pull requests and patches submitted as a result of event +- Bugs reported/Tickets Filed +- Candidates sourced (i.e. Outreachy, GSoC, and/or other FOSS programs) +- Articles/Videos/Photos/Content published by or about regional team +- Social media mentions and interactions generated by event +- Other supporting evidence data that shows the results of your effort +- Links to and reach of posts on Fedora social media and publishing channels diff --git a/index.adoc b/index.adoc new file mode 100644 index 0000000..4656780 --- /dev/null +++ b/index.adoc @@ -0,0 +1,10 @@ +Fedora Budget +============= + +This website is the public record for all information regarding money allocated and spent by the Fedora Project. Budget numbers are updated after every entered transaction.footnote:[Today this has to be done manually, we are working on implemeting a git webhook for build and publish. Want to help? contact mailto:bex@pobox.com[Brian Exelbierd]]. + +The Fedora Project operates on fiscal year from March 1 to February 28. Every year the Fedora Council allocates the budget to various groups inside of Fedora. For more information, read the link:faq_general.adoc[general FAQ]. + +To the left you can find the documentation and reporting for various Fiscal Years. + +**Note: This is not a place to request money.** Go to the appropriate group for what you want to do. For example, approach the Council about a FAD or an Ambassador Region about an event.
This is an automated email from the git hooks/post-receive script.
bex pushed a commit to branch master in repository fedora-budget.
commit ab360e0a767b0ec55f699b8cdb741fc1ab393349 Author: Brian (bex) Exelbierd bex@pobox.com Date: Thu Mar 23 17:27:10 2017 -0400
Transactions for EMEA and NA
NA sponsorship for Bitcamp and Scale Reimbursement EMEA Free Software Activity Day Milan ticket --- FY18/ledger/emea.ldg | 11 +++++++++++ FY18/ledger/na.ldg | 18 ++++++++++++++++++ 2 files changed, 29 insertions(+)
diff --git a/FY18/ledger/emea.ldg b/FY18/ledger/emea.ldg index ca8aca3..189068a 100644 --- a/FY18/ledger/emea.ldg +++ b/FY18/ledger/emea.ldg @@ -2,3 +2,14 @@ ; Budget EMEA:Unallocated $2165 EMEA:Q1 -$2165 + +~ every 2 years + ; Budget + EMEA:Q1 $0 + EMEA:Q1:FSAD-Milano -$0 + +2017-03-15 Jona Airfare for Free Software Activity Day Milan + ; Ticket: https://pagure.io/ambassadors-emea/funding_requests/issue/4 + ; Payment: bex CC + Expense:Transportation $173.38 ; 160.77 EUR + EMEA:Q1:FSAD-Milano -$999.99 diff --git a/FY18/ledger/na.ldg b/FY18/ledger/na.ldg index 687af51..53347b3 100644 --- a/FY18/ledger/na.ldg +++ b/FY18/ledger/na.ldg @@ -6,10 +6,28 @@ ~ every 2 years ; Budget NA:Q1 $0 + NA:Q1:SCaLE15x -$0 NA:Q1:LFNW -$0 + NA:Q1:Bitcamp -$0
2017-03-15 * LinuxFest NorthWest Booth Fee ; Ticket: https://pagure.io/ambassadors-na/tasks/issue/167 ; Payment: RH Meeting Card - jmadriaga Expense:Trade Show $1500 NA:Q1:LFNW -$1500 + +2017-03-15 * Bitcamp Sponsorship + ; Ticket: https://pagure.io/ambassadors-na/tasks/issue/170 + ; Payment: RH Meeting Card - jmadriaga + Expense:Trade Show $999.99 + NA:Q1:Bitcamp -$999.99 + +2017-03-15 SCaLE15x reimbursement - lajuggler + ; Ticket: https://pagure.io/ambassadors-na/tasks/issue/170 + ; Payment: bex CC + Expense:Lodging $589.04 + Expense:Parking/Tolls $54.00 + Expense:Fuel $7.00 + Expense:Lodging:Paypal Fee $25.65 + NA:Q1:SCaLE15x -$675.69 +
budget-devel@lists.fedoraproject.org