@ -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 | |||
} |