Skip to content

Commit e7550d0

Browse files
authored
Merge pull request creativecommons#808 from creativecommons/foundational-tech
Add "Foundational technologies" page
2 parents c4505df + dec6489 commit e7550d0

File tree

2 files changed

+218
-1
lines changed

2 files changed

+218
-1
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,217 @@
1+
_model: page
2+
---
3+
_template: page-with-toc.html
4+
---
5+
title: Foundational technologies
6+
---
7+
description: Most or many of Creative Commons' projects require a working
8+
knowledge of these foundational technologies.
9+
---
10+
body: <!-- disregard: vim syntax highlighting fix_ -->
11+
12+
13+
## Step zero
14+
15+
Welcome to Creative Commons (CC) software development! We are glad you are
16+
here! ❤️
17+
18+
Before engaging with our projects, please ensure you have a working knowledge
19+
of the following technologies:
20+
1. Slack
21+
2. Command line interface (CLI)
22+
3. Code editor
23+
4. GitHub and git
24+
5. Docker
25+
26+
27+
## Slack
28+
29+
Slack is currently our primary channel for chat and lower latency communication.
30+
31+
For more information, see [Join the CC Developer Community](/community/).
32+
33+
34+
## Command line interface (CLI)
35+
36+
Often shortened to just "command line" or referred to as the "console" or
37+
"terminal", the command line interface (CLI) is where quite a bit of software
38+
development work happens.
39+
40+
41+
### Getting started with the CLI
42+
43+
- [Terminal Tutor – learn the Command Line interactively][terminal-tutor]
44+
45+
[terminal-tutor]: https://www.terminaltutor.com/
46+
47+
48+
## Code editor
49+
50+
A code editor or integrated development environment (IDE) provides strong
51+
support for software development. Which one you use is up to personal
52+
preference. The two editors used by the Technology team are currently Visual
53+
Studio Code (recommended) and Vim.
54+
55+
56+
### Visual Studio Code
57+
58+
- [Visual Studio Code - Code Editing. Redefined][vscode]
59+
- Highlighted features:
60+
- [Emmet in Visual Studio Code][emmet]
61+
- Recommended plugins:
62+
- [Docker - Visual Studio Marketplace][vscode-docker] *makes it easy to
63+
build, manage, and deploy containerized applications from Visual Studio
64+
Code. It also provides one-click debugging of Node.js, Python, and .NET
65+
inside a container.*
66+
- [Prettier - Code formatter - Visual Studio Marketplace][prettier]: *is an
67+
opinionated code formatter.*
68+
- Prettier is especially helpful for Web develoment (HTML, JavaScript,
69+
etc.)
70+
- [Rewrap - Visual Studio Marketplace][rewrap]
71+
- Some of our repositories hard wrap code and text at 80 characters
72+
73+
[vscode]: https://code.visualstudio.com/
74+
[emmet]: https://code.visualstudio.com/docs/editor/emmet
75+
[vscode-docker]: https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-docker
76+
[prettier]: https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode
77+
[rewrap]: https://marketplace.visualstudio.com/items?itemName=stkb.rewrap
78+
79+
80+
### Vim
81+
82+
- [welcome home : vim online](https://www.vim.org/)
83+
- Recommended plugins (install Vundle first):
84+
- [godlygeek/tabular][tabular]: *Vim script for text filtering and alignment*
85+
- (required by vim-markdown)
86+
- [preservim/vim-markdown][vim-md]: *Markdown Vim Mode*
87+
- [VundleVim/Vundle.vim][vundle]: *Vundle, the plug-in manager for Vim*
88+
89+
[tabular]: https://github.com/godlygeek/tabular
90+
[vim-md]: https://github.com/preservim/vim-markdown
91+
[vundle]: https://github.com/VundleVim/Vundle.vim
92+
93+
94+
## GitHub and git
95+
96+
All of our projects require a working knowledge of GitHub. It is our primary
97+
repository for code and we utilize many of the sites features for managing
98+
code and higher latency communication.
99+
100+
[Git - Wikipedia](https://en.wikipedia.org/wiki/Git):
101+
> Git (/ɡɪt/) is a distributed version control system that tracks
102+
> versions of files. It is often used to control source code by programmers who
103+
> are developing software collaboratively.
104+
105+
106+
### Installing GitHub
107+
108+
As a web service, GitHub doesn't require any installation. However, once you
109+
become more familiar with it, you may benefit from installing the GitHub
110+
command line utility:
111+
- [GitHub CLI | Take GitHub to the command line](https://cli.github.com/)
112+
113+
114+
### Installing git
115+
116+
- **Linux:** Git is optimally installed using your distribution's package
117+
manager. See [Git- Download for Linux and Unix][linux-git] for a wide range
118+
of popular distros.
119+
- **macOS:** Mac users can install Git using these instructions: [Git -
120+
Installing Git - Installing on macOS][macos-git]
121+
- **Windows:**
122+
- You must use Windows 10 or 11 with Windows Subsystem for Linux (WSL2). For
123+
installation instructions: see [Install WSL | Microsoft Learn][wsl2].
124+
- Git should be installed within WSL2, using the appropriate Linux
125+
installation method. For WSL2 Ubuntu, the command is:
126+
```shell
127+
sudo apt-get install git
128+
```
129+
130+
[linux-git]: https://git-scm.com/download/linux
131+
[macos-git]: https://git-scm.com/book/en/v2/Getting-Started-Installing-Git#_installing_on_macos
132+
[wsl2]: https://docs.microsoft.com/en-us/windows/wsl/install
133+
134+
135+
### Getting started with GitHub and Git
136+
137+
Thankfully GitHub's documentation is relatively robust. Please see:
138+
- [Get started with GitHub documentation - GitHub Docs][github-start]
139+
- [GitHub flow - GitHub Docs][github-flow]
140+
- [GitHub Training Manual][github-training]
141+
142+
[github-start]: https://docs.github.com/en/get-started
143+
[github-flow]: https://docs.github.com/en/get-started/using-github/github-flow
144+
[github-training]: https://githubtraining.github.io/training-manual/#/
145+
146+
147+
### CC specifics for GitHub
148+
149+
For some specifics on how we use GitHub, please see the following information
150+
on this site:
151+
- [Pull Request Guidelines — Creative Commons Open Source][ccos-prs]
152+
- [GitHub Repo Guidelines — Creative Commons Open Source][ccos-repos]
153+
- [Repository Labels — Creative Commons Open Source][ccos-labels]
154+
155+
[ccos-prs]: /contributing-code/pr-guidelines/
156+
[ccos-repos]: /contributing-code/github-repo-guidelines/
157+
[ccos-labels]: /contributing-code/repo-labels/
158+
159+
160+
## Docker
161+
162+
[Docker (software) - Wikipedia][wikipedia-docker]:
163+
> Docker is a set of platform as a service (PaaS) products that use OS-level
164+
> virtualization to deliver software in packages called containers. [...]
165+
>
166+
> Docker is a tool that is used to automate the deployment of applications in
167+
> lightweight containers so that applications can work efficiently in different
168+
> environments in isolation.
169+
170+
[wikipedia-docker]: https://en.wikipedia.org/wiki/Docker_(software)
171+
172+
173+
### Installing Docker
174+
175+
- **Linux:** Both Docker Desktop and Docker Engine are separately supported on
176+
Linux. Both include the required Compose command plugin, but Docker Engine is
177+
typically much easier to install:
178+
- _Recommended:_ See [Install Docker Engine | Docker
179+
Docs][linux-docker-engine] for links to installation instructions for
180+
Docker Engine and Compose for various Linux distributions.
181+
- See [Install Docker Desktop on Linux | Docker Docs][linux-docker-desktop]
182+
for links to instructions for the graphical desktop app that includes the
183+
commandline interface and Compose
184+
- **macOS:** Docker Desktop can be installed using these instructions: [Install
185+
Docker Desktop on Mac | Docker Docs][macos-docker].
186+
- **Windows:** Docker Desktop should be installed on Windows itself and
187+
integrated with Windows Subsystem for Linux (WSL2) as explained in [Docker
188+
Desktop WSL 2 backend on Windows | Docker Docs][windows-docker]. Unlike Git,
189+
you should not install Docker within your WSL2 environment. For installation
190+
instructions: see [Install WSL | Microsoft Learn][wsl2].
191+
192+
[linux-docker-engine]: https://docs.docker.com/engine/install
193+
[linux-docker-desktop]: https://docs.docker.com/desktop/install/linux-install
194+
[macos-docker]: https://docs.docker.com/desktop/install/mac-install
195+
[windows-docker]: https://docs.docker.com/desktop/windows/wsl
196+
[wsl2]: https://docs.microsoft.com/en-us/windows/wsl/install
197+
198+
199+
### Getting started with Docker
200+
201+
- [A Docker Tutorial for Beginners][docker-tutorial]
202+
203+
[docker-tutorial]: https://docker-curriculum.com/
204+
205+
206+
### Docker compose
207+
208+
Our projects use [Docker Compose | Docker Docs][docker-compose].
209+
210+
[docker-compose]: https://docs.docker.com/compose/
211+
212+
213+
## Next steps
214+
215+
We have added a lot of documentation (ex. language guides) and tooling (issue
216+
finder) to this site that cover frequently asked questions and confusions.
217+
Please explore this site and reach out on Slack for additional assistance.

themes/vocabulary_theme/templates/layout.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
{% endif %}
2828
<meta name="twitter:site" content="@creativecommons">
2929
<meta name="twitter:creator" content="@creativecommons">
30-
<meta name="monetization" content="$ilp.uphold.com/edR8erBDbRyq">
3130
<script src="https://code.jquery.com/jquery-3.3.1.min.js"
3231
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
3332
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.6/umd/popper.min.js"
@@ -78,6 +77,7 @@
7877
['/contributing-code/pr-guidelines', 'Pull Request Guidelines'],
7978
['/contributing-code/github-repo-guidelines', 'GitHub Repo Guidelines'],
8079
['/contributing-code/repo-labels', 'Repository Labels'],
80+
['/contributing-code/foundational-tech', 'Foundational technologies'],
8181
['/contributing-code/javascript-guidelines', 'JavaScript Guidelines'],
8282
['/contributing-code/python-guidelines', 'Python Guidelines'],
8383
['/contributing-code/translation-guide', 'Translation Guide'],

0 commit comments

Comments
 (0)