This repository contains the source files for the product page of DamageBDD, a Behavior-Driven Development (BDD) framework at scale, leveraging the power of Emacs and Org mode. The site is generated using org-publish
, a tool within Emacs that converts Org files into a static HTML site. The project follows a clean, minimalist approach, reflecting DamageBDD's commitment to transparent and verifiable software behavior.
To generate the site from your Org files using the provided org-publish
configuration, follow these steps:
-
Clone the Repository:
git clone https://github.com/yourusername/damagebdd-site.git cd damagebdd-site
-
Set Up Your Emacs Environment: Ensure your Emacs is configured to load the necessary packages for Org mode and
org-publish
. -
Prepare the Org Files:
- Store your Org files in the
~/Org/damagebdd/
directory. - Assets like images, CSS, and JavaScript should go into the
~/Org/damagebdd/assets/
directory.
- Store your Org files in the
-
Configure Org-Publish: Add the following configuration to your Emacs initialization file (usually
.emacs
orinit.el
):(setq org-publish-project-alist '( ("damagebdd.staging.pages" :base-directory "~/Org/damagebdd/" :base-extension "org\\|jpeg" :publishing-directory "/var/www/staging.damagebdd.com/" :recursive t :publishing-function org-html-publish-to-html :auto-preamble t :auto-sitemap t :auto-index t :sitemap-title "DamageBDD - BDD at scale." :sitemap-filename "sitemap.org" :sitemap-sort-files anti-chronologically :makeindex t :sitemap-format-entry org-sitemap-date-entry-format :section-numbers nil :with-toc nil :html-doctype "html5" :html-html5-fancy t :html-head-include-scripts nil :html-head-include-default-style nil :html-head ,damagebdd-html-head :html-preamble ,damagebdd-html-preamble :html-postamble ,damagebdd-html-postamble) ("damagebdd.staging.static" :base-directory "~/Org/damagebdd/assets/" :base-extension "css\\|js\\|png\\|jpg\\|jpeg\\|gif\\|pdf\\|mp3\\|ogg\\|swf\\|ttf\\|map\\|svg\\|woff\\|woff2\\|ico" :publishing-directory "/var/www/staging.damagebdd.com/assets/" :recursive t :publishing-function org-publish-attachment) ("damagebdd.prod.pages" :base-directory "~/Org/damagebdd/" :base-extension "org" :publishing-directory "/var/www/damagebdd/" :recursive t :publishing-function org-html-publish-to-html :auto-preamble t :auto-sitemap t :auto-index t :sitemap-title "DamageBDD - BDD at scale." :sitemap-filename "sitemap.org" :sitemap-sort-files anti-chronologically :with-toc nil :html-doctype "html5" :html-html5-fancy t :html-head-include-scripts nil :html-head-include-default-style nil :html-head ,damagebdd-html-head :html-preamble ,damagebdd-html-preamble :html-postamble ,damagebdd-html-postamble) ("damagebdd.prod.static" :base-directory "~/Org/damagebdd/assets/" :base-extension "css\\|js\\|png\\|jpg\\|jpeg\\|gif\\|pdf\\|mp3\\|ogg\\|swf\\|ttf\\|map\\|svg" :publishing-directory "/var/www/damagebdd/assets/" :recursive t :publishing-function org-publish-attachment)))
-
Publish the Site:
- To publish the staging version:
(org-publish-project "damagebdd.staging.pages" t)
- To publish the production version:
(org-publish-project "damagebdd.prod.pages" t)
- To publish the staging version:
-
Deploy the Site:
- Ensure the output files are correctly deployed to your web server's root directories (
/var/www/staging.damagebdd.com/
and/var/www/damagebdd/
).
- Ensure the output files are correctly deployed to your web server's root directories (
By following these instructions, you can easily manage and deploy updates to your DamageBDD website using Org mode and Emacs.