@ -0,0 +1,22 @@ | |||||
# See: https://cwiki.apache.org/confluence/display/INFRA/git+-+.asf.yaml+features | |||||
github: | |||||
features: | |||||
# Enable issue management | |||||
issues: true | |||||
notifications: | |||||
commits: wave@apache.org | |||||
issues: wave@apache.org | |||||
pullrequests: wave@apache.org | |||||
pelican: | |||||
notify: wave@apache.org | |||||
autobuild: preview/* | |||||
target: asf-site | |||||
theme: theme/apache | |||||
whoami: main | |||||
staging: | |||||
profile: ~ | |||||
whoami: asf-site | |||||
autostage: preview/* |
@ -0,0 +1,10 @@ | |||||
# EditorConfig is awesome: https://EditorConfig.org | |||||
# top-most EditorConfig file | |||||
root = true | |||||
# Unix-style newlines with a newline ending every file | |||||
[*] | |||||
charset = utf-8 | |||||
end_of_line = lf | |||||
insert_final_newline = true |
@ -0,0 +1,89 @@ | |||||
name: Lint | |||||
on: | |||||
workflow_dispatch: | |||||
inputs: | |||||
logLevel: | |||||
description: 'Log level' | |||||
required: true | |||||
default: 'warning' | |||||
tags: | |||||
description: 'Perform Lint Check' | |||||
jobs: | |||||
flake8: | |||||
name: Flake8 | |||||
runs-on: ubuntu-latest | |||||
strategy: | |||||
matrix: | |||||
python-version: [3.8] | |||||
steps: | |||||
- uses: actions/checkout@v2 | |||||
- name: Set up Python ${{ matrix.python-version }} | |||||
uses: actions/setup-python@v2 | |||||
with: | |||||
python-version: ${{ matrix.python-version }} | |||||
- name: Install dependencies | |||||
run: | | |||||
python -m pip install --upgrade pip | |||||
pip install flake8 | |||||
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi | |||||
- name: Lint with flake8 | |||||
run: | | |||||
# stop the build if there are Python syntax errors or undefined names | |||||
flake8 . --count --ignore=E201,E501,W605 --show-source --statistics | |||||
markdownlint: | |||||
runs-on: ${{ matrix.os }} | |||||
strategy: | |||||
matrix: | |||||
os: | |||||
- ubuntu-latest | |||||
node_version: | |||||
- 14 | |||||
architecture: | |||||
- x64 | |||||
name: Markdown Node ${{ matrix.node_version }} - ${{ matrix.architecture }} on ${{ matrix.os }} | |||||
steps: | |||||
- uses: actions/checkout@v2 | |||||
- name: Setup node | |||||
uses: actions/setup-node@v2 | |||||
with: | |||||
node-version: ${{ matrix.node_version }} | |||||
architecture: ${{ matrix.architecture }} | |||||
- run: npm install -g markdownlint-cli@0.27.1 | |||||
- run: markdownlint '**/*.md' | |||||
misspell: | |||||
name: Check Spelling | |||||
runs-on: ubuntu-latest | |||||
steps: | |||||
- name: Check Out | |||||
uses: actions/checkout@v2 | |||||
- name: Install | |||||
run: | | |||||
wget -O - -q https://git.io/misspell | sh -s -- -b . | |||||
- name: Misspell | |||||
run: | | |||||
git ls-files --empty-directory | xargs ./misspell -error | |||||
trailing-whitespace: | |||||
name: Trailing whitespace | |||||
runs-on: ubuntu-latest | |||||
steps: | |||||
- uses: actions/checkout@v2 | |||||
- name: Check for trailing whitespace | |||||
run: "! git grep -EIn $'[ \t]+$'" | |||||
yamllint: | |||||
name: YAML | |||||
runs-on: ubuntu-latest | |||||
steps: | |||||
- uses: actions/checkout@v2 | |||||
- uses: actions/setup-python@v2 | |||||
with: | |||||
python-version: '3.x' # Version range or exact version of a Python version to use, using SemVer's version range syntax | |||||
architecture: 'x64' # optional x64 or x86. Defaults to x64 if not specified | |||||
- name: Install dependencies | |||||
run: | | |||||
python -m pip install --upgrade pip | |||||
pip install yamllint | |||||
- name: YAML Lint | |||||
run: | | |||||
yamllint --strict . |
@ -0,0 +1,6 @@ | |||||
*.pyc | |||||
*.swp | |||||
__pycache__ | |||||
pelican.auto.py | |||||
site-generated/ | |||||
.authtokens |
@ -0,0 +1,16 @@ | |||||
# https://github.com/DavidAnson/markdownlint#rules--aliases | |||||
# MD004 ul-style - Unordered list style | |||||
MD004: false | |||||
# MD013 line-length - Line length | |||||
MD013: false | |||||
# MD033 no-inline-html - Inline HTML | |||||
MD033: false | |||||
# MD034 no-bare-urls - Bare URL used | |||||
MD034: false | |||||
# MD041 first-line-heading/first-line-h1 | |||||
MD041: false |
@ -0,0 +1,9 @@ | |||||
--- | |||||
extends: default | |||||
rules: | |||||
colons: disable | |||||
document-start: disable | |||||
line-length: disable | |||||
truthy: disable |
@ -0,0 +1,202 @@ | |||||
Apache License | |||||
Version 2.0, January 2004 | |||||
http://www.apache.org/licenses/ | |||||
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION | |||||
1. Definitions. | |||||
"License" shall mean the terms and conditions for use, reproduction, | |||||
and distribution as defined by Sections 1 through 9 of this document. | |||||
"Licensor" shall mean the copyright owner or entity authorized by | |||||
the copyright owner that is granting the License. | |||||
"Legal Entity" shall mean the union of the acting entity and all | |||||
other entities that control, are controlled by, or are under common | |||||
control with that entity. For the purposes of this definition, | |||||
"control" means (i) the power, direct or indirect, to cause the | |||||
direction or management of such entity, whether by contract or | |||||
otherwise, or (ii) ownership of fifty percent (50%) or more of the | |||||
outstanding shares, or (iii) beneficial ownership of such entity. | |||||
"You" (or "Your") shall mean an individual or Legal Entity | |||||
exercising permissions granted by this License. | |||||
"Source" form shall mean the preferred form for making modifications, | |||||
including but not limited to software source code, documentation | |||||
source, and configuration files. | |||||
"Object" form shall mean any form resulting from mechanical | |||||
transformation or translation of a Source form, including but | |||||
not limited to compiled object code, generated documentation, | |||||
and conversions to other media types. | |||||
"Work" shall mean the work of authorship, whether in Source or | |||||
Object form, made available under the License, as indicated by a | |||||
copyright notice that is included in or attached to the work | |||||
(an example is provided in the Appendix below). | |||||
"Derivative Works" shall mean any work, whether in Source or Object | |||||
form, that is based on (or derived from) the Work and for which the | |||||
editorial revisions, annotations, elaborations, or other modifications | |||||
represent, as a whole, an original work of authorship. For the purposes | |||||
of this License, Derivative Works shall not include works that remain | |||||
separable from, or merely link (or bind by name) to the interfaces of, | |||||
the Work and Derivative Works thereof. | |||||
"Contribution" shall mean any work of authorship, including | |||||
the original version of the Work and any modifications or additions | |||||
to that Work or Derivative Works thereof, that is intentionally | |||||
submitted to Licensor for inclusion in the Work by the copyright owner | |||||
or by an individual or Legal Entity authorized to submit on behalf of | |||||
the copyright owner. For the purposes of this definition, "submitted" | |||||
means any form of electronic, verbal, or written communication sent | |||||
to the Licensor or its representatives, including but not limited to | |||||
communication on electronic mailing lists, source code control systems, | |||||
and issue tracking systems that are managed by, or on behalf of, the | |||||
Licensor for the purpose of discussing and improving the Work, but | |||||
excluding communication that is conspicuously marked or otherwise | |||||
designated in writing by the copyright owner as "Not a Contribution." | |||||
"Contributor" shall mean Licensor and any individual or Legal Entity | |||||
on behalf of whom a Contribution has been received by Licensor and | |||||
subsequently incorporated within the Work. | |||||
2. Grant of Copyright License. Subject to the terms and conditions of | |||||
this License, each Contributor hereby grants to You a perpetual, | |||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable | |||||
copyright license to reproduce, prepare Derivative Works of, | |||||
publicly display, publicly perform, sublicense, and distribute the | |||||
Work and such Derivative Works in Source or Object form. | |||||
3. Grant of Patent License. Subject to the terms and conditions of | |||||
this License, each Contributor hereby grants to You a perpetual, | |||||
worldwide, non-exclusive, no-charge, royalty-free, irrevocable | |||||
(except as stated in this section) patent license to make, have made, | |||||
use, offer to sell, sell, import, and otherwise transfer the Work, | |||||
where such license applies only to those patent claims licensable | |||||
by such Contributor that are necessarily infringed by their | |||||
Contribution(s) alone or by combination of their Contribution(s) | |||||
with the Work to which such Contribution(s) was submitted. If You | |||||
institute patent litigation against any entity (including a | |||||
cross-claim or counterclaim in a lawsuit) alleging that the Work | |||||
or a Contribution incorporated within the Work constitutes direct | |||||
or contributory patent infringement, then any patent licenses | |||||
granted to You under this License for that Work shall terminate | |||||
as of the date such litigation is filed. | |||||
4. Redistribution. You may reproduce and distribute copies of the | |||||
Work or Derivative Works thereof in any medium, with or without | |||||
modifications, and in Source or Object form, provided that You | |||||
meet the following conditions: | |||||
(a) You must give any other recipients of the Work or | |||||
Derivative Works a copy of this License; and | |||||
(b) You must cause any modified files to carry prominent notices | |||||
stating that You changed the files; and | |||||
(c) You must retain, in the Source form of any Derivative Works | |||||
that You distribute, all copyright, patent, trademark, and | |||||
attribution notices from the Source form of the Work, | |||||
excluding those notices that do not pertain to any part of | |||||
the Derivative Works; and | |||||
(d) If the Work includes a "NOTICE" text file as part of its | |||||
distribution, then any Derivative Works that You distribute must | |||||
include a readable copy of the attribution notices contained | |||||
within such NOTICE file, excluding those notices that do not | |||||
pertain to any part of the Derivative Works, in at least one | |||||
of the following places: within a NOTICE text file distributed | |||||
as part of the Derivative Works; within the Source form or | |||||
documentation, if provided along with the Derivative Works; or, | |||||
within a display generated by the Derivative Works, if and | |||||
wherever such third-party notices normally appear. The contents | |||||
of the NOTICE file are for informational purposes only and | |||||
do not modify the License. You may add Your own attribution | |||||
notices within Derivative Works that You distribute, alongside | |||||
or as an addendum to the NOTICE text from the Work, provided | |||||
that such additional attribution notices cannot be construed | |||||
as modifying the License. | |||||
You may add Your own copyright statement to Your modifications and | |||||
may provide additional or different license terms and conditions | |||||
for use, reproduction, or distribution of Your modifications, or | |||||
for any such Derivative Works as a whole, provided Your use, | |||||
reproduction, and distribution of the Work otherwise complies with | |||||
the conditions stated in this License. | |||||
5. Submission of Contributions. Unless You explicitly state otherwise, | |||||
any Contribution intentionally submitted for inclusion in the Work | |||||
by You to the Licensor shall be under the terms and conditions of | |||||
this License, without any additional terms or conditions. | |||||
Notwithstanding the above, nothing herein shall supersede or modify | |||||
the terms of any separate license agreement you may have executed | |||||
with Licensor regarding such Contributions. | |||||
6. Trademarks. This License does not grant permission to use the trade | |||||
names, trademarks, service marks, or product names of the Licensor, | |||||
except as required for reasonable and customary use in describing the | |||||
origin of the Work and reproducing the content of the NOTICE file. | |||||
7. Disclaimer of Warranty. Unless required by applicable law or | |||||
agreed to in writing, Licensor provides the Work (and each | |||||
Contributor provides its Contributions) on an "AS IS" BASIS, | |||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or | |||||
implied, including, without limitation, any warranties or conditions | |||||
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A | |||||
PARTICULAR PURPOSE. You are solely responsible for determining the | |||||
appropriateness of using or redistributing the Work and assume any | |||||
risks associated with Your exercise of permissions under this License. | |||||
8. Limitation of Liability. In no event and under no legal theory, | |||||
whether in tort (including negligence), contract, or otherwise, | |||||
unless required by applicable law (such as deliberate and grossly | |||||
negligent acts) or agreed to in writing, shall any Contributor be | |||||
liable to You for damages, including any direct, indirect, special, | |||||
incidental, or consequential damages of any character arising as a | |||||
result of this License or out of the use or inability to use the | |||||
Work (including but not limited to damages for loss of goodwill, | |||||
work stoppage, computer failure or malfunction, or any and all | |||||
other commercial damages or losses), even if such Contributor | |||||
has been advised of the possibility of such damages. | |||||
9. Accepting Warranty or Additional Liability. While redistributing | |||||
the Work or Derivative Works thereof, You may choose to offer, | |||||
and charge a fee for, acceptance of support, warranty, indemnity, | |||||
or other liability obligations and/or rights consistent with this | |||||
License. However, in accepting such obligations, You may act only | |||||
on Your own behalf and on Your sole responsibility, not on behalf | |||||
of any other Contributor, and only if You agree to indemnify, | |||||
defend, and hold each Contributor harmless for any liability | |||||
incurred by, or claims asserted against, such Contributor by reason | |||||
of your accepting any such warranty or additional liability. | |||||
END OF TERMS AND CONDITIONS | |||||
APPENDIX: How to apply the Apache License to your work. | |||||
To apply the Apache License to your work, attach the following | |||||
boilerplate notice, with the fields enclosed by brackets "[]" | |||||
replaced with your own identifying information. (Don't include | |||||
the brackets!) The text should be enclosed in the appropriate | |||||
comment syntax for the file format. We also recommend that a | |||||
file or class name and description of purpose be included on the | |||||
same "printed page" as the copyright notice for easier | |||||
identification within third-party archives. | |||||
Copyright [yyyy] [name of copyright owner] | |||||
Licensed under the Apache License, Version 2.0 (the "License"); | |||||
you may not use this file except in compliance with the License. | |||||
You may obtain a copy of the License at | |||||
http://www.apache.org/licenses/LICENSE-2.0 | |||||
Unless required by applicable law or agreed to in writing, software | |||||
distributed under the License is distributed on an "AS IS" BASIS, | |||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||||
See the License for the specific language governing permissions and | |||||
limitations under the License. |
@ -0,0 +1,5 @@ | |||||
Apache Template | |||||
Copyright 2021 The Apache Software Foundation | |||||
This product includes software developed at | |||||
The Apache Software Foundation (http://www.apache.org/). |
@ -0,0 +1,14 @@ | |||||
# Apache Template | |||||
[Apache Template](https://template.staged.apache.org/) | |||||
This repository provides a website template for [ASF-Pelican](https://infra.apache.org/asf-pelican.html). That page, and pages linked from it, provide extensive documentation on how to deploy the template. | |||||
Pelican build site infrastructure is found [here](https://github.com/apache/infrastructure-pelican). (WIP) | |||||
If you use this template for your project website and provide a [logo](https://www.apache.org/logos/) then | |||||
your project should pass "[Apache Project Website Checks](https://whimsy.apache.org/site/)". | |||||
## How to use this template | |||||
Follow the [Getting started guide](https://infra.apache.org/asf-pelican-gettingstarted.html). |
@ -0,0 +1,114 @@ | |||||
# key-value pairs - examples | |||||
test1: 'test id' | |||||
test2: 'testing 1, 2, 3' | |||||
# | |||||
# data sources to slurp and sequence | |||||
# index.ezmd | |||||
# foundation/index.ezmd | |||||
# foundation/board/index.ezmd | |||||
# licenses/exports/index.ezmd | |||||
ci: | |||||
# load, transform, and create data sequences from committee info | |||||
url: https://whimsy.apache.org/public/committee-info.json | |||||
board: | |||||
# used on /foundation/ and /foundation/board/ | |||||
description: 'Board of Directors sequence' | |||||
# select ci['board']['roster'] for the sequence | |||||
path: board.roster | |||||
officers: | |||||
description: 'Foundation Officers sequence' | |||||
# select ci['officers'] for the sequence | |||||
path: officers | |||||
# convert ci['officers']['roster'] | |||||
asfid: roster | |||||
committees: | |||||
description: 'Foundation Committees sequence' | |||||
# ci['committees'] | |||||
path: committees | |||||
# remove all report and roster dictionaries from committees | |||||
trim: report,roster | |||||
# convert ci['committees']['chair'] | |||||
asfid: chair | |||||
ci: | |||||
# used on /foundation/ | |||||
description: 'Dictionary of officers and committees' | |||||
# save a merged dictionary version of these sequences. | |||||
dictionary: officers,committees | |||||
projects: | |||||
description: 'Current Projects' | |||||
# ci['committees'] | |||||
path: committees | |||||
# select only where 'pmc' is true. | |||||
where: pmc | |||||
# sort by project name | |||||
alpha: display_name | |||||
featured_projs: | |||||
# used on / | |||||
description: 'Featured Projects' | |||||
# base on projects sequence | |||||
sequence: projects | |||||
# take a random sample of 3 | |||||
random: 3 | |||||
# logo path - use apache powered by if missing | |||||
logo: /logos/res/{}/default.png,/foundation/press/kit/poweredBy/Apache_PoweredBy.svg | |||||
pl: | |||||
# used on / | |||||
description: 'Project List Columns' | |||||
# base on projects sequence | |||||
sequence: projects | |||||
# split into 6 column sequence adding letters of the alphabet and putting httpd first | |||||
split: 6 | |||||
# | |||||
# used on index.ezmd | |||||
pods: | |||||
# load, transform, and create data sequences from podling info | |||||
url: https://projects.apache.org/json/foundation/podlings.json | |||||
podlings: | |||||
description: 'Current Podlings' | |||||
# create a sequence from the dictionary | |||||
featured_pods: | |||||
description: 'Featured Podlings' | |||||
# based on the podlings sequence | |||||
sequence: podlings | |||||
# take a random sample of 3 | |||||
random: 3 | |||||
# logo path - use incubator if missing. Strip "Apache" and "(incubator)" from name. | |||||
logo: /logos/res/{}/default.png,/logos/res/incubator/default.png | |||||
# | |||||
# used on licenses/exports/index.ezmd | |||||
eccn: | |||||
# load, transform, and create a four tiered structure of sequence objects | |||||
# projects, products, versions, and sources | |||||
file: data/eccn/eccnmatrix.yaml | |||||
# | |||||
# used on index.ezmd | |||||
twitter: | |||||
# load, transform, and create a sequence of tweets | |||||
handle: 'TheASF' | |||||
count: 1 | |||||
# | |||||
# used on index.ezmd | |||||
foundation: | |||||
# load, transform, and create a sequence of foundation blogs | |||||
blog: https://blogs.apache.org/foundation/feed/entries/atom | |||||
count: 3 | |||||
content: 44 | |||||
# | |||||
# used on index.ezmd | |||||
planet: | |||||
# load, transform, and create a sequence of foundation blogs | |||||
blog: https://blogs.apache.org/planet/feed/entries/atom | |||||
count: 1 | |||||
# | |||||
# used on index.ezmd | |||||
conferences: | |||||
# load, transform, and create a sequence of foundation blogs | |||||
blog: https://blogs.apache.org/conferences/feed/entries/atom | |||||
count: 1 | |||||
# | |||||
# used on downloads.ezmd | |||||
release: | |||||
# load a sequence of release distributions | |||||
release: hadoop | |||||
src: src | |||||
revision: True |
@ -0,0 +1,3 @@ | |||||
RewriteEngine On | |||||
RewriteCond %{HTTPS} off | |||||
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] |
@ -0,0 +1 @@ | |||||
This is the top level of the content tree |
@ -0,0 +1,3 @@ | |||||
Title: Apache Download Mirrors | |||||
[insertfile "include/archive.ezt"] |
@ -0,0 +1,23 @@ | |||||
Title: Blogs | |||||
version: 1.0 | |||||
<!-- Licensed under ALv2 --> | |||||
### Foundation | |||||
[for foundation] | |||||
#### Post | |||||
[[][foundation.title]]([foundation.href]) | |||||
[format "raw"][foundation.content][end] | |||||
[end] | |||||
### Planet | |||||
[for planet] | |||||
[[][planet.title]]([planet.href]) | |||||
[end] | |||||
### Conferences | |||||
[for conferences] | |||||
[[][conferences.title]]([conferences.href]) | |||||
[end] | |||||
@ -0,0 +1,6 @@ | |||||
Title: Apache Board of Directors | |||||
version: 1.0 | |||||
<!-- Licensed under ALv2 --> | |||||
[for board] | |||||
- [[][board.name]](mailto:[board.key_id]@apache.org)[end] |
@ -0,0 +1,3 @@ | |||||
Title: Apache Download Mirrors | |||||
[insertfile "include/closer.ezt"] |
@ -0,0 +1,8 @@ | |||||
Title: Apache Committees | |||||
version: 1.0 | |||||
<!-- Licensed under ALv2 --> | |||||
| Committee | Chair | Paragraph | | |||||
| ----------- | ----------- | ----------- | | |||||
[for committees][if-any committees.pmc][else]| [committees.display_name] | [committees.chair] | [committees.paragraph] | | |||||
[end][end] |
@ -0,0 +1 @@ | |||||
Test file |
@ -0,0 +1 @@ | |||||
Test file |
@ -0,0 +1 @@ | |||||
Test file |
@ -0,0 +1,18 @@ | |||||
Title: Download Releases | |||||
# Releases | |||||
[[]TOC] | |||||
## Keys | |||||
[[]KEYS]([release-keys]) | |||||
[for release] | |||||
## [release.name] | |||||
[for release.release]* [[][release.release.release]](https://www.apache.org/dyn/closer.lua/[release-project]/[release.version]/[release.release.release]) | |||||
-- ([[]signature](https://downloads.apache.org/[release-project]/[release.version]/[release.release.signature])) | |||||
-- ([[]checksum](https://downloads.apache.org/[release-project]/[release.version]/[release.release.checksum])) | |||||
-- ([release.release.fsize]) | |||||
-- ([release.release.dtm]) | |||||
[end][end] |
@ -0,0 +1,20 @@ | |||||
Title: Export Notification | |||||
version: 1.0 | |||||
asf_headings: False | |||||
<!-- Licensed under ALv2 --> | |||||
## Structure | |||||
We have ECCN. | |||||
### Project -- Contact | |||||
- Product | |||||
- Version / ECCN Classification / Controlled Sources | |||||
## Project Notifications | |||||
[for eccn] | |||||
### [[][eccn.name]]([eccn.href])[if-any eccn.contact] -- [eccn.contact][end] | |||||
[if-any eccn.product][for eccn.product] - [eccn.product.name] | |||||
[for eccn.product.versions] - [eccn.product.versions.version] / [eccn.product.versions.eccn] | |||||
[for eccn.product.versions.source] / [[][eccn.product.versions.source.manufacturer]]([eccn.product.versions.source.href] "[eccn.product.versions.source.why]") | |||||
[end][end][end][end][end] |
@ -0,0 +1,237 @@ | |||||
Title: Apache Petri - FAQ | |||||
source_button: yes | |||||
<!-- Licensed under ALv2 --> | |||||
[TOC] | |||||
# General | |||||
## What is Apache Petri? | |||||
The Apache Petri (as in “petri dish” –where cultures are grown and bloom) committee | |||||
assists external project communities interested in becoming an Apache project to | |||||
learn how The Apache Software Foundation (ASF) works, its views on community, and | |||||
how to build a healthy community for the long -term. | |||||
Petri’s mission is to mentor existing external communities (“cultures”) about | |||||
“The Apache Way” by focusing on community governance that includes discussions | |||||
about ASF policies. The mentoring and education is conducted on a mailing list. | |||||
The primary goal is to reach a point where a recommendation to the ASF Board can | |||||
be made to construct a new Apache Project Management Committee (PMC) for the | |||||
external community. | |||||
In the Incubator model, projects graduate to become Apache Top-Level Projects (TLPs). | |||||
Under Petri, projects can become TLPs under a process described as “direct to TLP”, | |||||
which is an alternative path to that used by the Apache Incubator. Apache Petri aims | |||||
to shepherd projects and their communities to a point of confidence that the | |||||
ASF Board will welcome the community to the Apache family of projects as a | |||||
Top-Level Project. | |||||
## How is Petri different from the Apache Incubator? | |||||
Apache Petri provides an alternative process to Incubation that would be suitable | |||||
for some projects and their communities. Petri provides educational resources, and | |||||
mentors external groups on their path to becoming an official project of the ASF. | |||||
The primary goal is to reach a point where a recommendation to the ASF Board can | |||||
be made to construct a PMC for the community. | |||||
“Podlings” in the Apache Incubator are provided a complete set of Foundation-based | |||||
resources upon their acceptance into the Incubator. Since Petri will begin | |||||
mentoring the community “where they live”, it will not provide an initial set of | |||||
resources. Over time, as part of the education process and shift of the community | |||||
towards the Foundation, resources will be provided as appropriate. It is expected | |||||
that once a PMC is constructed, any resources not hosted at the Foundation will | |||||
be the new PMC’s first order of business (i.e. a transition plan would be part of | |||||
the presentation to the Board). | |||||
<h2 id="whats-special">Why does this matter? What is special about The Apache Way? | |||||
<a class="headerlink" href="#whats-special" title="Permanent link">¶</a></h2> | |||||
The Apache Way is the ASF’s process of community-led development is the backbone | |||||
of all Apache projects, and emulated by many Open Source foundations. The Apache | |||||
Way comprises: | |||||
* Earned Authority (merit); | |||||
* Community of Peers; | |||||
* Open Communications; | |||||
* Consensus Decision Making; and | |||||
* Responsible Oversight. | |||||
For more information, see [The Apache Way](https://www.apache.org/theapacheway/). | |||||
The Apache Software Foundation's mission is to provide software for the public good. | |||||
Quoting from [The Apache Way to Sustainable Open Source Success](https://s.apache.org/GhnI): | |||||
> To allow us to deliver on this part of the mission, it is critical that we adopt a | |||||
> license that uses the law to protect the software curated here at the Foundation. | |||||
> For us that license is the [Apache License, Version 2](https://www.apache.org/licenses/LICENSE-2.0.html). | |||||
> In addition, we adopt an [inbound licensing policy](https://apache.org/legal/resolved.html) | |||||
> that defines which licenses are allowable on software reused within Apache projects. This policy can be summarized as: | |||||
> | |||||
> * The license must meet the [Open Source Definition (OSD)](https://opensource.org/osd). | |||||
> * The license, as applied in practice, must not impose significant restrictions beyond those imposed by the Apache License 2.0. | |||||
## What does “Direct to TLP” entail? | |||||
The Board makes the ultimate decision, and generally ensures that the project has: | |||||
* Demonstrated | |||||
[vendor neutrality](https://community.apache.org/projectIndependence.html) | |||||
in the | |||||
[community](https://incubator.apache.org/guides/community.html); | |||||
* Demonstrated understanding of the | |||||
[Apache Release Policy](https://www.apache.org/legal/release-policy.html) | |||||
including [Applying the Apache License](https://infra.apache.org/apply-license.html); | |||||
* Completed | |||||
[Contributor Licence Agreements and Software Grant Agreements](https://www.apache.org/licenses/contributor-agreements.html); | |||||
* Performed a | |||||
[Suitable Name Search](https://incubator.apache.org/guides/names.html); | |||||
* Developed a | |||||
[Transition Plan](https://incubator.apache.org/guides/transitioning_asf.html) | |||||
to move the project's resources to the ASF; | |||||
* Shown how the community will | |||||
[recognize merit](https://incubator.apache.org/guides/community.html); and | |||||
* Shown auditable decision making on the provided mailing list. | |||||
## Is Apache Petri right for you? | |||||
If you are: | |||||
* An established, diverse community that already releases quickly; or | |||||
* A project with a single “leader” that seeks to grow to a community-driven | |||||
development model; or | |||||
* A company that has an Open Source project with other vendors and wants to | |||||
expand and diversify its community... | |||||
And you are: | |||||
* Willing to license your project's works under the [Apache License, Version 2](https://www.apache.org/licenses/LICENSE-2.0.html). | |||||
Petri would help the community learn how to integrate governance and | |||||
development “The Apache Way” without interrupting the project’s velocity. | |||||
In keeping with the ASF’s slogan of “Community Over Code”, we are unable to | |||||
accept projects that are not supported by some form of community. | |||||
# Process | |||||
## What about the Maturity Model? Have other projects bypassed incubation by meeting these requirements? | |||||
In March 2015 Apache Zest (now Polygene) became the first project to enter | |||||
the ASF as a Top-Level Project — without entering the Apache Incubator. As | |||||
part of the discussion, the project | |||||
[chose to review itself](https://mail-private.apache.org/members/private-arch/board/201502.mbox/%3CCADmm%2BKf9A1O%2B%3DKOd9__sDF2-kMh9b3iy3cf4NCRUnSDOPDq92w%40mail.gmail.com%3E) | |||||
(private link) against the | |||||
[Apache Maturity Model](http://s.apache.org/O4p), that addresses the integrity | |||||
of a project's code, copyright, licenses, releases, community, consensus | |||||
building, and independence, among other qualities. | |||||
The Apache Maturity Model will not be a requirement for communities (as the | |||||
Model does not have broad consensus as a true and thorough viewpoint), but | |||||
the Model may provide a helpful guide for some. | |||||
## How long does the Petri process take? | |||||
There’s no “one size fits all” answer here. Some external projects have | |||||
applied to the Apache Board to become TLPs, and have become TLPs without | |||||
going through either Petri or the Incubator. Historically, every project’s | |||||
experience and time spent in the Apache Incubator varies, depending on its | |||||
specific needs and circumstances; this has ranged from less than one year | |||||
to more than three years. | |||||
Similarly, some projects undergoing Petri mentorship will take longer | |||||
than others. Petri is more about education about The Apache Way of project | |||||
governance and Apache Policy, and less about process. | |||||
## Do people involved in Petri-mentored projects need to sign ICLAs? | |||||
No, unless the projects intend to apply for TLP status and migrate their | |||||
source control to ASF hardware. This applies both to Incubator podlings | |||||
and direct-to-TLP applicants. | |||||
## If our project wants to become an official Apache project, what is the best way to do so? | |||||
There is more than one way to do so: not all incoming projects will be | |||||
mentored by Petri. Traditionally, the Apache Incubator has been the entry | |||||
path for external projects, codebases, and communities wishing to become | |||||
a part of the ASF. | |||||
Petri's primary goal is preparing a community for Direct-to-TLP; moving | |||||
from Petri to become a podling undergoing development in the Apache Incubator | |||||
is a possibility, but not mandated. | |||||
## If I propose my project to be mentored by Petri, will it be accepted? | |||||
That depends. First, there have to be available mentors. Second, the Petri | |||||
PMC may have to rate-limit intake, especially at first, in order not to | |||||
stretch itself too thin with its oversight duties. This is true of the | |||||
entire ASF: the Board may put intake of new TLPs on hold from time to | |||||
time, though it has never yet done that to date. | |||||
## What is the expected intake rate for Petri? | |||||
We anticipate 2-3 communities in the first year, with one per year likely following that. | |||||
## What should the Board expect from a Project that Petri Recommends to become a TLP? | |||||
This list is only complete in that we are considering what the Board | |||||
currently seems to require and it is as always up to the Board the | |||||
requirements for any particular TLP. In addition to the list of | |||||
items shared above, in the **What does “Direct to TLP” entail** section: | |||||
* **Graduation Resolution**. If there are Apache Members involved or | |||||
recruited then they will be included in the resolution. Apache | |||||
Members like anyone else are certainly invited to contribute | |||||
to the project. | |||||
* **Transfer of Registered Trademarks**. If there are any registered | |||||
trademarks then the transfer agreement will be discussed with | |||||
the VP, Brand in advance. | |||||
* **Software Grant**. Petri should collect [software grants](https://www.apache.org/licenses/contributor-agreements.html#grants). | |||||
* **Committers**. Petri can collect ICLAs in advance of going to TLP. | |||||
Petri can make the committers from a prospective community | |||||
Petri committers in order to create accounts. | |||||
* **Resources**. Graduation proposals will include a **Transition Plan** | |||||
explaining the actions that the project has already taken or intends to take once | |||||
the PMC is established. This may include: | |||||
* Creating Apache project mailing lists | |||||
* Creating Apache issue trackers | |||||
* Creating Apache wikis | |||||
* Creating Apache code repositories | |||||
* Migrating code repositories to Apache | |||||
* Applying the Apache License | |||||
* Creating Apache web presence | |||||
* Migrating web presence from Project to Apache | |||||
* Rebranding web, code, documentation from Project to Apache Project | |||||
* Retiring external Project and redirecting to Apache | |||||
* Creating and migrating CI, build, release processes to Apache Project | |||||
* Establish processes for release distribution at Apache | |||||
* New TLPs should report on their progress towards completing | |||||
their Transition Plan in their Board Reports. | |||||
## Who will provide guidance once the Petri mentor is gone after the assessment? | |||||
This assumes that the Mentor is no longer interested in the community | |||||
once it is assessed. Even if this were true TLPs have a range of Apache | |||||
committees and resources available. If necessary the Board can provide | |||||
additional guidance through the normal reporting process as the Board | |||||
does for every PMC. | |||||
## How can our project/community apply for Apache Petri mentorship? | |||||
Email discuss@petri.apache.org (public list; if you're not subscribe, | |||||
ask explicitly to be Cc'd on replies) | |||||
or private@petri.apache.org (private list, only Apache Petri PMC members | |||||
and Apache Members can subscribe) and introduce yourself! We don’t | |||||
have any forms or questionnaires, but may introduce these should | |||||
the need arise. | |||||
## If a project wants to move out of the Apache Incubator and into Petri, what happens? | |||||
We don’t recommend leaving the Incubator, if the podling is already | |||||
established there; podlings should strive to graduate. In the event | |||||
a community is unwilling to wait for graduation, and Petri has | |||||
accepted them, then the Incubator will need to retire the podling. | |||||
Petri will then take responsibility for the podling’s resources, and | |||||
perform any needed changes to make that happen. |
@ -0,0 +1,13 @@ | |||||
Title: Featured | |||||
version: 1.0 | |||||
<!-- Licensed under ALv2 --> | |||||
## Projects | |||||
[for featured_projs] | |||||
<img alt="Logo" width="100" src="https://www.apache.org/[featured_projs.logo]"/> [[]Apache [featured_projs.display_name]]([featured_projs.site]) | |||||
[end] | |||||
## Podlings | |||||
[for featured_pods] | |||||
<img alt="Logo" width="100" src="https://www.apache.org/[featured_pods.logo]"/> [[]Apache [featured_pods.name]]([featured_pods.homepage]) | |||||
[end] |
@ -0,0 +1,34 @@ | |||||
<h1 id="verify">Verify the integrity of the files<a class="headerlink" href="#verify" title="Permanent link">¶</a></h1> | |||||
<p>It is essential that you verify the integrity of the downloaded file using | |||||
the PGP signature (<code>.asc</code> file) or a hash (<code>.md5</code> or <code>.sha*</code> file). Please read <a href="/info/verification.html">Verifying Apache Software | |||||
Foundation Releases</a> for more information on why | |||||
you should verify our releases.</p> | |||||
<p>The PGP signature can be verified using PGP or GPG. First download the | |||||
<code>KEYS</code> as well as the <code>asc</code> signature file for the relevant distribution. | |||||
Make sure you get these files from the main distribution site, rather than | |||||
from a mirror. Then verify the signatures using</p> | |||||
<div class="codehilite"><pre><span class="c">% gpg --import KEYS</span> | |||||
<span class="c">% gpg --verify downloaded_file.asc downloaded_file</span> | |||||
</pre></div> | |||||
<p><em>or</em></p> | |||||
<div class="codehilite"><pre><span class="c">% pgpk -a KEYS</span> | |||||
<span class="c">% pgpv downloaded_file.asc</span> | |||||
</pre></div> | |||||
<p><em>or</em></p> | |||||
<div class="codehilite"><pre><span class="c">% pgp -ka KEYS</span> | |||||
<span class="c">% pgp downloaded_file.asc</span> | |||||
</pre></div> | |||||
<p>Alternatively, you can verify the MD5 hash on the file. A unix | |||||
program called <code>md5</code> or <code>md5sum</code> is included in many unix distributions. It | |||||
is also available as part of | |||||
<a href="http://www.gnu.org/software/textutils/textutils.html">GNU Textutils</a>. | |||||
Windows users can get binary md5 programs from | |||||
<a href="http://www.fourmilab.ch/md5/">here</a>, | |||||
<a href="http://www.pc-tools.net/win32/freeware/console/">here</a> , or | |||||
<a href="http://www.slavasoft.com/fsum/">here</a>.</p> |
@ -0,0 +1,67 @@ | |||||
<p>[if-any logo] <a href="[link]"><img alt="[logo]" src="[logo]" /></a> [end] We suggest the following mirror | |||||
site for your download:</p> | |||||
<p><a href="[preferred][path_info]"><strong>[preferred][path_info]</strong></a> </p> | |||||
<p>Other mirror sites are suggested below.</p> | |||||
<p>It is essential that you <a href="#verify">verify the integrity</a> of the downloaded file using | |||||
the PGP signature (<code>.asc</code> file) or a hash (<code>.md5</code> or <code>.sha*</code> file).</p> | |||||
<p>Please only use the backup mirrors to download KEYS, PGP signatures and hashes (SHA* etc) | |||||
-- or if no other mirrors are working.</p> | |||||
<p>[if-any http]</p> | |||||
<h1 id="http">HTTP<a class="headerlink" href="#http" title="Permanent link">¶</a></h1> | |||||
<p>[for http] <a href="[http][path_info]"><strong>[http][path_info]</strong></a> <br></br>[end]</p> | |||||
<p>[end]</p> | |||||
<p>[if-any ftp]</p> | |||||
<h1 id="ftp">FTP<a class="headerlink" href="#ftp" title="Permanent link">¶</a></h1> | |||||
<p>[for ftp] <a href="[ftp][path_info]"><strong>[ftp][path_info]</strong></a> <br></br>[end]</p> | |||||
<p>[end]</p> | |||||
<h1 id="backup">Backup Sites<a class="headerlink" href="#backup" title="Permanent link">¶</a></h1> | |||||
<p>Please only use the backup mirrors to download KEYS, PGP signatures and hashes (SHA* etc) | |||||
-- or if no other mirrors are working.</p> | |||||
<p>[if-any backup] [for backup] <a href="[backup][path_info]"><strong>[backup][path_info]</strong></a> <br></br>[end] [end]</p> | |||||
<p>The <a href="http://www.apache.org/mirrors/">full listing of mirror sites</a> is also | |||||
available.</p> | |||||
<h1 id="become">Becoming a mirror<a class="headerlink" href="#become" title="Permanent link">¶</a></h1> | |||||
<p>The procedure for setting up new mirrors is described in <a href="http://www.apache.org/info/how-to-mirror.html">How to become a | |||||
mirror</a>.</p> | |||||
<h1 id="verify">Verify the integrity of the files<a class="headerlink" href="#verify" title="Permanent link">¶</a></h1> | |||||
<p>It is essential that you verify the integrity of the downloaded file using | |||||
the PGP signature (<code>.asc</code> file) or a hash (<code>.md5</code> or <code>.sha*</code> file). Please read <a href="/info/verification.html">Verifying Apache Software | |||||
Foundation Releases</a> for more information on why | |||||
you should verify our releases.</p> | |||||
<p>The PGP signature can be verified using PGP or GPG. First download the | |||||
<code>KEYS</code> as well as the <code>asc</code> signature file for the relevant distribution. | |||||
Make sure you get these files from the main distribution site, rather than | |||||
from a mirror. Then verify the signatures using</p> | |||||
<div class="codehilite"><pre><span class="c">% gpg --import KEYS</span> | |||||
<span class="c">% gpg --verify downloaded_file.asc downloaded_file</span> | |||||
</pre></div> | |||||
<p><em>or</em></p> | |||||
<div class="codehilite"><pre><span class="c">% pgpk -a KEYS</span> | |||||
<span class="c">% pgpv downloaded_file.asc</span> | |||||
</pre></div> | |||||
<p><em>or</em></p> | |||||
<div class="codehilite"><pre><span class="c">% pgp -ka KEYS</span> | |||||
<span class="c">% pgp downloaded_file.asc</span> | |||||
</pre></div> | |||||
<p>Alternatively, you can verify the hash on the file.</p> | |||||
<p>Hashes can be calculated using GPG:</p> | |||||
<div class="codehilite"><pre><span class="c">% gpg --print-md SHA256 downloaded_file</span> | |||||
</pre></div> | |||||
<p>The output should be compared with the contents of the SHA256 file. | |||||
Similarly for other hashes (SHA512, SHA1, MD5 etc) which may be provided.</p> | |||||
<p>Windows 7 and later systems should all now have certUtil:</p> | |||||
<div class="codehilite"><pre><span class="c">% certUtil -hashfile pathToFileToCheck [HashAlgorithm]</span> | |||||
</pre></div> | |||||
<p>HashAlgorithm choices: MD2 MD4 MD5 SHA1 SHA256 SHA384 SHA512</p> | |||||
<p>Unix-like systems (and macOS) will have a utility called | |||||
md5, md5sum or shasum</p> |
@ -0,0 +1,37 @@ | |||||
Title: What is Apache Petri? | |||||
version: 1.0 | |||||
<!-- Licensed under ALv2 --> | |||||
![[]Apache Petri Logo](images/logo.svg) {.float-right} | |||||
The Apache Template is an effort to show how to use **Pelican ASF** | |||||
Here are various data inclusions: | |||||
["Title: %0, Version: %1" title version] | |||||
[include "projects/projects.snippet"] | |||||
{{ relative_source_path }} - {{ version }} - [{ board[1].name }] - {{ tester }} | |||||
[{ ci[boardchair][roster] }] - [{ ci[tac][chair] }] - [{ ci[infrastructureadministrator][roster] }] | |||||
[{ board[30].name }] - [{ eccn[11].product[0].name }] - [{ eccn[11].product[0].versions[0].version }] | |||||
## About "The Apache Way" {#the-way} | |||||
- [[]The Apache Way](https://www.apache.org/theapacheway/index.html) | |||||
- [[]Sustainable Open Source](https://s.apache.org/GhnI) | |||||
- [[]How it Works](https://www.apache.org/foundation/how-it-works.html) | |||||
- [[]Merit](https://www.apache.org/foundation/how-it-works.html#meritocracy) | |||||
- [[]Success at Apache](https://blogs.apache.org/foundation/category/SuccessAtApache) | |||||
Please read our [[]FAQ](/faq) | |||||
## Repositories and Issue Tracking | |||||
- [[]Website](https://github.com/apache/template-site) | |||||
- [[]Issues](https://github.com/apache/template-site/issues) | |||||
<p>["Title: %0, Version: %1" title version]</p> | |||||
@ -0,0 +1,6 @@ | |||||
title: Links | |||||
<!-- Licensed under ALv2 --> | |||||
## Project Status | |||||
- [Cookbook](projects/cookbook) |
@ -0,0 +1,25 @@ | |||||
title: Mentors at Apache Petri | |||||
<!-- Licensed under ALv2 --> | |||||
<script type="text/javascript"> | |||||
</script> | |||||
<style></style> | |||||
<iframe></iframe> | |||||
## Introduction | |||||
Mentors at Apache Petri provides insight into the Apache Way and general oversight of the learning process | |||||
for projects within the Apache Petri. | |||||
## Current mentors | |||||
- Daniel Gruno (humbedooh) | |||||
- Daniel Shahaf (danielsh) | |||||
- Dave Fisher (wave) | |||||
- David Nalley (ke4qqq) | |||||
- Greg Stein (gstein) | |||||
- Justin Erenkrantz (jerenkrantz) | |||||
- Ross Gardler (rgardler) | |||||
- Sander Striker (striker) |
@ -0,0 +1,11 @@ | |||||
Title: Apache Project List | |||||
version: 1.0 | |||||
source_button: yes | |||||
<!-- Licensed under ALv2 --> | |||||
# Projects | |||||
| Column 1 | Column 2 | Column 3 | Column 4 | Column 5 | Column 6 | | |||||
| ----------- | ----------- | ----------- | ----------- | ----------- | ----------- | | |||||
| [for pl_0][is pl_0.letter pl_0.display_name]**[pl_0.letter]**[else][[][pl_0.display_name]]([pl_0.site])[end]<br>[end] | [for pl_1][is pl_1.letter pl_1.display_name]**[pl_1.letter]**[else][[][pl_1.display_name]]([pl_1.site])[end]<br>[end] | [for pl_2][is pl_2.letter pl_2.display_name]**[pl_2.letter]**[else][[][pl_2.display_name]]([pl_2.site])[end]<br>[end] | [for pl_3][is pl_3.letter pl_3.display_name]**[pl_3.letter]**[else][[][pl_3.display_name]]([pl_3.site])[end]<br>[end] | [for pl_4][is pl_4.letter pl_4.display_name]**[pl_4.letter]**[else][[][pl_4.display_name]]([pl_4.site])[end]<br>[end] | [for pl_5][is pl_5.letter pl_5.display_name]**[pl_5.letter]**[else][[][pl_5.display_name]]([pl_5.site])[end]<br>[end] | | |||||
@ -0,0 +1,8 @@ | |||||
Title: Apache Projects | |||||
version: 1.0 | |||||
<!-- Licensed under ALv2 --> | |||||
| Office | Individual | | |||||
|-----------|-------------| [for projects] | |||||
| V.P., [if-any projects.site][[][end]Apache [projects.display_name][if-any projects.site]]([projects.site])[end] | [projects.chair] |[end] |
@ -0,0 +1,53 @@ | |||||
title: Cookbook | |||||
<!-- Licensed under ALv2 --> | |||||
## Petri Cookbook | |||||
[TOC] | |||||
This describes a project community cookbook. | |||||
### About | |||||
This section should describe the project. | |||||
Whenever a community begins to call itself Apache Foo then it needs to provide a DISCLAIMER. Contact discuss@petri.apache.org for the text. | |||||
[TOC] | |||||
### Website | |||||
Provide the current website for the project community. | |||||
### Mailing Lists | |||||
List the mailing lists used by the community. | |||||
### Source Code Repository | |||||
Provide the url to the source code repository. This will usually require an SGA be filed (See below.) | |||||
### Issue Tracker | |||||
Provide the address to your issue tracker. The ASF offers both JIRA and GitHub issue trackers. Bugzilla is also an option for older projects. | |||||
### Wiki | |||||
Provide the address to your project wiki, if any. The ASF offers both Confluence and GitHub wikis. | |||||
Other Wikis would require other support which should be discussed with your mentors. | |||||
### Releases | |||||
The URL where project releases can be found. | |||||
### Licensing Transitions | |||||
The community needs to undertake some license transitions. | |||||
- "No SGA" or "SGA provided". [Software License Grant](https://www.apache.org/licenses/contributor-agreements.html#grants) | |||||
- "No ICLAs" or "ICLAs provided". [Contributor License Agreements](https://www.apache.org/licenses/contributor-agreements.html#clas) | |||||
- "No ASF Headers" or "ASF Headers Applied". [Applying the Apache License](https://infra.apache.org/apply-license.html) | |||||
- "No Apache LICENSE" or "LICENSE approved". [Understanding Release Policy](http://www.apache.org/legal/release-policy.html) | |||||
- "No Apache NOTICE" or "NOTICE approved". [Understanding Release Policy](http://www.apache.org/legal/release-policy.html) | |||||
### Mentors | |||||
List your current mentors. |
@ -0,0 +1,4 @@ | |||||
## Project Status | |||||
- [[]Cookbook](projects/cookbook) | |||||
@ -0,0 +1,9 @@ | |||||
Title: Tweets | |||||
version: 1.0 | |||||
<!-- Licensed under ALv2 --> | |||||
[for twitter] | |||||
## Tweet | |||||
[twitter.id] | |||||
[twitter.text] | |||||
[end] |
@ -0,0 +1,35 @@ | |||||
site: | |||||
name: Apache Template | |||||
description: Provides a template for projects wishing to use the Pelican ASF static content system | |||||
domain: template.apache.org | |||||
logo: images/logo.png | |||||
repository: https://github.com/apache/template-site/blob/main/content/ | |||||
trademarks: Apache, the Apache feather logo, and "Project" are trademarks or registered trademarks | |||||
theme: theme/apache | |||||
# plugins: | |||||
# paths: | |||||
# - theme/plugins | |||||
# use: | |||||
# - gfm | |||||
setup: | |||||
data: asfdata.yaml | |||||
run: | |||||
- /bin/bash shell.sh | |||||
ignore: | |||||
- README.md | |||||
- include | |||||
- docs | |||||
copy: | |||||
- docs | |||||
genid: | |||||
unsafe: yes | |||||
metadata: yes | |||||
elements: yes | |||||
headings_depth: 4 | |||||
permalinks: yes | |||||
toc_depth: 4 | |||||
tables: yes |
@ -0,0 +1,6 @@ | |||||
pelican | |||||
pelican-sitemap | |||||
BeautifulSoup4 | |||||
ezt | |||||
PyYAML | |||||
requests |
@ -0,0 +1,8 @@ | |||||
#!/bin/bash | |||||
echo $PWD | |||||
echo 'EZMD' | |||||
find . -name "*.ezmd" | |||||
echo 'MD' | |||||
find . -name "*.md" |
@ -0,0 +1,38 @@ | |||||
# Apache Theme | |||||
The Apache Theme included here consists two types of files. | |||||
1. Page templates. | |||||
There should be one template for each page type. | |||||
2. CSS stylesheets. | |||||
There are css overrides for the site and/or template. | |||||
## Page Templates | |||||
1. base.html - there is only one page type. | |||||
Change the base page as necessary and add new page types as required. | |||||
## CSS Stylesheets | |||||
These are site or template specific overrides to the stylesheet frameworks. | |||||
You can choose to include these in your template, or you can move the file into your assets. | |||||
1. styles.css - consists of custom site CSS overrides. Edit as needed. | |||||
See [Web Developer](../../../DEVELOPER.md) for framework and other information. | |||||
Each of the above files should be edited as needed for the deployed website. | |||||
## Pelican Variables set in [pelicanconf.py](../../../pelicanconf.py) | |||||
~~~python | |||||
SITENAME = u'Apache <pmc>' | |||||
SITEDOMAIN = '<pmc>.apache.org' | |||||
SITEURL = 'https://<pmc>.apache.org' | |||||
SITELOGO = 'https://<pmc>.apache.org/images/logo.png' | |||||
SITEDESC = u'<pmc desc>' | |||||
SITEREPOSITORY = 'https://github.com/apache/<pmc-site>/blob/<branch>/content/' | |||||
TRADEMARKS = u'Apache, the Apache feather logo, and <pmc> are trademarks or registered trademarks' | |||||
CURRENTYEAR = date.today().year | |||||
~~~ |
@ -0,0 +1,213 @@ | |||||
<!doctype html> | |||||
<!-- | |||||
Licensed to the Apache Software Foundation (ASF) under one or more | |||||
contributor license agreements. See the NOTICE file distributed with | |||||
this work for additional information regarding copyright ownership. | |||||
The ASF licenses this file to You under the Apache License, Version 2.0 | |||||
(the "License"); you may not use this file except in compliance with | |||||
the License. You may obtain a copy of the License at | |||||
https://www.apache.org/licenses/LICENSE-2.0 | |||||
Unless required by applicable law or agreed to in writing, software | |||||
distributed under the License is distributed on an "AS IS" BASIS, | |||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||||
See the License for the specific language governing permissions and | |||||
limitations under the License. | |||||
--> | |||||
<html lang="en" prefix="og: https://ogp.me/ns#"> | |||||
<head> | |||||
{% block head %} | |||||
<meta charset="utf-8"> | |||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> | |||||
<title>{{ SITENAME }} - {{ page.title }}</title> | |||||
{% endblock %} | |||||
<!-- Below Meta Tags Generated via https://www.opengraph.xyz --> | |||||
<!-- If you don't care about social media then remove this section --> | |||||
<!-- Values are set in pelicanconf.py --> | |||||
<!-- HTML Meta Tags --> | |||||
<meta name="description" content="{{ SITEDESC }}"> | |||||
<!-- Facebook Meta Tags --> | |||||
<meta property="og:url" content="{{ SITEURL }}"> | |||||
<meta property="og:type" content="website"> | |||||
<meta property="og:title" content="{{ SITENAME }}"> | |||||
<meta property="og:description" content="{{ SITEDESC }}"> | |||||
<meta property="og:image" content="{{ SITELOGO }}"> | |||||
<!-- Twitter Meta Tags --> | |||||
<meta name="twitter:card" content="summary_large_image"> | |||||
<meta property="twitter:domain" content="{{ SITEDOMAIN }}"> | |||||
<meta property="twitter:url" content="{{ SITEURL }}"> | |||||
<meta name="twitter:title" content="{{ SITENAME }}"> | |||||
<meta name="twitter:description" content="{{ SITEDESC }}"> | |||||
<meta name="twitter:image" content="{{ SITELOGO }}"> | |||||
<!-- Above Meta Tags Generated via https://www.opengraph.xyz --> | |||||
<!-- Start favicon styles - use apache feather --> | |||||
<link rel="shortcut icon" href="https://www.apache.org/favicons/favicon.ico"> | |||||
<link rel="apple-touch-icon" sizes="57x57" href="https://www.apache.org/favicons/apple-touch-icon-57x57.png"> | |||||
<link rel="apple-touch-icon" sizes="60x60" href="https://www.apache.org/favicons/apple-touch-icon-60x60.png"> | |||||
<link rel="apple-touch-icon" sizes="72x72" href="https://www.apache.org/favicons/apple-touch-icon-72x72.png"> | |||||
<link rel="apple-touch-icon" sizes="76x76" href="https://www.apache.org/favicons/apple-touch-icon-76x76.png"> | |||||
<link rel="apple-touch-icon" sizes="114x114" href="https://www.apache.org/favicons/apple-touch-icon-114x114.png"> | |||||
<link rel="apple-touch-icon" sizes="120x120" href="https://www.apache.org/favicons/apple-touch-icon-120x120.png"> | |||||
<link rel="apple-touch-icon" sizes="144x144" href="https://www.apache.org/favicons/apple-touch-icon-144x144.png"> | |||||
<link rel="apple-touch-icon" sizes="152x152" href="https://www.apache.org/favicons/apple-touch-icon-152x152.png"> | |||||
<link rel="apple-touch-icon" sizes="180x180" href="https://www.apache.org/favicons/apple-touch-icon-180x180.png"> | |||||
<link rel="icon" type="image/png" href="https://www.apache.org/favicons/favicon-32x32.png" sizes="32x32"> | |||||
<link rel="icon" type="image/png" href="https://www.apache.org/favicons/favicon-194x194.png" sizes="194x194"> | |||||
<link rel="icon" type="image/png" href="https://www.apache.org/favicons/favicon-96x96.png" sizes="96x96"> | |||||
<link rel="icon" type="image/png" href="https://www.apache.org/favicons/android-chrome-192x192.png" sizes="192x192"> | |||||
<link rel="icon" type="image/png" href="https://www.apache.org/favicons/favicon-16x16.png" sizes="16x16"> | |||||
<!--<link rel="manifest" href="https://www.apache.org/favicons/manifest.json" crossorigin="anonymous">--> | |||||
<meta name="msapplication-TileColor" content="#603cba"> | |||||
<meta name="msapplication-TileImage" content="https://www.apache.org/favicons/mstile-144x144.png"> | |||||
<meta name="msapplication-config" content="https://www.apache.org/favicons/browserconfig.xml"> | |||||
<meta name="theme-color" content="#282661"> | |||||
<!-- End favicon styles - use apache feather --> | |||||
<!-- Start load of stylesheets (will need to upgrade periodically) --> | |||||
<link rel="stylesheet" | |||||
href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" | |||||
integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" | |||||
crossorigin="anonymous"> | |||||
<link rel="stylesheet" | |||||
href="https://cdnjs.cloudflare.com/ajax/libs/github-markdown-css/3.0.1/github-markdown.min.css" | |||||
crossorigin="anonymous"> | |||||
<!-- Override css for this site. You can do this inline as shown here or with a site asset. See comment.--> | |||||
<style> | |||||
{% include "styles.css" %} | |||||
</style> | |||||
<!--<link rel="stylesheet" href="/styles/styles.css">--> | |||||
<!-- End stylesheets --> | |||||
</head> | |||||
<body id="index" class="home"> | |||||
<!-- Start branding and top navigation --> | |||||
<nav class="navbar navbar-expand-lg navbar-dark bg-primary"> | |||||
<img src="https://www.apache.org/foundation/press/kit/feather.svg" | |||||
width="30" height="30" class="d-inline-block align-top" | |||||
alt="Apache Feather"> | |||||
<a class="navbar-brand" href="/">{{ SITENAME }}</a> | |||||
<button class="navbar-toggler" type="button" | |||||
data-toggle="collapse" data-target="#navbarSupportedContent" | |||||
aria-controls="navbarSupportedContent" aria-expanded="false" | |||||
aria-label="Toggle navigation"> | |||||
<span class="navbar-toggler-icon"></span> | |||||
</button> | |||||
<div class="collapse navbar-collapse" id="navbarSupportedContent"> | |||||
<ul class="navbar-nav mr-auto"> | |||||
<li class="nav-item active"> | |||||
<a class="nav-link" href="/index.html">Home</a> | |||||
</li> | |||||
<li class="nav-item active dropdown"> | |||||
<a class="nav-link dropdown-toggle" href="#" id="exampleDropdown" | |||||
role="button" data-toggle="dropdown" aria-expanded="false">Examples</a> | |||||
<ul class="dropdown-menu" aria-labelledby="exampleDropdown"> | |||||
<li><a class="dropdown-item" href="/board.html">Board</a></li> | |||||
<li><a class="dropdown-item" href="/featured.html/">Featured</a></li> | |||||
<li><a class="dropdown-item" href="/committees.html">Committees</a></li> | |||||
<li><a class="dropdown-item" href="/projects.html">Projects</a></li> | |||||
<li><a class="dropdown-item" href="/project_list.html">Project Columns</a></li> | |||||
<li><hr class="dropdown-divider"></li> | |||||
<li><a class="dropdown-item" href="/eccn.html">Site Data</a></li> | |||||
<li><a class="dropdown-item" href="/tweets.html">Tweets</a></li> | |||||
<li><a class="dropdown-item" href="/blogs.html">Blogs</a></li> | |||||
</ul> | |||||
</li> | |||||
<li class="nav-item active"> | |||||
<a class="nav-link" href="/downloads.html">Downloads</a> | |||||
</li> | |||||
<li class="nav-item active"> | |||||
<a class="nav-link" href="/faq.html">FAQ</a> | |||||
</li> | |||||
</ul> | |||||
<div class="navbar-nav"> | |||||
<div class="nav-item dropdown dropdown-menu-right active"> | |||||
<a class="nav-link dropdown-toggle" href="#" | |||||
role="button" data-toggle="dropdown" aria-haspopup="true" | |||||
aria-expanded="false">About</a> | |||||
<div class="dropdown-menu dropdown-menu-right"> | |||||
<a class="dropdown-item" href="https://www.apache.org/">Foundation</a> | |||||
<div class="dropdown-divider"></div> | |||||
<a class="dropdown-item" | |||||
href="https://www.apache.org/licenses/">License</a> | |||||
<a class="dropdown-item" | |||||
href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a> | |||||
<a class="dropdown-item" | |||||
href="https://www.apache.org/foundation/thanks.html">Thanks</a> | |||||
<div class="dropdown-divider"></div> | |||||
<a class="dropdown-item" | |||||
href="https://www.apache.org/security/">Security</a> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
</nav> | |||||
<!-- End branding and top navigation --> | |||||
<!-- Start main content area --> | |||||
<div class="container"> | |||||
<p>{{ page.metadata.breadcrumbs }}</p> | |||||
{% block content %} | |||||
{% endblock %} | |||||
{% if page.source_button is defined %} | |||||
<!-- button to view source in github --> | |||||
<h2><span class="badge badge-secondary"> | |||||
<a href="{{ SITEREPOSITORY }}{{ page.relative_source_path }}" style="color:white">Page Source</a> | |||||
</span></h2> | |||||
{% endif %} | |||||
</div> | |||||
<!-- End main content area --> | |||||
<!-- Start footer --> | |||||
<footer class="navbar-expand-lg navbar-light bg-light"> | |||||
<div class="footer" id="footer"> | |||||
<div class="row container-fluid"> | |||||
<div class="col-sm"> | |||||
<a href="https://www.apache.org/"> | |||||
<img src="https://www.apache.org/img/asf_logo.png" alt="The Apache Software Foundation" style="border: 0; margin-top: 2px" width="200"> | |||||
</a> | |||||
</div> | |||||
<div class="col-sm center-align"> | |||||
<a href="https://www.apache.org/foundation/contributing.html"> | |||||
<img src="https://www.apache.org/images/SupportApache-small.png" alt="Support The ASF" height="80" width="80"> | |||||
</a> | |||||
</div> | |||||
<div class="col-sm right-align"> | |||||
<a class="acevent" data-format="wide" data-mode="light" data-event="random"></a> | |||||
</div> | |||||
</div> | |||||
<div class="container-fluid"> | |||||
Copyright © {{ CURRENTYEAR }} The Apache Software Foundation, | |||||
Licensed under the | |||||
<a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0.</a> | |||||
<br/> | |||||
{{ TRADEMARKS }} of <a href="https://www.apache.org/">The Apache Software Foundation.</a> | |||||
</div><!-- #container-fluid --> | |||||
</div> | |||||
</footer> | |||||
<!-- End footer --> | |||||
<!-- Start the loading of javascript frameworks (will need to upgrade periodically) --> | |||||
<script src="https://www.apachecon.com/event-images/snippet.js"></script> | |||||
<script | |||||
src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.slim.min.js" | |||||
integrity="sha512-6ORWJX/LrnSjBzwefdNUyLCMTIsGoNP6NftMy2UAm1JBm6PRZCO1d7OHBStWpVFZLO+RerTvqX/Z9mBFfCJZ4A==" | |||||
crossorigin="anonymous"></script> | |||||
<script | |||||
src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" | |||||
integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" | |||||
crossorigin="anonymous"></script> | |||||
<script | |||||
src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" | |||||
integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" | |||||
crossorigin="anonymous"></script> | |||||
<!-- End the loading of javascript frameworks --> | |||||
<!-- Source: {{ page.relative_source_path }}; Template: {{ page.default_template }}; Url: {{ page.url }} --> | |||||
</body> | |||||
</html> |
@ -0,0 +1,65 @@ | |||||
html { | |||||
font-size: 18px; | |||||
} | |||||
body { | |||||
font-family: 'Montserrat', 'Source Sans Pro','Helvetica Neue', Helvetica, Arial, sans-serif; | |||||
font-weight: 300; | |||||
background-color: #fff; | |||||
} | |||||
.markdown-body { | |||||
box-sizing: border-box; | |||||
min-width: 200px; | |||||
max-width: 980px; | |||||
margin: 0 auto; | |||||
padding: 45px; | |||||
} | |||||
@media (max-width: 767px) { | |||||
.markdown-body { | |||||
padding: 15px; | |||||
} | |||||
} | |||||
.footer { | |||||
border-top: 1px solid black; | |||||
padding-top: 3px; | |||||
} | |||||
.right-align { | |||||
text-align: right; | |||||
} | |||||
.center-align { | |||||
text-align: center; | |||||
} | |||||
blockquote { | |||||
background: bisque; | |||||
} | |||||
.bg-primary { | |||||
background-color: #005bff!important; | |||||
} | |||||
a { | |||||
font-weight: 400; | |||||
color: #4643aa; | |||||
# color: #005bff; | |||||
} | |||||
#li { | |||||
# line-height: 2; | |||||
#} | |||||
.h1, h1 { | |||||
font-size: 1.5rem; | |||||
} | |||||
.h2, h2 { | |||||
font-size: 1.4rem; | |||||
} | |||||
.h3, h3 { | |||||
font-size: 1.3rem; | |||||
} | |||||
.h4, h4 { | |||||
font-size: 1.2rem; | |||||
} | |||||
.h5, h5 { | |||||
font-size: 1.1rem; | |||||
} | |||||
.headerlink { | |||||
visibility: hidden; | |||||
} | |||||
h1:hover > .headerlink, h2:hover > .headerlink, h3:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, h6:hover > .headerlink { | |||||
visibility: visible | |||||
} |