Kris Shaffer, Bryn Hughes, and Brian Moseley, Open Music Theory, Hybrid Pedagogy 2014+.
Open Textbook =
- open access: website
- open source: GitHub repository
- open license: cc-by-sa, you CAN copy, modify, and share it, as long as you attribute it and also openly license it.
Basically this open textbook is a Jekyll project, using Balzac theme, hosted on GitHub Pages. Thus:
- content is written in Markdown.
- static site generator (Jekyll) uses the theme to format the content into a web site.
- site HTML is hosted by GitHub Pages.
Skills to make basic modification:
- GitHub web interface (GitHub Hello World)
- GitHub Fork
- Markdown
- Start gh-pages
More advanced customization:
- Git
- Jekyll
- html, css, js
My workshop pages:
The Open Music Theory repository has been forked several times and worked on by many people. In this case a fork brings with it a lot of legacy code and odd configurations. I decided it would be better to create a fresh version to work with.
-
Clone the original repository:
git clone https://github.com/openmusictheory/openmusictheory.github.io.git
-
Delete unnecessary files/directories:
- .sass-cache
- CNAME
- Gemfile
- Gemfile.lock
- params.json
- Graphics/form/.DS_Store
- Graphics/protonotation/.DS_Store
- Graphics/intervals/.DS_Store
-
Create new personal repository:
- On GitHub, click the plus icon on the right side, select "New repository"
- Give the repository a good name (it will show up in the URL)
- Check the box next to "Initialize with a README"
- Click "Create repository"
-
Clone the new repository to your machine
-
Manually copy the Open Music Theory files to the new repository directory, except the .git directory (it should be a hidden folder). Once you copy them all, the original repo "openmusictheory.github.io" can be deleted.
-
Fix the
_config.yml
file (in the new repository)- replace
url
with your gh-pages address, like: https://username.github.io/repositoryname - replace
baseurl
with "" - replace or delete the owner information
- delete the
tools
section - delete
timezone
,future
,pygments
,markdown
,kramdown
,sass
- delete
include
,exclude
- my config.yml for reference
- replace
-
Fix
.gitignore
file. Delete everything on it, and paste in:
_site
.sass-cache
.jekyll-metadata
-
git add, commit, and push all the changes!
git add -A
git commit -m "clean Open Music Theory"
git push
- my repo for reference
-
Activate gh-pages to create the website:
- click on repo's "Settings" tab
- scroll down to "GitHub Pages" section
- under "Source" use dropdown to select "master branch"
- click "Save" button
- wait for the site to build! my version
-
Update the
README.md
andindex.md
to make it clear you forked this work and are now customizing it yourself.
p.s. rather than following this, you can "import" my cleaned repository by clicking GitHub plus icon, selecting "Import repository", then paste in the clone link https://github.com/evanwill/open-music-theory.git . Unlike a clone, this will give you a fresh repository.
In open-music2, I deleted out the original "Balzac" theme files and replaced them with the Ed theme. The result is open-music2 website.