-
v6.49.1 August 14, 2013
loadFiles
step is now properly reported in the progress bar- Thanks to Bruno Heridet for pull request #498
-
v6.49.0 August 12, 2013
- DocPad will now shutdown and destroy itself more thoroughly
- Thanks to Ashton Williams for issue #595
- Added the event
docpadDestroy
for plugins that are doing anything long-running so they can destroy themselves thoroughly too
- DocPad will now shutdown and destroy itself more thoroughly
-
v6.48.1 August 9, 2013
- Fixed outputting filenames without an extension
- Thanks to Geert-Jan Brits for issue #584
- Fixed outputting filenames without an extension
-
v6.48.0 August 5, 2013
- Moved
regenerateEvery
timer intogenerate
rather thansetConfig
to avoid action stacking - DocPad will now warn you when your project's local DocPad version does not match the global version
- Moved
-
v6.47.0 July 31, 2013
- Added
FileModel::deleteSource
- Added support for specifying inline content within the styles block
- Fixed
DocPad::parseFileDirectory
- Added
-
v6.46.5 July 28, 2013
- Fixed
ReferenceError: result is not defined
(bug since v6.46.4)- Thanks to Anup Shinde for issue #573
- Fixed
-
v6.46.4 July 27, 2013
- Fixes
- Fixed virtual documents firing duplicated events
- Plugins should now use
DocPad::cloneModel(model)
instead ofmodel.clone()
as the latter can't bind events correctly
- Plugins should now use
- Fixed
Object #<Model> has no method 'setDefaults'
error (bug since v6.46.3)- Moved
FileModel::setDefaults
back intoBase::setDefaults
- Thanks to Jeff Barczewski for bevry/docpad-documentation#40
- Moved
- Fixed the 500 middleware not working
- Fixed virtual documents firing duplicated events
- Changes
- The
documents
collection is now defined byrender:true, write:true
rather than being paths andisDocument:true
based - The
files
collection is now defined byrender:false, write:true
rather than being paths andisFile:true
based - The
html
collection now checks forwrite:true
instead ofisDocument:true
orisFile:true
- The
stylesheet
collection now checks forwrite:true
instead ofisDocument:true
orisFile:true
- The
- Additions
- Added ability to do
getCollection('database')
to get the global database - Added naming to collections to easily identify which collection we are in when debugging
- Added
render
alias for documents directory - Added
static
alias for files directory - Added logging for event emits
- Re-added
DocPad::parseDocumentDirectory
andparseFileDirectory
(removed from v6.46.0) which wraps around the new ways of doing things - Added
DocPad::createModel(attrs,opts)
and updatedDocPad::createDocument
andDocPad::createFile
to use it - Added
DocPad::ensureModel(attrs,opts)
and updatedDocPad::ensureDocument
,DocPad::ensurefile
, andDocPad::ensureFileOrDocument
to use it - Added
DocPad::attachModelEvents(model)
to attach the required docpad events to a model
- Added ability to do
- Fixes
-
v6.46.3 July 25, 2013
- Moved
Base::setDefaults
toFileModel::setDefaults
- Removed superfluous loading logging messages
- Thanks to Bruno Heridet for issue #316
- The attributes
parser
,header
,body
, andcontent
are now set correctly tonull
instead ofundefined
if there is no data - Correctly set meta attributes when also setting default attributes (bug since v6.42.2)
- Added support for
outPath
,outDirPath
androotOutDirPath
to be null - Added unit tests for virtual document loading
- Fixed
removeWhitespace
tester option default - Added
contentRemoveRegex
tester option - Fixed debug log lines always being
DocPad.log
(bug since always)
- Moved
-
v6.46.2 July 24, 2013
- Fixed regenerations not regenerating referencing documents (bug since v6.46.0)
- Closes issue #559
- Fixed documents not including the default attributes of files (bug since always)
- Corrected naming of
releativeOutBase
torelativeOutBase
on file model defaults (introduced in v6.45.0)
- Fixed regenerations not regenerating referencing documents (bug since v6.46.0)
-
v6.46.1 July 23, 2013
- Added
populateCollectionsBefore
event
- Added
-
v6.46.0 July 23, 2013
- Awesomeness for everyone
- Added support for creating brand new virtual documents
- File
data
will now just set thebuffer
- Removed
getData
andsetData
on models
- Removed
- Can now
docpad install
multiple plugins at once - Plugin loading will now validate the
peerDependencies
requirements along with the oldengines
docpad init
will now initialise to the complete docpad version and npm v1.3- You can now tell a file to update it's source file by setting
writeSource: true
in it's meta data
- Awesomeness for developers
- We now require all plugins to conform to the v2 for DocPad v6 standard, otherwise they will be skipped
- This is to ensure compatibility with
docpad update
anddocpad install <plugin>
which are the new standards for installing plugins
- This is to ensure compatibility with
parseDirectory
will no longer:- load files, this is now handled by the generate process instead
- add files to the database, this can be done via the completion callback or via passing over the collection the files should be added to:
parseDirectory({collection:docpad.getDatabase()})
- Removed
parseDocumentDirectory
useparseDirectory({createFunction:docpad.createDocument})
instead - Removed
parseFileDirectory
useparseDirectory({createFunction:docpad.createFile})
instead Document::writeRendered
removed asFile::write
will now write the output content- Added
File::writesource
- Added
PluginTester::getConfig()
andPluginTester::getPlugin()
- We now require all plugins to conform to the v2 for DocPad v6 standard, otherwise they will be skipped
- Updated dependencies
- Awesomeness for everyone
-
v6.45.1 July 23, 2013
- Fix
safeps is not defined
error- Thanks to Carlos Rodriguez for issue #558
- Fix
-
v6.45.0 July 6, 2013
- New
docpad update
command to ensure that your local installations of DocPad and its plugins are up to date with their latest compatible version docpad install [plugin]
command now installs the latest compatible version- Added NodeFly support when using the
--profile
flag
- New
-
v6.44.0 July 2, 2013
- Model Improvements
- Way better support for virtual documents (files that do not have a physical path)
- Cleaned up and fortified the normalization and contextualize prodecures
- At least one of these file attributes must be specified:
filename
,relativePath
,fullPath
relativePath
if not set will default tofullPath
orfilename
filename
if not set will default to the filename offullPath
orrelativePath
fullPath
will not default to anything, as it is now optional (providing better support for virtual documents)
- The following file attributes are auto set but can be over-ridden by custom meta data:
date
,name
,slug
,url
,contentType
,outContentType
,outFilename
,outExtension
,outPath
- The following file attributes are forcefully auto set:
extensions
,extension
,basename
,outBasename
,relativeOutPath
,relativeDirPath
,relativeOutDirPath
,relativeBase
,relativeOutBase
,outDirPath
- Added these new file attributes:
outBasename
,relativeOutBase
,fullDirPath
- Updated a lot of log messages to support virtual documents
buffer
is now correctly set as a File optionFile::setMeta(attrs)
can now accept meta backbone models instead of just javascript objects- File and Document methods now use extract-opts for their arguments just like DocPad already does
- Removed the incorrect dangling file attributes:
path
anddirPath
- Added new
FileModel::clone
method for making a clone of the file, attributes, opts, events and all will be cloned
- Core Improvements
- Added
getFileById(id, opts={})
template helper and docpad class method - Plugins can now alter the load, contextualize, render, and write collections
- Added a new
lib/util
file for containing misc functions - Added
DocPad::destroy()
method for shutting down the server and whatnot- Currently only shutdowns the server, we still need to add the rest of the things
- Added
- Testing Improvements
- RendererTester is now more helpful when comparing differences between outputs
- DocPad tests now use the new docpad destroy method that allows graceful shutdown rather than the previous ungraceful
process.exit(0)
- Still needs to be applied to plugin tests
- Model Improvements
-
v6.43.2 June 30, 2013
- Fixed
locale is not defined
error when runningdocpad init
on an existing website
- Fixed
-
v6.43.1 June 29, 2013
- Fixed
docpad init
config error
- Fixed
-
v6.43.0 June 29, 2013
- Huge improvements to the skeleton install process
- Install process is much more reliable
- Skeleton dependencies will now install correctly if
node_modules
already exists - Missing module errors when doing an initial clone of a skeleton should now be fixed
- Removed the unused and non-working
-s, --skeleton
option
- Activities that wait on remote activity will now output a please wait message
- You can now install plugins via the
docpad install [pluginName]
command- Thanks to Jarvis Ao Ieong for issue #539
- Installing dependencies via the
docpad install
command now works again - The
-f, --force
flag now works as expected (enabling the npm--force
flag) - Fixed an issue with arrays not being derefenced correctly in configuration
- This fixes initial run issues with skeletons that have custom file structures
- Added
--offline
flag that will help docpad run without an internet connection - Added an interval timer to load, contextualize, render, and write actions to determine what files we are waiting on
- Dependency upgrades
- Huge improvements to the skeleton install process
-
v6.42.3 June 26, 2013
- Swapped out synchronous file system calls for asynchronous ones
- Closes issue #538
- Fixed DocPad version number undefined in X-Powered-By response header
- Added the ability to turn off the X-Powered-By meta header by setting the
poweredByDocPad
tofalse
in your configuration
- Swapped out synchronous file system calls for asynchronous ones
-
v6.42.2 June 25, 2013
- Fixed backslash and slash inconsistencies on windows in regards to searching
- Thanks to Hamish for issue #533
- Fixed backslash and slash inconsistencies on windows in regards to searching
-
v6.42.1 June 25, 2013
- Fixed backslash and slash inconsistencies on windows in regards to urls
- Thanks to jhuntdog for issue #518
docpad render
will no longer output warning levels
- Fixed backslash and slash inconsistencies on windows in regards to urls
-
v6.42.0 June 25, 2013
- Better lazy loading of modules
- Updated dependencies
-
v6.41.0 June 25, 2013
- Made debugging, tracing, and profiling easier
- Added
docpad-debug
for easy debugging - Added
docpad-trace
for easy tracing - Added
--profile
for easy profiling - See our debug guide for details
- Added
- Made debugging, tracing, and profiling easier
-
v6.40.0 June 24, 2013
- Removed excessive dirname usage
- Updated dependencies
-
v6.39.0 June 20, 2013
- Abstracted out the file fetching in
DocPad::serverMiddlewareRouter
intoDocPad::getFileByRoute(url, next)
for others to use in their custom routes - Updated dependencies
- Abstracted out the file fetching in
-
v6.38.1 June 7, 2013
- Fix compilation issue with CoffeeScript v1.6.3
- Updated dependencies
-
v6.38.0 May 30, 2013
- Added
docpad init
action to initialize your directory with an empty docpad project
- Added
-
v6.37.1 May 30, 2013
- Added scripts.start property to no-skeleton's package.json file
-
v6.37.0 May 29, 2013
- Plugin tester file is now optional when specifying something like
testerClass: 'RendererTester'
inside your plugin test file- Closes issue #487
enableUnlistedPlugins
is now set totrue
when running plugin tests (it wasfalse
before)- This allows us to remove the need for the plugin tester file for most situations
- Plugin tester file is now optional when specifying something like
-
v6.36.2 May 28, 2013
- You will now be warned if your custom collection is invalid
- Child collections will now be of the correct class type
-
v6.36.1 May 28, 2013
- Fixed
TypeError: Object has no method 'unbindEvents'
- Fixed
-
v6.36.0 May 28, 2013
- Rewrote the error-reporting, analytics, newsletter, and identification handling
- Fixed a bug with the plugin version not being set on the plugin instance correctly
-
v6.35.0 May 25, 2013
- We now respect plugin priorities again
- Thanks to Neil Taylor for pull request #511
- Set plugin priorities by
priority: 500
or whatever in your plugin class - Set event specific priorities by
eventNamePriority: 500
or whatever in your plugin class
- Updated dependencies
- We now respect plugin priorities again
-
v6.34.2 May 13, 2013
- We now support
docpad run
on empty directories when offline- Before it would crash because it could not load the exchange data, now it will continue anyway
- Removed
cli-color
dependency - Progress bar will now be destroyed when a notice or higher importance message is logged
- We now support
-
v6.34.1 May 9, 2013
- Fixed
ReferenceError: docpad is not defined
- Fixed
-
v6.34.0 May 8, 2013
- Now uses envfile for
.env
file parsing - Fixed
TypeError: Cannot call method 'get' of undefined
error when using minicms plugin- Closes issue #501 reported by rleite
- Now uses envfile for
-
v6.33.0 May 6, 2013
- We now load the exchange file based on which DocPad version we are running
- Updated dependencies
- Caterpillar Human v3.1 from v3.0
-
v6.32.0 May 2, 2013
- Now uses Caterpillar v2
- We now write a
docpad-debug.log
file when running with the-d
flag, submit this when you file a bug report :) - Fixed colors not showing on custom Terminal color schemes
- Fixed a double progress bar issue when a log message occurs when the progress bar is being written
- Removed
setLogger()
instead you should dogetLogger()
and pipe the results to where you need - Added
getLoggers()
to fetch all the different logger streams we are using, generally there are:logger
the stream we write log messages toconsole
the stream that is outputted to stdoutdebug
the stream that is outputted to the debug log file
-
v6.31.6 April 26, 2013
X-Powered-By
now also includes the DocPad version number
-
v6.31.5 April 26, 2013
- Progress bars now obey the
prompts
configuration option instead of v6.31.2 environment hack
- Progress bars now obey the
-
v6.31.4 April 25, 2013
- Fixed "ReferenceError: existingModel is not defined" when you have outPath conflicts
-
v6.31.3 April 25, 2013
- Moved progress bar code into bevry/progressbar
- Fixes issues with progress bars on Ubuntu and Windows
- Moved progress bar code into bevry/progressbar
-
v6.31.2 April 25, 2013
- Do not show progress bars on production environments
-
v6.31.1 April 25, 2013
- Fixed cannot get
length
of undefined error - Added progress bar (instead of snores) for during generation when using the default log level (
6
)
- Fixed cannot get
-
v6.31.0 April 24, 2013
- DocPad will now warn you when you have files of the same outPath
- File and Document IDs will now always be their
cid
(before they use to be their relativePath on occasion) - Fuzzy searching no longer searches for the id
- Server is now able to serve cached pages while a non-initial generation is occurring
- We no longer replace tabs with 4 spaces for the content of files and documents (we still do it for YAML meta data headers on documents)
- This means if you're a plugin developer, you may need to update your plugin's test's
out-expected
folder accordingly- If this is too difficult, we've added a
removeWhitespace
config option for your plugin tester, set it totrue
, see here for usage
- If this is too difficult, we've added a
- This means if you're a plugin developer, you may need to update your plugin's test's
- Change events will now fire when adding a url to a file
- URL cache index for serving files is now generated via change events, rather than after generation
-
v6.30.5 April 23, 2013
- The no skeleton option will now create a
node_modules
directory, andpackage.json
anddocpad.coffee
files
- The no skeleton option will now create a
-
v6.30.4 April 16, 2013
- Testing of plugins now works when the plugin directory is the full plugin name
- Thanks to Mark Groves for issue #485
- Testing of plugins now works when the plugin directory is the full plugin name
-
v6.30.3 April 10, 2013
- Updated dependencies
-
v6.30.2 April 7, 2013
- Allow for empty
data
when injecting files into the database- Thanks to Richard A for pull request #454
- Fixed "No Skeleton" option not working (bug introduced in v6.30.0)
- Thanks to Adrian Olaru for pull request #475
- Allow for empty
-
v6.30.1 April 6, 2013
- Updated dependencies
-
v6.30.0 April 5, 2013
- Progress on issue #474
balUtil
,chai
,expect
,assert
,request
are no longer exposed to plugin testers, you'll need to include them yourself from now on- Updated dependencies
-
v6.29.0 April 1, 2013
- Progress on issue #474
- DocPad will now set permissions based on the process's ability
- Thanks to Avi Deitcher, Stephan Lough for issue #165
- Updated dependencies
-
v6.28.0 March 25, 2013
- Removed native prototype extensions
- Thanks to David Baird for issue #441
- If you were using
toShortDateString
, then we'd recommend this gist instead - If you were using
toISODateString
, just replace it withtoISOString
- Removed native prototype extensions
-
v6.27.0 March 25, 2013
- Engine requirements are now:
- node >=0.8
- npm >=1.2
- Iconv is now a lazy loaded dependency
- Thanks to jhuntdog for issue #468
- Added
regenerateDelay
configuration option- Thanks to Homme Zwaagstra for pull request #426
- Engine requirements are now:
-
v6.26.2 March 23, 2013
- Fixes
TypeError: Object #<Object> has no method 'removeListener'
- Thanks to Steven Lindberg for issue #462
- Can now customise the
watchOptions
that are used to construct the watchr instances we create - Updated dependencies
- Fixes
-
v6.26.1 March 12, 2013
- We now gather statistics on the node version and platform you are using to better understand where issues are coming from
- Updated dev dependencies
- coffee-script ~1.4.0 to ~1.6.1
- request ~2.14.0 to ~2.16.2
-
v6.26.0 March 12, 2013
- Node v0.10.0 support - fixes the "Arguments to path.join must be strings" errors
- Thanks to Merrick Christensen for issue #455
- The requirement of "plugins must have their own
package.json
file withversion
andmain
defined within them" is now enforced - Updated dependencies
- Node v0.10.0 support - fixes the "Arguments to path.join must be strings" errors
-
v6.25.0 March 10, 2013
- Database is now persistant
- We now destroy unused collections
-
v6.24.2 March 8, 2013
- Fixed regression from v6.24.1 that caused new installs or very old upgrades to get stuck in the TOS section
-
v6.24.1 March 8, 2013
- Typo fixes
- Fixes
getMixpanelInstance()
always re-creating the mixpanel instance instead of just doing it once - Fixes
DocPad::getBlocks
- Thanks to Richard A for pull request #450
- Fixes
- Fixed mixpanel country and language always being au and en
- Updated dependencies
- bal-util ~1.16.3 to ~1.16.10
- Typo fixes
-
v6.24.0 March 6, 2013
- Configuration changes and improvements
- Can now load the configuration before the console interface is setup, allowing us to have plugins that extend the console interface
- Currently explicit commands only
- Configuration can now load multiple times safely
- Plugins now have
initialConfig
,instanceConfig
, and asetConfig(instanceConfig=null)
helper and their configuration will be reloaded viasetConfig
each time the docpad configuration is reloaded- NOTE: This means no modifying
config
directly in your constructor as the changes won't persist, instead modify them via thesetConfig
call after callingsuper
- See the partials plugin for an example of this
- NOTE: This means no modifying
- Thanks to Olivier Bazoud for issue #63 and thanks to Avi Deitcher, Sergey Lukin, Zeno Rocha for issue #39
- Can now load the configuration before the console interface is setup, allowing us to have plugins that extend the console interface
- Added
docpad action <actions>
command line action - When passing arrays to blocks we now clone the array to avoid modifying the argument
- Configuration changes and improvements
-
v6.23.0 March 6, 2013
- DocPad can now handle foreign encodings when you set
detectEncoding: true
in the docpad configuration- Thanks to Yellow Dragon for issue #411
- DocPad can now handle foreign encodings when you set
-
v6.22.0 March 6, 2013
-
v6.21.10 February 6, 2013
- Updated dependencies
- watchr ~2.3.4 to ~2.3.7
- Works better for projects that have a large amount of files
- watchr ~2.3.4 to ~2.3.7
- Updated dependencies
-
v6.21.9 February 6, 2013
-
v6.21.8 February 5, 2013
- Swapped out underscore dependency for lodash
- Underscore is no longer provided to testers
File::getMeta
now alises toFile.getMeta().get
if arguments have been supplied- No longer does deep clones on template data per file render (just shallow clone now)
- Fixed a bug that keeps
exists
attribute onFile
alwaystrue
- Thanks to Stefan for pull request #409
- Updated dependencies
-
v6.21.7 January 25, 2013
- Fixed port not defaulting correctly on the
docpad-server
executable since v6.21.5- Thanks to man4u for issue #407
- Updated dependencies
- bal-util ~1.16.0 to ~1.16.1
- Fixed port not defaulting correctly on the
-
v6.21.6 January 25, 2013
- Better debugging around server starting
-
v6.21.5 January 24, 2013
- Supports Node v0.9
- Added
renderSingleExtensions
option- Note: currently this will render
src/documents/script.coffee
from CoffeeScript to JavaScript as intended, HOWEVER the outfile will beout/script.coffee
instead of the expectedout/script.js
. We will likely have to do an extension mapping for single extensions.
- Note: currently this will render
- Added expiremental
docpad-compile
executable - Updated dependencies
- bal-util ~1.15.4 to ~1.16.0
-
v6.21.4 January 16, 2013
- Fixed incorrect meta data parsing for certain files
- Thanks to Jose Quesada and Stefan for issue #394
- Scripts and styles blocks now support an
attrs
option string- Thanks to Alex for pull request #397
- Thanks to edzillion for issue #400
- Fixed incorrect meta data parsing for certain files
-
v6.21.3 January 9, 2013
- Fixed ignored files sometimes triggering reloads
- Added
ignorePaths
,ignoreHiddenFiles
options - Added
DocPad::isIgnoredPath
,DocPad::scandir
,DocPad::watchdir
helpers
-
v6.21.2 January 8, 2013
- Fixed
Base::setDefaults
andFile::setMetaDefaults
always forcing defaults- Thanks to Stefan for pull request #396
- Fixed
-
v6.21.1 January 6, 2013
- Added support for running multiple plugin tests for the same plugin
- Closes issue #393
- Added support for running multiple plugin tests for the same plugin
-
v6.21.0 January 2, 2013
- Cleanup focused around loading, parsing, and writing of files and documents
- Added
DocPad::flowDocument
DocPad::loadDocument
exists
attribute onFile
model
- Fixed
Document::writeSource
-
v6.20.1 December 24, 2012
- Fixed
File::writeSource
- Thanks to ashnur for pull request #381
- Fixed
-
v6.20.0 December 17, 2012
- Better watch handling
- Updated dependencies
- watchr ~2.2.1 to 2.3.x
-
v6.19.0 December 15, 2012
-
v6.18.0 December 14, 2012
- Added
regeneratePaths
configuration option - Include now returns expected results if the content hasn't been rendered yet
- Closes issue #378
- Updated QueryEngine v1.4.x to v1.5.x
- Backbone dependency now moved to our dependencies from QueryEngine's. Version set explicitly to v0.9.9.
- If you have any plugins or whatever that used the
myCollection.getByCid
function, change that call tomyCollection.get
- If you have any plugins or whatever that used the
- Improved help URLs
- Added
-
v6.17.3 December 5, 2012
- Fixed an issue introduced in v6.17.0 that prevented files from reloading under certain circumstances
- Thanks to Vladislav Botvin for issue #370 and pull request #371
- Fixed an issue introduced in v6.17.0 that prevented files from reloading under certain circumstances
-
v6.17.2 December 5, 2012
watch
andserver
actions now perform an initial generation- Thanks to Khalid Jebbari, Vladislav Botvin for issue #369, issue #368, issue #366
-
v6.17.1 December 4, 2012
- Updated misc internals to use the new
File::getOutContent
call
- Updated misc internals to use the new
-
v6.17.0 December 4, 2012
- Cleaned up the way we handle buffers, data, and meta data - more effecient and simpler api
- Updated
File::getMeta
to create meta if it doesn't exist yet
- Removed
Document::initialize
didn't do anythingDocument::getMeta
didn't do anythingFile::readFile
merged intoFile::parse
File::parseData
renamed toFile::parse
and cleaned signficantly
- Added
Base::setDefaults
to update attributes that haven't been setFile::setMeta
to update the meta more easily thanFile.getMeta().set
File::setMetaDefaults
to update the meta attributes that haven't been setFile::getContent
to get the content or bufferFile::getOutContent
to get the rendered content, or content, or bufferFile::getStat
to get the statFile::setBuffer
to set the bufferFile::getBuffer
to get the buffer
-
v6.16.0 December 4, 2012
- The amount of render passes is now customisable via the
renderPasses
configuration option, defaults to1
- Increment this value dependening on how many levels of cross-document references you have (e.g. 2 passes for C includes B, B includes A)
- The render pass functionality has been changed to render all documents that don't reference anything else first, then for each additional render pass, render documents that do reference others
- Previously it would render both types of documents in the one batch, which resulted in hit and miss results
- Doing this, we now safely have the default
renderPasses
value set to1
which has the same effect as the traditional2
render pass - Refer to issue #359 for more information
- The amount of render passes is now customisable via the
-
v6.15.0 December 3, 2012
- Nodejitsu Support
-
v6.14.0 November 29, 2012
- Added
DocPad::getFileByUrl(url)
and updated the middleware router to use it- Big performance gain on request response time
- Added
-
v6.13.4 November 29, 2012
reportErrors
andreportStatistics
are nowfalse
iftest
is included in theprocess.argv
- Closes issue #354
-
v6.13.3 November 28, 2012
- Fixed the
include
template helper DocPad::getFileAtPath
now does fuzzy findingFilesCollection::fuzzyFindOne
now also fuzzy matches against the url and acceptssorting
andpaging
arguments
- Fixed the
-
v6.13.2 November 27, 2012
- Reduced the extension not rendering error to a warning
-
v6.13.1 November 26, 2012
- Fixed up growl notifications
-
v6.13.0 November 26, 2012
- Added Terms of Service and Privacy Policy confirmation
- Added statistic tracking so we can better understand usage allowing us to improve DocPad is much greater ways
- Added automatic locale detection for OSX
- Improved error reporting
- Will now error if you try to run an action that doesn't exist (instead of defaulting to the
run
action instead) - Updated dependencies
- Added dependencies
- Mixpanel 0.0.9
- Moved dependencies to dev dependencies
-
v6.12.1 November 23, 2012
- Fixed update check, been broken since v6.7.3
- Updated bal-util dependency from 1.13.13 to 1.14.x
-
v6.12.0 November 23, 2012
- When creating new documents or files, if it is inside an unknown path we will now default to creating a document intead of a file
- We now send growl notifications when errors occur
- Thanks to Luke Hagan for pull request #346, issue #343
- We now error and provide suggestions when an extension transform doesn't do anything
- Thanks to Farid Neshat, Elias Dawson, Steve Trevathan for issue #192
- Watching stability has been improved signifcantly
- Thanks to ashnur for issue #283
- Parser headers that don't include spacing now work again (e.g.
---cson
instead of--- cson
)- Thanks to bobobo1618 for issue #341
- Removed default comparator on
FilesCollection
due to performance improvement it provides- Thanks to Bruno Héridet for issue #330
- Added
Document::parseFileDirectory(opts,next)
Document::parseDocumentDirectory(opts,next)
FilesCollection::fuzzyFindOne(data)
-
v6.11.1 November 16, 2012
- Changes made to help get the docpad server up and running as soon as possible:
server
action is now run beforegenerate
action- if a request is made while a generation is occuring, the request will be put on hold until the generation completes
- We now pass the option
reset
to thegenerateBefore
event- Lets you know if the generation is a complete generation (
reset
istrue
) or a differential generation (reset
isfalse
)
- Lets you know if the generation is a complete generation (
- Changes made to help get the docpad server up and running as soon as possible:
-
v6.11.0 October 29, 2012
- Updated QueryEngine dependency from 1.3.x to 1.4.x
- Should see speed improvements
- Added
docs
directory to.npmignore
- Updated QueryEngine dependency from 1.3.x to 1.4.x
-
v6.10.0 October 29, 2012
- Updated QueryEngine dependency from 1.2.3 to 1.3.x
- Should see better memory usage and speed improvements
- Now tells you how many files we have when doing a complete render
- Updated QueryEngine dependency from 1.2.3 to 1.3.x
-
v6.9.2 October 26, 2012
-
v6.9.1 October 25, 2012
- Added
reloadPaths
configuration option- When a change occurs in one of the reload paths then we will reload docpad
- Added
getBlocks
andsetBlocks
- Added
getCollections
andsetCollections
- Will now output how long the generation took
- Added
-
v6.9.0 October 25, 2012
- Updated dependencies
- CoffeeScript 1.3.x to 1.4.x
- CSON 1.2.x to 1.4.x
- Joe 1.0.x to 1.1.x
- Underscore 1.3.x to 1.4.x
- Chai 1.1.x to 1.3.x
- Removed ability to require uncompiled plugins
- This is due to the CoffeeScript 1.4.x from 1.3.x upgrade
skeletonNonexistant
now tells us the path it checked
- Updated dependencies
-
v6.8.4 October 25, 2012
- Added
getEnvironment
andgetEnvironments
template helpers
- Added
-
v6.8.3 October 22, 2012
- Fixed growl generating notification from saying
generated
instead ofgenerating
- Added
ignorePatterns
option- Thanks toBruno Héridet for issue #193, pull request #326
- Fixed growl generating notification from saying
-
v6.8.2 October 19, 2012
- Updated the document meta data extraction regex
- It will now treat data that is wrapped in anything that repeats 3 or more times, as meta data allowing you to use whatever is appropriate for the markup you are currently in (before we only supported
---
and###
)
- It will now treat data that is wrapped in anything that repeats 3 or more times, as meta data allowing you to use whatever is appropriate for the markup you are currently in (before we only supported
- Updated the document meta data extraction regex
-
v6.8.1 October 19, 2012
- Fixed
--port
CLI option not working (and possibly others) - Fixed
docpad skeleton
blocking instead of ending- Thanks to Bruno Héridet for issue #225
- Improved localisation
- Thanks to Bruno Héridet for pull request #325
- Fixed
-
v6.8.0 October 18, 2012
- Added support for
.env
files- If a
.env
file is present in your website path, we will add its key values toprocess.env
- More information on
.env
files here
- If a
- Improved localisation
- Thanks to Bruno Héridet for pull request #323
- Removed unused model requirement inside document model file
- Thanks to Bruno Héridet for pull request #318
- Added support for
-
v6.7.4 October 10, 2012
PORT
environment variable now comes before infrastructure specific port variables- Can now do
docpad-server --action generate,server,watch --port 8080
-
v6.7.3 October 8, 2012
- Fixed logging when a fatal error occurs during initialisation
- We now do warnings when plugins do invalid naming conventions
- Closes #313
- Help by Eugene Mirotin
- We now display the plugin versions in the plugin listing information when debugging
- Help by ashnur
- More localization progress
-
v6.7.2 October 3, 2012
- Fixed custom middleware (via the
serverExtend
event) being loaded too late (after the express router middleware)
- Fixed custom middleware (via the
-
v6.7.1 October 2, 2012
- Can now use the
url
property in meta data to specify a custom URL to use - Collection creation functions in the DocPad Configuration Files now scope to the DocPad Instance
- Fixed the 400 and 500 middlewares
- Can now use the
-
v6.7.0 October 2, 2012
- Server changes:
- Updated Express.js from v2.5 to v3.0
- If you're doing custom routing, you'll want to check the Express.js Upgrade Guide
- There are now two server objects:
serverExpress
andserverHttp
- get them usingdocpadInstance.getServer(true)
, set them usingdocpad.setServer({serverExpress,serverHttp})
-server
in events, anddocpadInstance.getServer()
return theserverExpress
object for backwards compatibility (however things like socket.io require theserverHttp
object) - Closes #311, #308, #272, #274
- Help by dave8401 and Ben Harris
- Abstracted out the different middlewares to
serverMiddlewareHeader
,serverMiddlewareRouter
,serverMiddleware404
, andserverMiddleware500
- Added the following options to the
server
actions:serverExpress
for a custom express.js serverserverHttp
for a custom http servermiddlewareStandard
set it tofalse
for us to not use any of the standard middleware (body parse, method override, express router)middlewareBodyParser
set it tofalse
for us to not add thebodyParser
middlewaremiddlewareMethodOverride
set it tofalse
for us to not add themethodOverride
middlewaremiddlewareExpressRouter
set it tofalse
for us to not add the Express.jsrouter
middlewaremiddleware404
set it tofalse
for us to not add our404
middlewaremiddleware500
set it tofalse
for us to not add our500
middleware
- Example API usage can be found here
- Updated Express.js from v2.5 to v3.0
- Added
standalone
attribute to files (defaults tofalse
)- If you set to
true
, changes to the file will only cause re-rendering of that file alone
- If you set to
- Added a progress indicator during generation
- Closes #247
- Help by Bruno Héridet
- Server changes:
-
v6.6.8 September 29, 2012
- Fixed watching setup not completing under some conditions
- Bumped watchr minimum version to v2.1.5
- Fixed watching setup not completing under some conditions
-
v6.6.7 September 28, 2012
- Added built-in support for AppFog and CloudFoundry ports
-
v6.6.6 September 24, 2012
- Further improved file text/binary detection
-
v6.6.5 September 18, 2012
- Further improved file encoding detection
- Closes #266: Images are broken
- Further improved file encoding detection
-
v6.6.4 September 4, 2012
- Better file encoding detection
-
v6.6.3 September 3, 2012
- Fixed
date
andname
always being their automatic values
- Fixed
-
v6.6.0-6.6.2 August 28, 2012
- Added
docpad-debug
executable for easier debugging - Will now ask if you would like to subscribe to our newsletter when running on the development environment
- Beginnings of localisation
- Added
-
v6.5.7 August 26, 2012
- Fixed "cannot get length of undefined" intermittent error
- Due to an incorret variable name inside
DocPad::ensureDocumentOrFile
- Due to an incorret variable name inside
- Fixed "cannot get length of undefined" intermittent error
-
v6.5.6 August 19, 2012
- Added
regenerateEvery
configuration option
- Added
-
v6.5.0-6.5.5 August 10, 2012
- IMPORTANT: Renamed
extensionRendered
tooutExtension
,filenameRendered
tooutFilename
, andcontentTypeRendered
tooutContentType
and moved them from the Document model to the File model - The
serverExtend
event will now also emit theexpress
dependency if used - No longer attempts to install plugins dependencies every time, this is outside the scope of DocPad and in the standard use cases already handled via npm
- No longer accepts
npmPath
,gitPath
, andnodePath
as configuration options, instead these should be environment variables atNPM_PATH
,GIT_PATH
, andNODE_PATH
respectively (without the underscore is also acceptable) - Eliminated ambiguity with
renderSingleExtensions
- if
true
it will rendermarkdown
,.md
andexample.md
- if
'auto'
it will rendermarkdown
but not.md
andexample.md
auto
is now used on thedocpad render
command
- if
- Can now specify a custom configuration file vis the command line using
-c, --config <configPath>
- Can now specify a custom outPath via the command line using
-o, --out <outPath>
- Can now set template data via
req.templateData
- Can now customise the action that the
docpad-server
executable performs by setting theDOCPAD_SERVER_ACTION
environment variable - Fixed
Document::writeSource
- Fixed
require('docpad').createInstance
(was accidentally dropped in v6.2.0) - Fixed
no readme
npm warning- Removed markdown files from
.npmignore
as they are now required for the new npm website listing
- Removed markdown files from
- Fixed the regeneration not picking up changes when modifying a referenced stylesheet
- Added a new
stylesheet
collection that contains any stylesheet file (including pre-processors) and sets theirreferenceOthers
property totrue
- Added a new
- Fixed
contextualizeBefore
andcontextualizeAfter
events not firing- Thanks to Bruno Héridet for pull request #277
- Fixed
contentType
being looked up twice- Thanks to Nick Crohn for pull request #273
- IMPORTANT: Renamed
-
v6.4.1 July 19, 2012
- Added new
source
attribute to the file model, as thecontent
attribute on the document model is actually thebody
not the original content like it is in the file model
- Added new
-
v6.4.0 July 19, 2012
- We now support
404 Not Found
and500 Internal Server Error
error pages thanks to Nick Crohn for pull request #251 - Fixed #269 where the
docpad render
command wouldn't work - Fixed #268 where files which names start with a
.
from having a.
appended to their output filename
- We now support
-
v6.3.3 July 18, 2012
- Fixed binary file output
- Added binary files to the test suite so this won't happen again
- Was due to the dereference on the new clear introduced in v6.3.0
- As such, we now store the
data
attribute for files outside of the attributes, usegetData
andsetData(data)
now instead ofget('data')
andset({data:data})
- As such, we now store the
- Fixed binary file output
-
v6.3.2 July 18, 2012
- Fixed install action
-
v6.3.1 July 18, 2012
- Fixed
extendCollections
being called before the plugins have loaded when using the CLI
- Fixed
-
v6.3.0 July 18, 2012
- Added support for multiple environments
- Top-level configuration assumed to reflect the production environment, other environments will extend from it
- This is because getting a production environment configuration inside your development environment is fine, however getting a development environment configuration inside your production environment is catastrophic - as such, having the top-level configuration reflect the production environment handles this assumption correctly
- Added environment configuration support to plugins and their configuration
- Removed
package.json > docpad > plugin
configuration mode for a plugin'spackage.json
, they should use theconfig
property in their class instead - Added
isEnabled()
to the plugin class, this reflects theenabled
property in the plugin configuration, if it is false, then no events are executed for that plugin - Killed the
docpad cli
action, no one used it and introduced a lot of complexity to the codebase - Added
populateCollections
event, use this to insert things into our collections and blocks - Added
docpadLoaded
event which fires whenever our configuration is re-loaded - Added support for overriding the
extension
attribute via your document's meta data - Added support for the
renderSingleExtensions
attribute in documents - Fixed
clean
action from not behaving as expected- Had the wrong indexOf indice value in the check
- Fixed default attributes not being kept inside document and file attributes when cleared
- Turns out Backbone's
Mode::clear()
wipes everything, rather than reset to the default attributes and values
- Turns out Backbone's
-
v6.2.0 July 10, 2012
- Dropped node v0.4 support
- Minimum required version is now 0.6
- Dropped
npm
dependency - Configuration merging now deep extends plain javascript objects
- Added environment specific configuration support
- By default we use
process.env.NODE_ENV
for the environment, falling back todevelopment
- Specify your environment specific configuration in
environments[env]
- By default, our production environment sets
maxAge
to one day, andcheckVersion
to false - Use
getEnvironment
to get the current environment
- By default we use
- Added new
extendCollections
event - Added check during clean action to ensure we don't remove outPath if it is higher than our rootPath
- Added
docpad-server
binary to shortcut heroku deployment - Scripts collection now supports adding plaintext javascript
consoleSetup
options are nowconsoleInterface
andcommander
instead ofinterface
andprogram
- DocPad's main file is now
out/main.coffee
and the exportedrequire
is now limited to files in theout
directory (not higher)
- Dropped node v0.4 support
-
v6.1.3 July 8, 2012
- Fixed
extendTemplateData
event firing before our plugins have finished loading
- Fixed
-
v6.1.2 July 8, 2012
- Fixed
DocPad::getBlock
- Fixed
-
v6.1.1 July 8, 2012
- Added
html
collection - Dependency updates
- chai from v1.0 to v1.1
- Added
-
v6.1.0 July 8, 2012
- End user changes
- Added suport for using no skeleton on empty directory
- Action completion callback will now correctly return all arugments instead of just the error argument
- Filename argument on command line is now optional, if specified it now supports single extension values, e.g.
markdown
instead offile.html.md
- When using CoffeeScript intead of YAML for meta data headers, the CoffeeScript will now be sandboxed
- If you are wanting to get stuff outside the sandbox write a
docpad.coffee
configuration file
- If you are wanting to get stuff outside the sandbox write a
- Document and File model changes
- Now work fine without any path specified
render
split intorenderExtensions
,renderDocument
andrenderLayout
renderExtensions
now supports the optionrenderSingleExtensions
when specified, will prepend the extensionnull
, allowing supported plugins to render single extensionsrender
now supports the optionactions
which is an array of actions to perform- we now do not clear the
contentRendered
,contentRenderedWithoutLayouts
, andrendered
properties between render passes
- DocPad prototype changes
- New Events
extendTemplateData
, opts:templateData
,extend(objs...)
- Attached Classes
Base
,Model
,Collection
,View
,QueryCollection
FileModel
,DocumentModel
FilesCollection
,ElementsCollection
,MetaCollection
,ScriptsCollection
,StylesCollection
PluginLoader
,BasePlugin
- New Collection Helpers
getFiles(query,storting,paging)
getFile(query,sorting,paging)
getFilesAtPath(path,sorting,paging)
getFileAtPath(path,sorting,paging)
- New Render Helpers
loadAndRenderDocument(document,opts,next)
renderDocument(document,opts,next)
renderPath(path,opts,next)
renderData(data,opts,next)
renderText(text,opts,next)
- New Template Data Helpers
referencesOthers(flag)
getDocument()
getPath(path,parentPath)
getFiles(query,sorting,paging)
getFile(query,sorting,paging)
getFilesAtPath(path,sorting,paging)
getFileAtPath(path,sorting,paging)
- New Events
- Added the following to the export
Backbone
,queryEngine
- Dependency updates
- End user changes
-
v6.0.14 June 27, 2012
- Configuration variables
documentPaths
,filesPaths
, andlayoutsPaths
are now relative to thesrcPath
instead of therootPath
pluginsPaths
is still relative to therootPath
- Configuration variables
-
v6.0.13 June 27, 2012
- Added
getFileModel
,getFileUrl
,getFile
template helpers
- Added
-
v6.0.12 June 26, 2012
- More robust node and git path handling
- Dependency updates
- bal-util from v1.9 to v1.10
-
v6.0.11 June 24, 2012
- We now output that we are actually installing the skeleton, rather than just doing nothing
- We now also always output the skeleton clone and instlalation progress to the user
- Skeletons are now a backbone collection
-
v6.0.10 June 22, 2012
- Fixed CLI on certain setups
-
v6.0.9 June 22, 2012
- Many minor fixes and improvements
- Available DocPad events are now exposed through
docpadInstance.getEvents()
- DocPad configuration is now exposed through
docpadInstance.getConfig()
- Removed
DocPad::getActionArgs
in favor ofbalUtil.extractOptsAndCallback
- Configuration events now have a context that persists and do not pile up if configuration is reloaded
- DocPad constructor now returns
err
anddocpadInstance
to the completion callback if it exists - Fixed a problem with grouped actions not completing under some circumstances
- Will now watch configuration files for changes, if a change is detected, regenerate everything
- Cleaned up the server action a bit
- Added a new
serverExtend
event so listeners can now extend the server before the docpad routes are applied - Dependency updates
- watchr from v2.0 to v2.1
-
v6.0.8 June 21, 2012
- Configuration changes
- DocPad now checks the following paths for a configuration file
docpad.js
,docpad.coffee
,docpad.json
,docpad.cson
, and will go with whichever one it finds first- If you use
coffee
orjs
extensions, remember to prefix your file withmodule.exports =
- If you use
- Fixed instance configuration not always coming first
- Removed
configPath
configuration option. Use the array basedconfigPaths
instead. rootPath
andconfigPaths
will now be properly respected if specified in yourpackage.json
file under thedocpad
property- Configuration files can now bind event handlers using the
events
hash
- DocPad now checks the following paths for a configuration file
- Event changes
- Completion callbacks are now optional for event listeners, if omitted event listener will be treated as synchronous
- Added new
docpadReady
event that fires once docpad has finished initializing and loading its configuration, will provide the opts{docpad}
wheredocpad
is the docpad instance
- Server changes
- If a document has multiple urls, and it is accessed on the non primary url, we will 301 (permanent) redirect to the primary url
- Dependency updates
- Configuration changes
-
v6.0.7 June 20, 2012
- When watching files, and you modify a layout, docpad will now re-render anything using that layout - closes #242
-
v6.0.6 June 19, 2012
- Greatly simplified the event architecture
- We now inherit from the simpler
balUtil.EventEmitterEnhanced
instead ofbalUtil.EventSystem
, and have moved queue code intobalUtil.Group
asdocpadInstance.getRunner()
- Actions when called directly do not queue, they only queue when called through
docpadInstance.action
- We now inherit from the simpler
docpadinstance.loadConfiguration
is now an action calledload
- Fixed the run action not completing due to a missing callback
- Greatly simplified the event architecture
-
v6.0.5 June 19, 2012
- Updated QueryEngine from version 1.1 to 1.2
- Fixed watch error when deleting files, or changing a directory
-
v6.0.4 June 19, 2012
- Fixed skeleton action
-
v6.0.3 June 19, 2012
- Fixed
server
action when used in combination with a custom server
- Fixed
-
v6.0.2 June 11, 2012
- Now fetches the DocPad v6 exchange file
-
v6.0.1 June 11, 2012
- Fixed plugin generation tests
-
v6.0.0 June 11, 2012
- Breaking changes that may affect you
- Removed
documentsPath
,filesPath
,layoutsPath
configuration options for their array based alternativesdocumentsPaths
,filesPaths
,layoutsPaths
- Removed
require
fromtemplateData
as it needs to be specified in your project otherwise it has the wrong paths - Removed
database
,collections
,blocks
fromtemplateData
for their helper based alternativesgetDatabase()
,getCollection('collectionName')
,getBlock('blockName')
- Removed
String::startsWith
,String::finsihesWith
,Array::hasCount
,Array::has
as we never used them - Removed
DocPad::documents
andtemplateData.documents
, now usegetCollection('documents')
- Removed
- New features
- Differential rendering
- Extendable CLI
- Template helpers
- Other changes
- Better error handling
- Moved to Joe for unit testing
- Breaking changes that may affect you
-
v5.2.5 May 18, 2012
- Fixed layout selection when two layout's share similar names - Closes #227
-
v5.2.4 May 18, 2012
- Upgraded chai dev dependency from 0.5.x to 1.0.x
- Fixed a dereferencing issue
- Plugin testers will now run the
install
andclean
actions when creating the DocPad instance
-
v5.2.3 May 18, 2012
- DocPad will no longer try and use a skeleton inside a non-empty directory
- DocPad will now only include the CoffeeScript runtime if needed (for loading CoffeeScript plugins)
-
v5.2.2 May 17, 2012
-
v5.2.1 May 8, 2012
- Fixed a complication that prevents
src/public
from being written toout
- Added automated regression tests to ensure this will never happen again
- Added
documentsPaths
,filesPaths
, andlayoutsPaths
configuration variables - Simplified model code
- Cleaned up some async code
- Fixed a complication that prevents
-
v5.2.0 May 4, 2012
- We now pre-compile our CoffeeScript
- Added the ability to specify a
docpad.cson
configuration file inside your website- This file will also be watched for changes, and if a change is made, we'll reload it and regenerate :)
- Database/Collections have been cleaned up
- files, layouts and documents are all added to the database
- documents and layouts are represented by the
Document
model which extends theFile
model - files are represented by the
File
model - documents are accessible via the
collections.documents
which is a live child collection of database - files are accessible via the
collections.files
which is a live child collection of database - layouts are accessible via the
collections.layouts
which is a live child collection of database
- You can create your own live child collections by specifying them in your configuration file, e.g. add this to your
docpad.cson
file:# Collections collections: pages: (database) -> database.findAll(pageOrder: $exists: true) posts: (database) -> database.findAll(tags: $has: 'post')
- Templates now have access to a new function called
include
. It will include the renderedContent (or if unavilable to content) of the file. In eco, you would use it like this:<%- @include('filename.ext1.ext2.ext3') %>
- Blocks are now Collections too! You can call
.add
on them, and use.toHTML()
to grab them as HTML (.join
will do the same thing for b/c) - This should be a completely backwards compatible release, let us know if you any issues on the
-
v5.1.2 April 26, 2012
- Fixed some UTF8 encoded files from being detected as binary
- Fixed documents with no extension being outputted with an undefined extension
-
v5.1.0-5.1.1 April 25, 2012
- Fixed EventEmitter warning
- Binary files can now be placed within the
src/documents
directory - Removed eyes devDependency
- Models now use CoffeeScript's class extend, instead of Backbone's extend
-
v5.0.5 April 14, 2012
- Added
.npmignore
file - Added
document.contentType
anddocument.contentTypeRendered
- Fixed
document.contentRendered
on files that do not have layouts - Added tests for:
- Checking that
ignored: true
documents are properly ignored - That ignored common pattern files/dirs are properly ignored
- That attributes are being applied properly
- Checking that
- Added
-
v5.0.1-v5.0.4 April 14, 2012
- Updated balUtil from 1.4 to 1.5
- Fixes some scandir bugs
- Updated watchr from 1.0 to 2.0
- This should make watching re-generation a lot faster
- Added a warning if you have no plugins loaded and are trying to do a generate
- Fixed ignored check on documents
- Updated balUtil from 1.4 to 1.5
-
v5.0.0 April 14, 2012
- Models are now Backbone Models
- Upgraded Query-Engine version from 0.6 to 1.1
- Plugins are now managed by npm and are no longer bundled with DocPad
- You will need to add them to your website's
package.json
and install them vianpm install docpad-plugin-#{pluginName}
- We now scan the
node_modules
andplugins
directories of your website for docpad plugins- These paths can be customised via the
pluginsPaths
variable in the docpad configuration
- These paths can be customised via the
- DocPad detects if something is a plugin by checking for the
docpad-plugin
keyword in thepackage.json
file, or if the file follows the#{pluginName}.plugin.coffee
naming convention
- You will need to add them to your website's
- CoffeeScript dependency is now bundled inside, instead of being an external dependency
- A website's npm dependencies are now installed as part of the initialisation process
- This is a big backwards compatibility break, previous skeletons and plugins need to upgraded
- Refer to the Upgrade Guide for instructions
-
v4.1.1 April 9, 2012
- Fixed DocPad from outputting
undefined
instead the layout's name which it could not find- Thanks to Changwoo Park for pull request #173 and Morgan Sutherland for issue #172
- Fixed DocPad from outputting
-
v4.1.0 April 6, 2012
- Feedr Plugin now exposes
@feedr.feeds
to thetemplateData
instead of@feeds
- Exchange data now moved to the docpad-extras repository
- Fixed broken
balupton.docpad
skeleton repo url
- Feedr Plugin now exposes
-
v4.0.0-4.0.3 April 6, 2012
- Added support for partials, with the new Partials Plugin
- Added support for caching remote assets, with the new Cachr Plugin
- Added support for caching and parsing remote feeds, with the new Feedr Plugin
- Added support for independent plugin unit tests
- Added support for specifying
templateData
for the docpad configuration - Skeletons are no longer cached
- Caching skeletons was causing far too many problems
- Will now always use the local npm installation
- Added
gitPath
andnodePath
to docpad configuration - Split a document's
title
intotitle
andname
- Use
title
for page titles (e.g.<title>page title</title>
) - Use
name
for navigation listings - This was introduced as sometimes you want a different title for your page title, than for your navigation page names
- Use
- Cleaned up the plugin event system
- When an error occurs we will send an error report back to DocPad using AirBrake
- To turn this off, set
reportErrors
in your docpad configuration tofalse
- To turn this off, set
- Files, Documents, Layouts and Partials are now proper "models" and are now found in the
lib/models
directory - Moved out some unstable or not as popular plugins to the docpad-extras repository, plugins moved are:
- Admin
- Authenticate
- AutoUpdate
- Buildr
- HTML2Jade
- Move
- PHP
- REST
- Roy
- Ruby
-
v3.3.2 March 18, 2012
- Fixed missing interpolation on new version notification
- Fixed the scandir error with the skeletons path when doing the first run on windows
- Updated paths to use
path.join
instead of always using forward slashes
-
v3.3.1 March 18, 2012
- Fixed Pygments plugin highlighting the code multiple times for documents with layouts
- Added
isLayout
andisDocument
flags toDocument
andLayout
prototypes
-
v3.3.0 February 29, 2012
- Fixed ruby rendering with ruby v1.8
- Thanks to Sorin Ionescu for the patch
- The
enabledPlugins
config option will now correctly only overwrite the default values if you have set it to be a string- Before it would always incorrectly overwrite the default value if set, which would cause some experimental disabled-by-default plugins to enable
- Added a Pygments Syntax Highlighting plugin
- It is disabled by default as not everyone would want syntax highlighting, to enable it, add the following to your website's
package.json
file:"docpad": { "enabledPlugins": { "pygments": true } }
- Thanks to Doug Neiner for urging it along
- It is disabled by default as not everyone would want syntax highlighting, to enable it, add the following to your website's
- Added a new
renderDocument
plugin event- It is fired after the extensions are rendered, but before the document is rendered inside its layout
- Useful for things that modify the rendered result of a document, e.g. syntax highlighting, paging, etc
- Closes
- Fixed ruby rendering with ruby v1.8
-
v3.2.8 February 26, 2012
- Stopped
docpad render
from outputting the welcome message - Removed
try..catch
s from plugins, you should do this too- The checking is now higher up in the callstack, which provides better error reporting and capturing
- Fixed a problem with the error bubbling that was preventing template errors from being outputted
- Fixed the "too many files open" issue thanks to bal-util's
openFile
andcloseFile
utility functions - Closes
- #143 - No errors on wrong layout
- Stopped
-
v3.2.0-3.2.7 February 15, 2012
- Cleaned architecture
- Added unit tests (uses mocha)
- Better source code documentation
- Moved changelog from
README.md
toHistory.md
as it was starting to get a bit long - Added
File.writeRendered
- Added
File.contentRenderedWithoutLayout
- Watching will no longer watch hidden files
- Added support for
- Added the ability to render files programatically via the command line
- See the readme for usage instructions and more information
- Backwards compatibility breaks
- File property names have been changed
- New plugin structure
- Added offline installation support
- Added skeleton selection
- Added npm scripts for testing, installing and updating
- Closes
- #130 - As a Maintainer, I want unit tests, so that I can automatically ensure everything works
- #127 - As a User, I want support for Move, so I can write my javascript in my preferred language
- #122 - As a User, I want to be able to get the rendered content without the layout, so that I can include it inside other documents
- #98 - As a User, I want offline creation, so I can create new docpad projects offline
- #97 - Watching is unusable when combined with hidden files from IDEs and SVN
- #57 - Offline Setup: Skeletons needs to be cached for future offline installs
- #55 - As a User, I want support for Moustache, so that I can use my preferred markup
-
v3.1 Unreleased
- Added an interactive cli
- Closes
- #125 - As a User, I want an Interactive CLI, so that I can do more with DocPad's CLI
-
v3.0 Unreleased
- Added a new event system
- Closes
- #60 - DocPad needs a better event system
-
v2.6 January 2, 2012
- Transferred DocPad's ownership from Benjamin Lupton to Bevry (Benjamin's company)
- Things that have changed
- It is now easier for us to manage DocPad, its extensions, collaborators and future repositories
- Thanks to Github's excellent organisation functionality - https://github.com/blog/674-introducing-organizations
- DocPad is now supported and backed by a commercial entity, meaning that it won't go away
- It is now easier for us to manage DocPad, its extensions, collaborators and future repositories
- Things that won't change
- DocPad will remain free as in beer, and free as in freedom
- DocPad will remain awesome
- If you are working on a cloned version of docpad, be sure to update your docpad's git repo address
- Things that have changed
- Fixed plugin priorities #115
- Thanks to Changwoo Park
- Updated depdencies
- Growl 1.2.x -> 1.4.x - changelog
- CoffeeScript 1.1.3 -> 1.2.x - changelog
- Transferred DocPad's ownership from Benjamin Lupton to Bevry (Benjamin's company)
-
v2.5 December 15, 2011
- Swapped out Dominic Baggott's Markdown.js for Isaac Z. Schlueter's Github-Flavored-Markdown
- Now adds support for inline html in markdown files
- Closes #107
- Now adds support for inline html in markdown files
- Fixed plugin installation on windows
- Fixed the error:
Object #<Object> has no method 'error'
- Fixes #106
- Can now pass over options to the coffeekup renderer inside the coffee plugin
- E.g. set
docpad: plugins: coffee: coffeekup: format: true
to have it tidy the html output - Thanks to Changwoo Park
- E.g. set
- Disabled the following plugins by default
- Admin
- Authenticate
- Rest
- AutoUpdate
- Buildr
- Html2Jade
- Updated depdencies
- Commander 0.3.x -> 0.5.x - changelog
- Growl 1.1.x -> 1.2.x - changelog
- NPM 1.0.x -> 1.1.x
- Jade 0.17.x -> 0.19.x - changelog
- Stylus 0.19.x -> 0.20.x - changelog
- Nib 0.2.x -> 0.3.x - changelog
- Swapped out Dominic Baggott's Markdown.js for Isaac Z. Schlueter's Github-Flavored-Markdown
-
v2.4 November 26, 2011
- AutoUpdate plugin
- Automatically refreshes the user's current page when the website is regenerated
- Very useful for development, though you probably want to disable it for production
- Enabled by default
- AutoUpdate plugin
-
v2.3 November 18, 2011
- Heroku server support
- Added
extendServer
configuration option- Now, by default, even if the server is provided, we will extend it. If you do not want this, set this configuration option to
false
.
- Now, by default, even if the server is provided, we will extend it. If you do not want this, set this configuration option to
- Made it easier to load docpad as a module
- Instead of crashing when an uncaught error happens, it'll output it and keep running
- The log messages and next handling in
docpad.action
has been cleaned up- Now those log messages are contained within the default next handler, so if you provide a custom default next handler you'll have to do your own success log messages
- NPM is now installed locally
- This is to ensure it's availability on cloud servers
- DocPad will now try and figure out the node executable location to provide greater compatibility on cloud servers
- If the plugin installations are taking a while, you'll get informed of this, rather than just staring at a blank blinking cursor
- Roy plugin
- Adds Roy to JavaScript support
.js.roy
- Adds Roy to JavaScript support
-
v2.2 November 14, 2011
- Windows support!
- Now uses Benjamin Lupton's Watchr as the watcher library
- Provides windows support
- Now uses Tim Caswell's Haml.js as the haml library
- Provides windows support
- Bug fixes
- Works with zero documents
- Works with empty
package.json
- Fixed mime-type problems with documents
-
v2.1 November 10, 2011
- Support for dynamic documents
- These are re-rendered on each request, must use the docpad server
- See the search example in the kitchensink skeleton
- Removed deprecated
@Document
,@Documents
, and@Site
from thetemplateData
(the variables available to the templates). Use their lowercase equivalants instead. This can cause backwards compatibility problems with your templates, the console will notify you if there is a problem. - Fixed
docpad --version
returningnull
instead of the docpad version
- Support for dynamic documents
-
v2.0 November 8, 2011
- Upgrade guide for 1.x users
- Tested and working on Node 0.4, 0.5, and 0.6
- Windows support is still to come - track it's progress here
- Configurable via
package.json
- DocPad is now configurable via its and your website's
package.json
file
- DocPad is now configurable via its and your website's
- New plugin architecture
- Plugins must now be isolated in their own directory
- Plugins can now have their own
package.json
file- Use this for specifying plugin configuration, dependencies, etc
- Plugin events have been renamed to before/after
- New before/after events have been added
docpad
andlogger
are now local variables, rather than passed arguments- Arguments are still kept for backwards compatibility - this may change
- Generation changes
- Rendering is now a 2-pass process
- Contextualize is now a sub-step of parse, instead of it's own main step
- Better simplicity, less complexity
- Documents can now have multiple urls
- These are customisable via the document's
urls
array property
- These are customisable via the document's
- Plugin Changes
- REST plugin supports saving document data via POST (disabled by default)
- Administration plugin adds front-end admin functionality (disabled by default)
- See the client side editing example in the kitchensink skeleton
- SASS plugin
- Adds SASS to CSS support
- Uses TJ Holowaychuk's Sass.js - https://github.com/visionmedia/sass.js
- Adds SASS to CSS support
- Coffee Plugin
- Removed CoffeeCSS support as it had problems
-
v1.4 October 22, 2011
- Template engines now have access to node.js's
require
- Less Plugin
- Added LessCSS to CSS support
- Uses Alexis Sellier's Less.js
- Added LessCSS to CSS support
- Fixed NPM warning about incorrect property name
- Logged errors will now also output their stacktraces for easier debugging
- If an error occurs during rendering of a document, docpad will let us know which document it happened on
- Template engines now have access to node.js's
-
v1.3 October 3, 2011
- Parsing is now split into two parts
parsing
andcontextualizing
- Contextualizing is used to determine the result filename, and title if title was not set
- The code is now more concise
- File class moved to
lib/file.coffee
- Prototypes moved to
lib/prototypes.coffee
- Version checking moved to the
bal-util
module
- File class moved to
- File properties have changed
basename
is extensionlessfilename
now contains the file's extnesionsid
is now therelativeBase
instead of theslug
extensionRendered
is the result extensionfilenameRendered
is the result filename: `"#{basename}.#{extensionRendered}"title
if now set tofilenameRendered
if not set
- Added support for different meta parsers, starting with CoffeeScript and YAML support. YAML is still the default meta parser
- The YAML dependency is specifically set now to v0.2.1 as the newer version has a bug in it
- Fixed multiple renderers for a single document. E.g.
file.html.md.eco
- Now also supports using
###
along with---
for wrapping the meta data - Supports the
public
alias for thefiles
directory
- Parsing is now split into two parts
-
v1.2 September 29, 2011
- Plugins now conform to a
.plugin.coffee
naming standard - Dependencies now allow for minor patches
- Stylus Plugin
- Added Stylus to CSS support
- Uses TJ Holowaychuk's Stylus
- Added Stylus to CSS support
- Jade Plugin
- Added HTML to Jade support
- Uses Don Park's Html2Jade
- Added HTML to Jade support
- Coffee Plugin
- Added CoffeeCSS to CSS support
- Uses James Campos's CCSS
- Added CoffeeCSS to CSS support
- Fixed incorrect date sorting for documents
- Thanks to Olivier Bazoud
- Plugins now conform to a
-
v1.1 September 28, 2011
- Added Buildr Plugin so you can now bundle your scripts and styles together :-)
- The
action
method now supports an optional callback- Thanks to Aaron Powell for #41
- Added a try..catch around the version detection to ensure it never kills docpad if something goes wrong
- Skeletons have been removed from the repository due to circular references. The chosen skeleton is now pulled during the skeleton action. We also now perform a recursive git submodule init and update, as well as a npm install if necessary.
-
v1.0 September 20, 2011
- Upgrade guide for v0.x users
- The concept of template engines and markup languages have been merged into the concept of renderers
- Coffee Plugin
- Added CoffeeKup to anything and HTML to CoffeeKup support
- Added CoffeeScript to JavaScript and JavaScript to CoffeeScript support
- Added a Commander.js based CLI
- Thanks to ~eldios
- Added support for Growl notificaitons
- Added asynchronous version comparison
-
v0.10 September 14, 2011
- Plugin infrastructure
- Better logging through Caterpillar
- HAML Plugin
- Added HAML to anything support
- Uses TJ Holowaychuk's HAML
- Added HAML to anything support
- Jade Plugin
- Added Jade to anything support
- Uses TJ Holowaychuk's Jade
- Added Jade to anything support
-
v0.9 July 6, 2011
- No longer uses MongoDB/Mongoose! We now use Query-Engine which doesn't need any database server :)
- Watching files now working even better
- Now supports clean urls :)
-
v0.8 May 23, 2011
- Now supports mutliple skeletons
- Structure changes
-
v0.7 May 20, 2011
- Now supports multiple docpad instances
-
v0.6 May 12, 2011
- Moved to CoffeeScript
- Removed highlight.js (should be a plugin or client-side feature)
-
v0.5 May 9, 2011
- Pretty big clean
-
v0.4 May 9, 2011
- The CLI is now working as documented
-
v0.3 May 7, 2011
- Got the generation and server going
-
v0.2 March 24, 2011
- Initial prototyping with Sven Vetsch
-
v0.1 March 16, 2011
- Initial discussions with Henri Bergius
This repository has been archived by the owner on Mar 12, 2018. It is now read-only.