programming-pages
a Jekyll theme for publishing code documentation to GitHub pages.
installation
as a remote theme
Specify pixeldroid/programming-pages
as your remote theme in _config.yml
:
plugins: Â – jekyll-remote-theme remote_theme: pixeldroid/programming-pages
as a gem
Follow the Jekyll directions for installing a gem-based theme
Gemfile
:
gem ‘programming-pages’
_config.yml
:
theme: programming-pages
as a local copy of the files
- Download the latest release
- Extract it into your project under a folder of your choice (e.g.
docs/
)
usage
first:
- Configure a publishing source for GitHub Pages so GitHub knows where to find your documentation.
- Author documentation
- Push to GitHub
- Visit your documentation site at https://<
username
>.github.io/<project
> - repeat
building
programming pages depends on Jekyll, Semantic UI, and jQuery. The dependencies are all captured and coordinated in the source of this project, but if you want to update a dependency or change its configuration, you’ll need to be able to build them from source.
building the static site locally
first:
- install jekyll and the github-pages gem:
bundle install
rake docsopen http://localhost:4000/
generating the semantic ui files
first:
- ensure you can build semantic ui (requires nodejs, npm, gulp):
gulp build
- check out the programming-pages branch of the pixeldroid fork of semantic ui
rake semantic[‘/path/to/programming-pages-semantic’]
semantic ui modules
The Semantic UI modules required by this project are declared in build/semantic/semantic.json
.
generating the jQuery file
first
- ensure you can build jQuery (requires nodejs, grunt):
grunt default
grunt custom:-ajax,-wrap remove_map_commentcp /path/to/jquery/dist/jquery.min.js /path/to/programming-pages/_includes/scripts/jquery/jquery-<version>.custom.min.js
Don’t forget to update assets/site.js
with the new filename.
jQuery modules
Smaller custom subsets of the jQuery library can be built by excluding unwanted modules. (see https://github.com/jquery/jquery#modules)
This project excludes the following unused modules to reduce file size:
excluded
ajax
wrap
required
attr
classes
core
css
data
deferred
(required foreffects
)deprecated
(for jQuery Address’s use ofbind
)dimensions
effects
events
filtering
init
manipulation
offsets
parseHTML
prop
ready
traversing
val
Looking for Support or Custom Solutions?
We specialize in creating stunning, fully-customized Jekyll websites tailored to your needs.
If you need assistance with setup, customization, or support, don't hesitate to contact us.
CONTACT US