10000 docs: add devcontainers tutorial (#1844) · Goder-0/goder-0.github.io@f63d8fc · GitHub
[go: up one dir, main page]

Skip to content

Commit f63d8fc

Browse files
committed
docs: add devcontainers tutorial (cotes2020#1844)
1 parent a891ba2 commit f63d8fc

File tree

1 file changed

+47
-43
lines changed

1 file changed

+47
-43
lines changed

_posts/2019-08-09-getting-started.md

Lines changed: 47 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -11,51 +11,60 @@ pin: true
1111
media_subpath: '/posts/20180809'
1212
---
1313

14-
## Prerequisites
14+
## Creating a site repository
1515

16-
Follow the instructions in the [Jekyll Docs](https://jekyllrb.com/docs/installation/) to complete the installation of the basic environment. [Git](https://git-scm.com/) also needs to be installed.
16+
There are two methods to create a site repository for **Chirpy**:
1717

18-
## Installation
18+
- [**Using the starter**](#option-1-using-the-starter) — This approach simplifies upgrades and isolates unnecessary project files, enabling you to concentrate on your content. It's ideal for those who want a hassle-free setup focused primarily on writing.
19+
- [**Forking the theme**](#option-2-forking-the-theme) — This method allows for customization and development but presents challenges during upgrades. It is not recommended to use this approach unless you are familiar with Jekyll and plan to modify this project.
1920

20-
### Creating a New Site
21+
### Option 1: using the starter
2122

22-
There are two ways to create a new repository for this theme:
23+
1. Sign in to GitHub and navigate to the [**starter**][starter].
24+
2. Click the <kbd>Use this template</kbd> button and then select <kbd>Create a new repository</kbd>.
2325

24-
- [**Using the Chirpy Starter**](#option-1-using-the-chirpy-starter) — Easy to upgrade, isolates irrelevant project files so you can focus on writing.
25-
- [**GitHub Fork**](#option-2-github-fork) — Convenient for custom development, but difficult to upgrade. Unless you are familiar with Jekyll and are determined to tweak or contribute to this project, this approach is not recommended.
26+
### Option 2: forking the theme
2627

27-
#### Option 1. Using the Chirpy Starter
28+
Sign in to GitHub and [fork the theme](https://github.com/cotes2020/jekyll-theme-chirpy/fork).
2829

29-
Sign in to GitHub and browse to [**Chirpy Starter**][starter], click the button <kbd>Use this template</kbd> > <kbd>Create a new repository</kbd>, and name the new repository `USERNAME.github.io`, where `USERNAME` represents your GitHub username.
30+
## Name your new repository
3031

31-
#### Option 2. GitHub Fork
32+
Rename your repository to `<username>.github.io`. The `username` represents your lowercase GitHub username.
3233

33-
Sign in to GitHub to [fork **Chirpy**](https://github.com/cotes2020/jekyll-theme-chirpy/fork), and then rename it to `USERNAME.github.io` (`USERNAME` means your username).
34+
## Setting up the environment
3435

35-
Next, clone the repository to your local machine, make sure it has [Node.js][nodejs] installed, then go to the root directory of the repo and run the following command:
36+
The easiest way to set up the runtime environment, especially on Windows, is by using [Dev Containers](#setting-up-in-dev-containers). This method installs all packages within a Docker container, isolating them from the host machine and ensuring no interference with existing settings.
3637

37-
```console
38-
$ bash tools/init.sh
39-
```
38+
For Unix-like systems, besides using Dev Containers, you can also [natively set up](#setting-up-natively) the runtime environment to achieve optimal performance.
39+
40+
### Setting up in Dev Containers
4041

41-
> If you don't want to deploy your site on GitHub Pages, append option `--no-gh` at the end of the above command.
42-
{: .prompt-info }
42+
1. Install Docker:
43+
- On Windows/macOS, install [Docker Desktop][docker-desktop].
44+
- On Linux, install [Docker Engine][docker-engine].
45+
2. Install [VS Code][vscode] and the [Dev Containers extension][dev-containers].
46+
3. Clone your repository:
47+
- For Docker Desktop: Start VS Code and [clone your repo in a container volume][dc-clone-in-vol].
48+
- For Docker Engine: Clone your repo to the local disk, then launch VS Code and [open your repo in the container][dc-open-in-container].
49+
4. Wait a few minutes for Dev Containers to finish installing.
4350

44-
The above command will:
51+
### Setting up natively
4552

46-
1. Check out the code to the [latest tag][latest-tag] (to ensure the stability of your site: as the code for the default branch is under development).
47-
2. Remove non-essential sample files and take care of GitHub-related files.
48-
3. Build CSS/JS assets files and then make them tracked by Git.
49-
4. Automatically create a new commit to save the changes above.
53+
1. Follow the instructions in the [Jekyll Docs](https://jekyllrb.com/docs/installation/) to complete the installation of the basic environment. Ensure that [Git](https://git-scm.com/) is also installed.
54+
2. Clone your repository to a local disk.
55+
3. If your site is created by forking the theme, install [Node.js][nodejs] and run `bash tools/init.sh` in the root directory. This will initialize the repository files and create a commit to save the changes.
56+
4. Install the dependencies by running `bundle`.
5057

51-
### Installing Dependencies
58+
### Start the local server
5259

53-
Before running local server for the first time, go to the root directory of your site and run:
60+
To run the site locally, use the following command:
5461

5562
```console
56-
$ bundle
63+
$ bundle exec jekyll s
5764
```
5865

66+
After a few seconds, the local server will be available at <http://127.0.0.1:4000>.
67+
5968
## Usage
6069

6170
### Configuration
@@ -67,39 +76,29 @@ Update the variables in `_config.yml`{: .filepath} as needed. Some typical optio
6776
- `timezone`
6877
- `lang`
6978

70-
### Social Contact Options
79+
### Social contact options
7180

7281
Social contact options are displayed at the bottom of the sidebar. You can enable or disable specific contacts in the `_data/contact.yml`{: .filepath} file.
7382

74-
### Customizing the Stylesheet
83+
### Customizing the stylesheet
7584

7685
To customize the stylesheet, copy the theme's `assets/css/jekyll-theme-chirpy.scss`{: .filepath} file to the same path in your Jekyll site, and add your custom styles at the end of the file.
7786

7887
Starting with version `6.2.0`, if you want to overwrite the SASS variables defined in `_sass/addon/variables.scss`{: .filepath}, copy the main SASS file `_sass/main.scss`{: .filepath} to the `_sass`{: .filepath} directory in your site's source, then create a new file `_sass/variables-hook.scss`{: .filepath} and assign your new values there.
7988

80-
### Customizing Static Assets
81-
82-
Static assets configuration was introduced in version `5.1.0`. The CDN of the static assets is defined in `_data/origin/cors.yml`{: .filepath }. You can replace some of them based on to the network conditions in the region where your website is published.
89+
### Customizing static assets
8390

341A 84-
Also, if you'd like to self-host the static assets, please refer to the [_chirpy-static-assets_](https://github.com/cotes2020/chirpy-static-assets#readme).
85-
86-
### Running Local Server
87-
88-
You may want to preview the site contents before publishing, so just run it by:
89-
90-
```console
91-
$ bundle exec jekyll s
92-
```
91+
Static assets configuration was introduced in version `5.1.0`. The CDN of the static assets is defined in `_data/origin/cors.yml`{: .filepath }. You can replace some of them based on the network conditions in the region where your website is published.
9392

94-
After a few seconds, the local service will be published at _<http://127.0.0.1:4000>_.
93+
If you prefer to self-host the static assets, refer to the [_chirpy-static-assets_](https://github.com/cotes2020/chirpy-static-assets#readme) repository.
9594

9695
## Deployment
9796

9897
Before deploying, check the `_config.yml`{: .filepath} file and ensure the `url` is configured correctly. If you prefer a [**project site**](https://help.github.com/en/github/working-with-github-pages/about-github-pages#types-of-github-pages-sites) and don't use a custom domain, or if you want to visit your website with a base URL on a web server other than **GitHub Pages**, remember to set the `baseurl` to your project name, starting with a slash, e.g., `/project-name`.
9998

10099
Now you can choose _ONE_ of the following methods to deploy your Jekyll site.
101100

102-
### Deploy Using GitHub Actions
101+
### Deploy using GitHub Actions
103102

104103
Prepare the following:
105104

@@ -120,7 +119,7 @@ Next, configure the _Pages_ service:
120119

121120
You can now visit the URL provided by GitHub to access your site.
122121

123-
### Manual Build and Deployment
122+
### Manual build and deployment
124123

125124
For self-hosted servers, you will need to build the site on your local machine and then upload the site files to the server.
126125

@@ -135,4 +134,9 @@ Unless you specified the output path, the generated site files will be placed in
135134
[nodejs]: https://nodejs.org/
136135
[starter]: https://github.com/cotes2020/chirpy-starter
137136
[pages-workflow-src]: https://docs.github.com/en/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site#publishing-with-a-custom-github-actions-workflow
138-
[latest-tag]: https://github.com/cotes2020/jekyll-theme-chirpy/tags
137+
[docker-desktop]: https://www.docker.com/products/docker-desktop/
138+
[docker-engine]: https://docs.docker.com/engine/install/
139+
[vscode]: https://code.visualstudio.com/
140+
[dev-containers]: https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers
141+
[dc-clone-in-vol]: https://code.visualstudio.com/docs/devcontainers/containers#_quick-start-open-a-git-repository-or-github-pr-in-an-isolated-container-volume
142+
[dc-open-in-container]: https://code.visualstudio.com/docs/devcontainers/containers#_quick-start-open-an-existing-folder-in-a-container

0 commit comments

Comments
 (0)
0