Guide

Contributions from the community are welcome! Don't worry if you have litte experience working with open source projects or git, here are some guidelines to get you started.

How can I help?

First off — thank you for taking interest in helping this project grow. There are many ways you can contribute — tell your friends about ham.guide, fix typos you find, correct outdated information, translate it to a language you know or even write new content. Anything helps! Furthermore, go to our Github Issue pageopen in new window, check out the issues with a label help wanted and see if you could fix that issue.

Issues

If you have any suggestions, questions or found a bug, please go to our Github Issue pageopen in new window and submit a new issue.

Simple editing

If you found a typo, incorrect information or would like to clarify something, follow these steps:

  • Scroll to the bottom of the page you want to edit and click Edit this page link. You will be taken to Github and in order to make edits, you will need to create an account, if you don't have one already.
  • After you log in, click Fork this repository and propose changes button.
  • Make the changes to the page and explain why and what have you changed in the Propose file change section.
  • Click Propose file change button and Create pull request in the next page.
  • Make sure your pull request has an appropriate title and description and click Create pull request

Thank you for improving ham.guide! We will review your changes and you should see them on the webpage after we approve them. Check back on your pull requestopen in new window every once in a while — you might find some comments and questions there.

Advanced editing

Vuepress

Project is built using Vuepressopen in new window.

Running locally

Windows

I would recommend using WSLopen in new window to get Git and Node running.

MacOS

Install Git and Node as described hereopen in new window (or follow any other guide you find).

Linux

Install Git and Node using your distro package manager.


You will need to install Yarnopen in new window to manage dependencies


  1. After you have the prerequisites installed, fork and clone ham.guide repository and create a new branchopen in new window.

  2. Install dependencies

yarn
  1. Run the dev server
yarn dev

After that, visit localhost:8080 and you should see ham.guide running locally.

Project structure

.
├── src
│   ├── .vuepress
│   ├── contribute
|   ├── phonetic-alphabet
|   ├── q-code
|   ├── radio-operating-ethics
│   └── lt
│       ├── contribute
│       ├── phonetic-alphabet
│       ├── q-code
│       └── radio-operating-ethics
├── CHANGELOG.md
├── LICENSE
├── package.json
└── README.md

This is a simplified diagram of directory structure.

  • src/ folder contains all the content presented on this webpage.
  • src/.vuepress contains Vuepress configuration and style files, component and public directories. More information about it can be found on Vuepress documentationopen in new window, but it rarely needs modification.
.
├── ham.guide
│   ├── .vuepress
│   ├── contribute
│   ├── phonetic-alphabet
|   ├── q-code
|   ├── radio-operating-ethics
│   └── lt
│       ├── contribute
|       ├── phonetic-alphabet
|       ├── q-code
│       └── radio-operating-ethics
...



 
 
 
 






Directories like src/contribute/ or src/q-code/ are page or page group folders. Page is a directory with a single README.md file. Page group is a directory containing a README.md and other .md files for additional pages.

WARNING

If you want to create a new page or page group, you need to modify src/.vuepress/config.js file themeConfig.locales.sidebar property in order to see your page in the navigation menu. Try doing this yourself following already existing code as an example, but don't be afraid to ask for help on Github if you get stuck!

.
├── src
│   ├── .vuepress
│   ├── contribute
│   ├── phonetic-alphabet
|   ├── q-code
|   ├── radio-operating-ethics
│   └── lt
│       ├── contribute
|       ├── phonetic-alphabet
|       ├── q-code
│       └── radio-operating-ethics
...







 
 
 
 
 

Folders named using a two-letter language code are language directories. The default language of this project is English, therefore src/contribute/ and src/radio-operating-ethics/ don't need to be nested in a language directory. Additional languages must have a language directory and it should contain the same page and page group folders as does English.