Skip to content

Text, samples and website for my 'Effective Shell' series.

Notifications You must be signed in to change notification settings

JosephFKnight/effective-shell

 
 

Repository files navigation

effective-shell

All Contributors

Release Please Version Badge Creative Commons BY-NC-SA

Text, samples and references for my 'Effective Shell' series. This website is hosted at effective-shell.com.

If you find this book useful, please do consider sponsoring me to help support my open-source work!

Introduction

This repository contains all of the content for the Effective Shell online book.

Installing the Samples

You can install the samples into your ~/effective-shell folder with this command:

curl effective.sh | sh

Or can also manually download them using from any of these locations:

The one-line shell installer is hosted at github.com/dwmkerr/effective-shell-installer

The Website

The content in this repository is built into a static site available at effective-shell.com. This site is generated using Docusaurus.

This section contains information on how to built, use and edit the site. To help you quickly edit the site, some tips are below:

Building the Website

To setup dependencies, run:

make setup

To test that TypeScript types compile, run:

make typescript-check

To serve the site locally, run:

make serve

To build the site, run:

make build

The built site is generated at ./build.

Note that the 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

Versioning

The version of the site and the code is defined in the package.json file.

Releasing in managed via Release Please in the release-please.yaml workflow file.

Contributing

Please carefully read the Contributing Guide 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

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.

ASCII Terminal Recordings

All terminal recordings used in this project are built using the superb 'asciinema' 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 for helping me understand some of the nuances of word splitting and filename expansion
  • Josh Timmons for proof-reading and suggesting structural improvements as well as grammar and spelling fixes
  • Joel Schwarzmann for proofing and adding content on the Python code in the 'How to avoid shell scripting' chapter
  • Xiaoyou "Elsie" Jiang for proof-reading and improvements to Chapter 30

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Xiaoyou "Elsie" Jiang

📖 👀

Tobias Büschel

👀

Doug Foo

📖 👀

Sallah Kokaina

📖 👀

This project follows the all-contributors specification. Contributions of any kind welcome!

About

Text, samples and website for my 'Effective Shell' series.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 57.2%
  • TypeScript 14.9%
  • Shell 13.8%
  • Python 7.8%
  • Makefile 6.3%