publiccode.si/README.md

78 lines
5.5 KiB
Markdown
Raw Normal View History

2017-03-16 22:30:22 +01:00
# PMPC Web Site
[![Build Status](https://drone.fsfe.org/api/badges/pmpc/website/status.svg)](https://drone.fsfe.org/pmpc/website)
2017-03-17 02:43:07 +01:00
This website is the core of the "Public Money, Public Code" campaign. It is based on [Hugo](https://gohugo.io/), a modern static website generator.
2017-03-16 22:30:22 +01:00
The page is visible at [publiccode.eu](https://publiccode.eu). Please do not spread this URL. The website requires authentication to be visited. Username is `pmpc`, password is `publicmoneypubliccode`. Please do not spread this information to outside people not involved in the website development.
2017-03-16 22:30:22 +01:00
## Contributing to the website
### Prerequisites
2017-09-07 20:42:32 +02:00
In order to modify the website, you need `hugo` and `git` installed on your computer. If Hugo isn't available in your package manager, obtain it from its [official website](https://gohugo.io). We tested the website build with Hugo from version 0.20.7 upwards. Please make sure that you use an as recent version as possible to avoid errors.
2017-03-16 22:30:22 +01:00
### Configuring Git
First of all, you'll need an account on git.fsfe.org. With an FSFE account (FSFE Fellowship/supporter/volunteer) you can simply login with your normal username and password. If you don't have an FSFE account yet, please contact Erik, Jonas or Max about it. Without an account, you can download this repository but you won't be able to push modifications to this repository.
As part of the campaign team you can get full write access to this repository. Please contact one of [pmpc](https://git.fsfe.org/pmpc)'s admins to give your account the necessary privileges.
2017-09-07 20:42:32 +02:00
In the FSFE's wiki, you'll find [information about our Git server](https://wiki.fsfe.org/TechDocs/Git) installation, and some guides for basic procedures like configuration, commits, and pushes.
2017-03-16 22:30:22 +01:00
### Cloning the website
Although the mentioned Git guides will enable you to understand how to download the website's repository, here's a short howto: Navigate to a directory on your computer where you want the PMPC website to be stored. In this example, it's `FSFE/PMPC/website` in your user's directory.
2017-03-16 22:30:22 +01:00
```sh
mkdir -p ~/FSFE/PMPC/ # Create the directory if it doesn't exist yet
cd ~/FSFE/PMPC/ # go to the newly created PMPC directory
git clone git@git.fsfe.org:pmpc/website.git # clone the website to the folder website
```
2017-09-07 20:42:32 +02:00
In the newly created folder `pmpc-website` you'll find all source files the website consists of now. The hugo files are located under `site/`, whereas in the root directory you'll only find files informational files and those relevant for our build process (Drone, Ansible, Docker, Apache).
2017-03-16 22:30:22 +01:00
### Translate
Visit [TRANSLATE.md](https://git.fsfe.org/pmpc/website/src/master/TRANSLATE.md) for detailed instructions how to translate publiccode.eu.
2017-03-16 22:30:22 +01:00
### Build locally
To see a preview of the website you need to have Hugo installed and be able to execute Bash scripts in your command line.
2017-03-16 22:30:22 +01:00
1. Navigate to the website's root directory (in the last example `~/FSFE/PMPC/website/`) and open a terminal window there. Type in `git pull`. This will get the latest changes from the server
2. In the terminal, execute `cd site/` to navigate in the right directory for hugo's website build. You are now in `~/FSFE/PMPC/website/site/`
2017-09-07 23:04:46 +02:00
3. In your terminal, execute `./build/build.sh server`. This command will build the website and enable you to browse the result on your computer only. Open [localhost:1313](localhost:1313) in your web browser to see it.
If you want to make changes to the official website, please read [our Git guides](https://wiki.fsfe.org/TechDocs/Git). There you'll find out about the necessary commands pull, status, add, commit, or push.
Beginners can directly commit to the repository which saves them some steps, but they have to ask @max.mehl or @jonaso in advance to give them the necessary permission. For more experienced Git users we recommend the Fork & Pull Request workflow, which you'll also find in the [wiki's Git Guides section](https://wiki.fsfe.org/TechDocs/Git#Guides_on_specific_actions) (not available yet).
2017-03-16 22:30:22 +01:00
## Important file paths
The website structure is very easy. The most important files and directories are:
2017-09-07 20:42:32 +02:00
- `site/config-static.toml`: Static texts and URLs which are the same for any language
- `site/languages/strings.{en,fr...}.toml`: Headlines, site title, many texts for the various languages.
- `site/content`: Markdown-files for sub-pages like /openletter, can be translated
- `site/data/{en,de...}/share`: Services and their very short translatable strings where people can share to. Is being used in the "Spread" section and the left-side sharing icons
- `site/static/`: CSS, images, and Javascript files for the design.
- `site/static/css/custom.css`: File where all custom CSS code should be written to.
- `site/layouts/`: HTML structure (scaffold) for the website. Useful if you want to add another section or modify anchor links or CSS classes.
2017-09-07 20:42:32 +02:00
- `site/layouts/page`: Template for a sub-page like /privacy
- `site/layouts/shortcodes`: HTML/Hugo code which can be important from within a Markdown file
- `site/public/`: Built files which are used to display the website. Generated by running `hugo`.
2017-03-16 22:30:22 +01:00
## Technical information about the online build
The FSFE uses Drone to automatically deploy the PMPC website. The website is
automatically deployed when there's a push to the master branch of the
repository, as well as once an hour (to update signatures).
This is the latest build status:
[![Build Status](https://drone.fsfe.org/api/badges/pmpc/website/status.svg)](https://drone.fsfe.org/pmpc/website)
2017-03-16 22:30:22 +01:00