Skip to content

Instantly share code, notes, and snippets.

@balupton
Last active October 11, 2015 23:48
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save balupton/3939146 to your computer and use it in GitHub Desktop.
Save balupton/3939146 to your computer and use it in GitHub Desktop.
DocPad: Absolute URL Helper

DocPad: Absolute URL Helper

Uses a docpad configuration file to specify template data that we can use in our document to generate absolute urls.

module.exports =
# =================================
# Template Data
# These are variables that will be accessible via our templates
templateData:
# Site Information
site:
# Site Production URL
url: 'http://your-website.com'
# -----------------------------
# Helpers
# Get the Absolute URL of a document
getUrl: (document) ->
return @site.url + (document.url or document.get?('url'))
Via helper: <a href="<%= @getUrl(@document) %>">visit me</a>
Without helper: <a href="<%= @site.url+@document.url %>">visit me</a>
@Hypercubed
Copy link

@thesec
Copy link

thesec commented Oct 9, 2013

@jeffmcneill
Copy link

I need to output for several different websites which share some content but also have unique content. Basically the sites are focused on specific countries, but some content references multiple countries (and so is on all sites (and this is fine with Google).

E.g.,
nepal.com/projects // unique content to this site
nepal.com/summer-volunteering-in-south-asia // shared content
india.com/projects // unique content to this site
nepal.com/summer-volunteering-in-south-asia // shared content (identical to above)

How should I organize using docpad? Should this be two different docpad installations where I manually copy the shared content? Or can this be one docpad but use folders/subfolders such as:

/india-projects
/summer-volunteering-in-south-asia
/nepal-projects

And then produce multiple static sites (or a single site with inbound redirection/rewrite of base URL based on site request)?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment