- Notifications
You must be signed in to change notification settings - Fork39
Homepage for the bpkg projecthttp://bpkg.sh
bpkg/bpkg.github.io
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
bpkg
is a lightweight bash package manager.This repository contains the source code of it's homepage.
To assist in working with this project, Abpkg.json
file has been included with commonly used project commands. The provided commands can be executed using the following format:
$ bpkg run [COMMAND]
In the remainder of this document, if there is a accompanyingbpkg
command it will be listed as follows:
BPKG:
[COMMAND]
This environment is not necessary to use if you'd rather run everything directly on your host system. This environment is provided however, to facilitate all the required components for building and development ofbpkg
site.
Adocker-composer.yml
file exists in the root directory of the project to specify the Docker services
jekyll
– Perform Jekyll and Rake processesNOTE:A custom
Dockerfile
exists to generate the image for this service, in thedev/jekyll
directorylessc
– Implements LESS preprocessingsitediff
– Host SiteDiff for performing site comparison
There are associatedbpkg
commands to interact with the Docker environments, accompanying Docker commands will be listed like the otherbpkg
commands.
This website was made with theJekyll engine, so it depends on a fewRuby Gems. To install them, run the following command:
$ gem install jekyll
It might take a while to finish, but once it does you're ready to go.
Tomake changes to the page orrun it locally, clone this GitHubrepository and make sure you haveinstalled the dependencies above.
Then, it's a matter of editing pages and runningrake
tasks. Here's a rundownof possible commands (thanks tothis great quickstart on Jekyll).
$ rake preview
BPKG:
preview
BPKG:docker-preview
Builds the entire site to a local folder_site
and launches a webserver topreview it.
To see the full site, point your browser tolocalhost:4000
.
If you make any changes on any files, it will regenerate the websiteautomatically.
$ rake post title="Hello, World!"
BPKG:
post title="Hello, World!"
BPKG:docker-post title="Hello, World!"
Creates a new post. It will create a file_posts/YYYY-MM-DD-title.md
, wherethe date is the current, by default.
No further changes are required, the post will get automatically inserted on thesite.
$ rake page name="about"
BPKG:
page name="about"
BPKG:docker-page name="about"
Creates a new page. It will create the file./about/index.html
.
$ rake page name="about.html"
BPKG:
page name="about.html"
BPKG:docker-page name="about.html"
Alternative way to create a new page, on this case it will be./about.html
.
This project usesLESS (Leaner Style Sheets) files to generate the CSS for this site. When modifying the site style sheets under the/assets
directory, update the LESS files (ie:*.less
). To update the CSS file after making changes to any of the LESS files, run the following command (from the root of the project):
$ lessc ./assets/themes/the-program/css/style.less ./assets/themes/the-program/css/style.css
BPKG:
lessc
BPKG:docker-lessc
When working on the site, sometimes it's helpful to see changes between the production copy and the output of local changes. A report of changes can be generated with theSiteDiff tool, to simplify this process a Docker service has been included with a fewbpkg
commands. This is a multi-step process (each step has an associated 'bpkg' command), but a single command can be used to run all the steps. Before performing these steps the local version needs to be inpreview mode.
The SiteDiff utility will crawl the production and the preview versions of the site prior to performing the comparison:
BPKG:
site-crawl
After crawling the versions of the sites, SiteDiff will compare the preview against the production version and generate a change report:
BPKG:
site-diff
The generated report can be served for viewing by SiteDiff:
BPKG:
site-serve
To see the report, point your browser tolocalhost:13080
.
The preceding command performs the following steps (which can be run individually):
BPKG:
sitediff
- When producing content (writing pages/posts) keep in mindthis useful guide. It tells how to include images, displaypost excerpts and highlight code snippets.
- If you plan on further customizing the blog, it's highly recommended toreadthis 10-minute introduction to Jekyll.
- If you change settings on the file
_config.yml
, automatic regeneration won'twork - you'll have to run the commandrake preview
again.
This site usesJekyll Bootstrap with a heavily customized version ofthe_program theme, originally made byYuya Saito.