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 page, check out the issues with a label help wanted and see if you could fix that issue.
If you have any suggestions, questions or found a bug, please go to our Github Issue page and submit a new issue.
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 request every once in a while — you might find some comments and questions there.
Project is built using Vuepress.
I would recommend using WSL to get Git and Node running.
Install Git and Node as described here (or follow any other guide you find).
Install Git and Node using your distro package manager.
You will need to install Yarn to manage dependencies
After you have the prerequisites installed, fork and clone ham.guide repository and create a new branch.
- Run the dev server
After that, visit
localhost:8080 and you should see ham.guide running locally.
. ├── 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/.vuepresscontains Vuepress configuration and style files, component and public directories. More information about it can be found on Vuepress documentation, 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 ...
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.
If you want to create a new page or page group, you need to modify
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/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.