Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dwmkerr/effective-shell
Text, samples and website for my 'Effective Shell' series.
https://github.com/dwmkerr/effective-shell
bash coding devops effective-shell hacking linux programming shell terminal
Last synced: 6 days ago
JSON representation
Text, samples and website for my 'Effective Shell' series.
- Host: GitHub
- URL: https://github.com/dwmkerr/effective-shell
- Owner: dwmkerr
- Created: 2017-06-10T15:11:58.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2024-11-05T04:25:15.000Z (about 1 month ago)
- Last Synced: 2024-11-21T06:02:24.953Z (21 days ago)
- Topics: bash, coding, devops, effective-shell, hacking, linux, programming, shell, terminal
- Language: JavaScript
- Homepage: https://effective-shell.com
- Size: 639 MB
- Stars: 708
- Watchers: 15
- Forks: 78
- Open Issues: 32
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/contributing.md
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
- my-awesome-github-stars - dwmkerr/effective-shell - Text, samples and website for my 'Effective Shell' series. (JavaScript)
README
# effective-shell
[![All Contributors](https://img.shields.io/badge/all_contributors-22-orange.svg?style=flat-square)](#contributors-)
[![Release Please](https://github.com/dwmkerr/effective-shell/actions/workflows/release-please.yaml/badge.svg)](https://github.com/dwmkerr/effective-shell/actions/workflows/release-please.yaml) ![Version Badge](https://img.shields.io/github/v/tag/dwmkerr/effective-shell?label=version) [![Creative Commons BY-NC-SA](https://i.creativecommons.org/l/by-nc-sa/3.0/80x15.png)](http://creativecommons.org/licenses/by-nc-sa/3.0/)
Text, samples and references for my 'Effective Shell' series. This website is hosted at [effective-shell.com](https://effective-shell.com).
If you find this book useful, please do consider [sponsoring me](https://github.com/sponsors/dwmkerr) to help support my open-source work!
* [Introduction](#introduction)
* [Installing the Samples](#installing-the-samples)
* [The Website](#the-website)
* [Building the Website](#building-the-website)
* [Custom Components](#custom-components)
* [Versioning](#versioning)
* [Contributing](#contributing)
* [Copyright & Licensing](#copyright--licensing)
* [ASCII Terminal Recordings](#ascii-terminal-recordings)
* [Thanks!](#thanks)
* [Contributors β¨](#contributors-)## Introduction
This repository contains all of the content for the [Effective Shell](https://effective-shell.com/) online book.
## Installing the Samples
You can install the samples into your `~/effective-shell` folder with this command:
```sh
curl effective.sh | sh
```Or can also manually download them using from any of these locations:
- [https://effective-shell.com/downloads/effective-shell-samples.zip](https://effective-shell.com/downloads/effective-shell-samples.zip)
- [https://effective-shell.com/downloads/effective-shell-samples.tar.gz](https://effective-shell.com/downloads/effective-shell-samples.tar.gz)The one-line shell installer is hosted at [github.com/dwmkerr/effective-shell-installer](https://github.com/dwmkerr/effective-shell-installer)
## The Website
The content in this repository is built into a static site available at [effective-shell.com](https://effective-shell.com). This site is generated using [Docusaurus](https://docusaurus.io).
This section contains information on how to built, use and edit the site. To help you quickly edit the site, some tips are below:
- The book content is at [./docs/](./docs/)
- The menu structure is defined at [sidebars.js](sidebars.js).### Building the Website
To setup dependencies, run:
```bash
make setup
```To test that TypeScript types compile, run:
```bash
make typescript-check
```To serve the site locally, run:
```bash
make serve
```To build the site, run:
```bash
make build
```The built site is generated at `./build`.
Note that the [`samples`](./samples) folder is automatically zipped up and added to the website, meaning it can be downloaded directly from:
```
https://effective-shell.com/downloads/effective-shell-samples.zip
https://effective-shell.com/downloads/effective-shell-samples.tar.gz
```## Custom Components
Custom Components to support styling are available at:
```
src/components
```There is a live view that can be used to preview each component:
http://localhost:3000/zz-developer-guide/components
Components can be added to global scope, i.e. available in call pages, by adding to the `MDXComponents.js` swizzled file:
```
src/theme/MDXComponents.js
```## Versioning
The version of the site and the code is defined in the [`package.json`](./package.json) file.
Releasing in managed via [Release Please](https://github.com/googleapis/release-please) in the [`release-please.yaml`](./.github/workflows/release-please.yaml) workflow file.
If you need to manually trigger a release, run:
```bash
git commit --allow-empty -m "chore: release 2.0.0" -m "Release-As: 2.0.0"
```## Contributing
Please carefully read the [Contributing Guide](./.github/contributing.md) before working on changes.
## Copyright & Licensing
All content is Copyright (Β©) Dave Kerr. Please get in touch by opening an issue if you have questions on copyright or licensing.
[![Creative Commons BY-NC-SA](https://i.creativecommons.org/l/by-nc-sa/3.0/88x31.png)](http://creativecommons.org/licenses/by-nc-sa/3.0/)
This work is licensed under a [Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License](http://creativecommons.org/licenses/by-nc-sa/3.0/).
## ASCII Terminal Recordings
All terminal recordings used in this project are built using the superb '[asciinema](https://asciinema.org/)' tool. Many thanks to Marcin Kulik for building such an excellent piece of software.
## Thanks!
Thanks to the following people who have helped with reviews, comments, suggestions.
- Andrew Bestbier, Thomas Neumann, Tam Nguyen, Rahul Maliakkal, Peter Mondlock, Samantha Baldwin, Niklas Schmuecker for the proofing, comments and suggestions
- [Ogus Ismail](https://stackoverflow.com/users/10248678/oguz-ismail) for helping me understand some of the [nuances of word splitting and filename expansion](https://stackoverflow.com/questions/67648392/how-can-i-confirm-whether-whitespace-or-special-characters-are-escaped-in-a-wild)
- [Josh Timmons](https://github.com/josh-59) for proof-reading and suggesting structural improvements as well as grammar and spelling fixes
- [Joel Schwarzmann](https://github.com/datajoely) for proofing and adding content on the Python code in the 'How to avoid shell scripting' chapter
- [Xiaoyou "Elsie" Jiang](https://github.com/xiaoyou-elsie-jiang) for proof-reading and improvements to Chapter 30## Contributors β¨
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
Xiaoyou "Elsie" Jiang
π π
Tobias BΓΌschel
π
Doug Foo
π π
Sallah Kokaina
π π
samhinton88
π π
Alex Vinall
π π
Joseph Knight
π π
Doug Todd
π π
jdhzzz
π π
valankar
π π
Denpeer
π π
Marek Bogatzki
π π
MWarnecke
π π π
Spike
π π
Dong Zhou
π π π
Dror Maman
π π π
Michael Chui
π
Saroj Sangphongamphai
π
Lee Li
π π π
Lee Li
π
Trevor Brown
π π
Philipp Frischmuth
π
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!