Giter Club home page Giter Club logo

www-site's Introduction

Apache Software Foundation Website (www.apache.org)

This repository provides the source for the main website of The Apache Software Foundation.

Linking to Markdown (.md) sources

Markdown (.md) files appear in the preview pane of the GitHub editor approximately as they will appear in the generated website. This is convenient for reviewing changes, but means that linking to the source requires a bit more work compared with other files. If you want to create a permalink or raise an issue that relates to a particular Markdown source line, proceed as follows:

Documentation

Read the ASF-Pelican Getting started guide and the pages it links to.

Notes

The website is built with Pelican.

Continuous Integration / Continuous Deployment (CI/CD) is via the .asf.yaml file mechanism, which runs Buildbot.

The svn history was not migrated and remains available.

Foundation records, including minutes of Board meetings, remain in svn, except for the index page.

Whimsy maintains the board calendar - calendar.md in SVN. At the start of each build, a setup entry in pelicanconf.yaml calls the get_calendar.sh script, which copies the calendar into content/foundation/board.

Changes to the file do not automatically trigger a build, but the file changes rarely (about once a month) and there are regular builds which pick up changes within an hour or so.

Local development and testing

If you wish to update and test the site locally, there is a Docker build script you can use. You will also need Git, and familiarity with working in a command-line shell.

The following instructions should work for Unix, Linux, and macOS, but will need adjustment for Windows.

  • Install Docker.
  • Change to a suitable directory.
  • Get the Infra Pelican setup: git clone https://github.com/apache/infrastructure-pelican.
  • Change to the checkout: cd infrastructure-pelican.
  • Build the container: docker build -t pelican-asf .. This will take a while the first time.
  • Change to a suitable directory.
  • Get the ASF website source: git clone https://github.com/apache/www-site.
  • Change to the website checkout: cd www-site.
  • Create a dummy authorisation file: touch .authtokens.
  • Start the continuous builder: docker run -it -p8000:8000 -v $PWD:/site pelican-asf. This will generate a lot of output, but will eventually stop. [N.B. Pelican calls the data generation plugins 3 times before generating the pages.]
  • If you want to add some additional debug output, add the following line to pelicanconf.yaml: debug: true
  • Browse to http://localhost:8000/ .
  • If the builder reports a failure trying to find content/theme/apache, try changing the theme entry in pelicanconf.yaml to theme: ../theme/apache and re-run

If you make changes to the local copy of www-site, these will be automatically built, and should appear in the browser when you refresh the page.

Previewing proposed changes

Any branch in the www-site repository that is named preview/* will auto-build and stage to www-*.staged.apache.org.

If you need to test your changes, create a branch such as preview/your-asf-id

Commits to it will be staged at www-your-asf-id.staged.apache.org

Note: the branch name must not include any "." characters, or browsers will refuse to display the site due to an invalid SSL certificate. The underscore character should not be used either, as it is disallowed in host names.

www-site's People

Contributors

bdelacretaz avatar bobpaulin avatar bproffitt avatar christ avatar clr-apache avatar cottage14 avatar dave2wave avatar dblevins avatar druggeri avatar gmcdonald avatar grobmeier avatar gstein avatar hen avatar humbedooh avatar iamamoose avatar iemejia avatar jbampton avatar jzb avatar kennethpaskett avatar loganloganlogan avatar markt-asf avatar paul-tt avatar raboof avatar rbowen avatar rlenferink avatar royfielding avatar rvs avatar sebbasf avatar shanecurcuru avatar ssb22 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

www-site's Issues

Errors with WAVE-Tool

Checking the site with WAVE-tool, it found 4 empty links (Reports, Community, The Apache Way, Conferences) and at the bottom missing ARIA menuitem labels. IMO (as explained here or here) it might be be better role=navigation instead of role menu. As multiple navigations are there a label (aria-label) might be used.

Local pelican builds

Why is pelican-gfm mentioned here? It's not present in the plugins directory.

PLUGINS = ['asfgenid', 'asfdata', 'pelican-gfm', 'asfreader']

AFAICT, the toc and pelican-gfm plugins are added by the Infra pelican-build script anyway.

Consider using scheme-relative URLs for non-local links

It might be worth using URLs of the form //project.apache.org/path for off-site links, rather than http://.

Where the target site always redirects to https: of course there would be no point, but for sites that support both this would avoid unnecessary changes of scheme.

Consider using page-relative links

It might be worth considering using links without a leading /.
These are a bit harder to set up, but allow easier testing as they can work in local checkouts.

Plugins are very noisy

The plugins are really noisy which means that errors and warnings can be difficult to spot.

If the informational output cannot be disabled, at the very least the different levels of output should be identified with a suitable prefix so they can be easily located.

Additional anchors in trademarks list

There are lots of additional anchors in the file
https://www.staged.apache.org/foundation/marks/list/index.html
for example
https://www.staged.apache.org/foundation/marks/list/index.html#apache-libcloudtm-software

Whilst it is nice to have the paragraph marker tool-tip, the link name is not ideal, and the more links that are published, the more that can be broken ...

Given that there is already a libcloud id, why not use that?
The only problem is that the link is obscured under the page header:
https://www.staged.apache.org/foundation/marks/list/index.html#libcloud

ECCN data file - why convert to JSON?

Whilst XML is not especially easy to read, the corresponding JSON in this case is arguably harder.
In particular it's not obvious where a section ends.

Also XML supports DTD validation and can be automatically formatted by a browser, whereas YAML needs code to be written to support this.

I think reversion to XML should be considered.

Missing files

A comparison of the listings suggests that the following files are missing:

foundation/press/kit/apache_pb.svg
legal/3.10-cv-03561-WHA/2011-05-13-subpoena.pdf
mail
mirrors/mirrorsubmit.cgi
phf_abuse_log.cgi

Dockerfile should be in its own directory

The docker CLI has to ship the Dockerfile to the daemon to perform a build.
It also copies the entire directory structure from that point, so best to put Dockerfile in its own directory, and only add those files which are essential for the build

Trademarks List should be improved

https://www.apache.org/foundation/marks/list/
https://github.com/apache/www-site/blob/main/content/foundation/marks/list/index.md

This page includes a large section of registered and a large section of unregistered trademarks that were copied in as html from another location.

There is duplicate id for Lucene-core. Is this file up to date?

With the new pelican site we have some options to process trademark data files and build this page as a template.

We will take this discussion to [email protected]

Count of committers seems wrong in asfdata.yaml

The count in asfdata.yaml is currently 8100 (I assume rounded down)

However, the count of ou=people LDAP records is 7889.
This includes inactive and other non-committers
The count of entries in the LDAP committers role group is 7726.

So I think the count should be 7720 rather than 8100.

This lower number is unexpected, so maybe there is another way of counting the numbers?

It would help to add documentation to the file to describe how to calculate the numbers.
Or maybe calculate them automatically.

Stash Public Secrets

In asfdata.py a Twitter Bearer Token is public. Effort will be taken to stash a new ASF token and then revoke the knowingly exposed token. See INFRA-21885.

all.atom.xml - missing EOL

Whatever generates all.atom.xml fails to add a trailing new line.

This causes a warning to be shown in every difference email.

Replace absolute internal links with relative ones

There are a lot of links within the site that use absolute references, for example:

content/foundation/trillions-thanks.html

93:        <a href="http://apache.org"><img src="images/trillions-stills-main_thumb.jpg" alt="Trillions and Trillions"></a>
95:        <a href="http://apache.org"><img src="images/ASF20th-AnimatedSmoke.gif" alt="The Apache Software Foundat - apache.org"></a>

Such links should be relative.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.