Organization .github
repositories grown from Mustache templates.
Clone the source code of this repository somewhere...
mkdir -vp ~/git/hub/github-utilities
cd ~/git/hub/github-utilities
git clone git@github.com:github-utilities/dot-github.git
cd dot-github
To update in the future , pull
the master
branch of this repository
cd ~/git/hub/github-utilities/dot-github
git pull origin master
Checkout a branch for tracking Organization customizations...
cd ~/git/hub/github-utilities/dot-github
git checkout -b org-name
Modify the dataView.json
file, usually by removing unneeded languages
and editing lines above that...
{
"ghf": true,
"output_directory": "~/git/hub/org-name/.github",
"name": "org-name",
"author": "your-name",
"email": "account@host.tld",
"description": "Quick statement on what this Organization aims to accomplish",
"license": "AGPL-3.0",
"code_of_conduct": "contributor-covenant",
"funding": {
"key": "liberapay",
"url": "org-name"
},
"languages": [
{
"name": "Awk",
"emoji_word": ":tophat:",
"emoji_code": "🎩"
},
{
"name": "Bash",
"emoji_word": ":shell:",
"emoji_code": "🐚"
},
{
"name": "Clang",
"emoji_word": ":dragon:",
"emoji_code": "🐉"
},
{
"name": "CSS",
"emoji_word": ":paintbrush:",
"emoji_code": "🖌"
},
{
"name": "Docker",
"emoji_word": ":whale2:",
"emoji_code": "🐋"
},
{
"name": "HTML",
"emoji_word": ":spider_web:",
"emoji_code": "🕸"
},
{
"name": "JavaScript",
"emoji_word": ":coffee:",
"emoji_code": "☕"
},
{
"name": "Kivy",
"emoji_word": ":snake:",
"emoji_code": "🐍"
},
{
"name": "Liquid",
"emoji_word": ":fountain:",
"emoji_code": "⛲"
},
{
"name": "MarkDown",
"emoji_word": ":memo:",
"emoji_code": "📝"
},
{
"name": "MustacheJS",
"emoji_word": ":wavy_dash:",
"emoji_code": "〰"
},
{
"name": "Python",
"emoji_word": ":snake:",
"emoji_code": "🐍"
},
{
"name": "Rust",
"emoji_word": ":gear:",
"emoji_code": "⚙"
},
{
"name": "SCSS",
"emoji_word": ":factory:",
"emoji_code": "🏭"
},
{
"name": "Solidity",
"emoji_word": ":chains:",
"emoji_code": "⛓"
},
{
"name": "TypeScript",
"emoji_word": ":symbols:",
"emoji_code": "🔣"
}
],
"files": [
{
"in_path": ".mustache/.github/ISSUE_TEMPLATE/bug_report.md.mst",
"out_path": ".github/ISSUE_TEMPLATE/bug_report.md"
},
{
"in_path": ".mustache/.github/ISSUE_TEMPLATE/feature_request.md.mst",
"out_path": ".github/ISSUE_TEMPLATE/feature_request.md"
},
{
"in_path": ".mustache/.github/pull_request_template.md.mst",
"out_path": ".github/pull_request_template.md"
},
{
"in_path": ".mustache/.github/PULL_REQUEST_TEMPLATE/bug_fix.md.mst",
"out_path": ".github/PULL_REQUEST_TEMPLATE/bug_fix.md"
},
{
"in_path": ".mustache/.github/PULL_REQUEST_TEMPLATE/feature_addition.md.mst",
"out_path": ".github/PULL_REQUEST_TEMPLATE/feature_addition.md"
},
{
"in_path": ".mustache/.github/README.md.mst",
"out_path": ".github/README.md"
},
{
"in_path": ".mustache/CONTRIBUTING.md.mst",
"out_path": "CONTRIBUTING.md",
"partials": [
".mustache/partials/development-setup/linux.md.mst",
".mustache/partials/development-setup/windows.md.mst",
".mustache/partials/git-tips/branches.md.mst",
".mustache/partials/git-tips/commits.md.mst",
".mustache/partials/how-to-contribute/open-issues.md.mst",
".mustache/partials/how-to-contribute/report-bugs.md.mst",
".mustache/partials/style-guidelines/awk.md.mst",
".mustache/partials/style-guidelines/bash.md.mst",
".mustache/partials/style-guidelines/css.md.mst",
".mustache/partials/style-guidelines/docker.md.mst",
".mustache/partials/style-guidelines/html.md.mst",
".mustache/partials/style-guidelines/javascript.md.mst",
".mustache/partials/style-guidelines/liquid.md.mst",
".mustache/partials/style-guidelines/markdown.md.mst",
".mustache/partials/style-guidelines/mustachejs.md.mst",
".mustache/partials/style-guidelines/python.md.mst",
".mustache/partials/style-guidelines/rust.md.mst",
".mustache/partials/style-guidelines/scss.md.mst",
".mustache/partials/style-guidelines/solidity.md.mst",
".mustache/partials/style-guidelines/typescript.md.mst"
]
},
{
"in_path": ".mustache/FUNDING.yml.mst",
"out_path": "FUNDING.yml"
},
{
"in_path": ".mustache/SUPPORT.md.mst",
"out_path": "SUPPORT.md"
},
{
"in_path": ".mustache/SECURITY.md.mst",
"out_path": "SECURITY.md"
}
]
}
Add and commit changes...
git add -A .
git commit -m 'Customizes defaults from master branch for org-name'
Initialize a .github
repository for your Organization...
mkdir -vp ~/git/hub/org-name
git init ~/git/hub/org-name/.github
Note, above should match the same path as defined by
output_directory
within your customizeddataView.json
file.
Issue npm run build
from this repository...
cd ~/git/hub/github-utilities/dot-github
npm run build
Change directories to the .github
repository for your Organization, and track built files...
cd ~/git/hub/org-name/.github
git add -A .
git commit -m 'Initial commit'
After creating a .github
repository on GitHub, add a remote and push
git remote add hub git@github.com:org-name/.github.git
git push hub master
π Excellent π your Organization is now ready to begin unitizing documents built from this repository!
Pull Requests are most welcomed to add features and/or fix bugs. for example the following four steps show how to add lang-name
to the list of supported style guidelines within the built CONTRIBUTING.md
file.
0
Checkout the master
branch of this repository and write a Mustache template...
cd ~/git/hub/github-utilities/dot-github
git checkout master
.mustache/partials/style-guidelines/lang-name.md.mst
- Lines of code should strive for less than `120` characters in length
- Comments within code should strive for less than `80` characters in length
...
1
Add lang-name
the list of languages
and partials
...
dataView.json
(languages
snip)
...
"languages": [
{
"name": "Awk",
"emoji_word": ":tophat:",
"emoji_code": "🎩"
},
{
"name": "Bash",
"emoji_word": ":shell:",
"emoji_code": "🐚"
},
{
"name": "CSS",
"emoji_word": ":paintbrush:",
"emoji_code": "🖌"
},
{
"name": "Docker",
"emoji_word": ":whale2:",
"emoji_code": "🐋"
},
{
"name": "HTML",
"emoji_word": ":spider_web:",
"emoji_code": "🕸"
},
{
"name": "JavaScript",
"emoji_word": ":coffee:",
"emoji_code": "☕"
},
{
"name": "Kivy",
"emoji_word": ":snake:",
"emoji_code": "🐍"
},
{
"name": "lang-name",
"emoji_word": ":frog:",
"emoji_code": "🐸"
},
{
"name": "Liquid",
"emoji_word": ":fountain:",
"emoji_code": "⛲"
},
{
"name": "MarkDown",
"emoji_word": ":memo:",
"emoji_code": "📝"
},
{
"name": "Python",
"emoji_word": ":snake:",
"emoji_code": "🐍"
},
{
"name": "SCSS",
"emoji_word": ":factory:",
"emoji_code": "🏭"
}
],
...
dataView.json
(partials
snip)
...
{
"in_path": ".mustache/CONTRIBUTING.md.mst",
"out_path": "CONTRIBUTING.md",
"partials": [
".mustache/partials/development-setup/linux.md.mst",
".mustache/partials/development-setup/windows.md.mst",
".mustache/partials/git-tips/branches.md.mst",
".mustache/partials/git-tips/commits.md.mst",
".mustache/partials/how-to-contribute/open-issues.md.mst",
".mustache/partials/how-to-contribute/report-bugs.md.mst",
".mustache/partials/style-guidelines/awk.md.mst",
".mustache/partials/style-guidelines/bash.md.mst",
".mustache/partials/style-guidelines/css.md.mst",
".mustache/partials/style-guidelines/docker.md.mst",
".mustache/partials/style-guidelines/html.md.mst",
".mustache/partials/style-guidelines/javascript.md.mst",
".mustache/partials/style-guidelines/lang-name.md.mst",
".mustache/partials/style-guidelines/liquid.md.mst",
".mustache/partials/style-guidelines/markdown.md.mst",
".mustache/partials/style-guidelines/python.md.mst",
".mustache/partials/style-guidelines/scss.md.mst"
]
},
...
2
Add and commit changes...
git add -A .
git commit -m 'Adds lang-name to available style guidelines'
3
After forking on GitHub, add it as a remote and push changes
git remote add fork git@github.com:your-name/dot-github.git
git push fork master
4
Open a Pull Request when your changes are ready.
Resources that where helpful in building this project so far
Legal bits of Open Source software
Dot GitHub ReadMe documenting how things like this could be utilized
Copyright (C) 2020 S0AndS0
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation; version 3 of the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.