Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Merged in dev-profile

  • Loading branch information...
commit b9a2f3610aaa7ac189e52aa1936035070fffce69 2 parents 978c781 + a877850
@balupton balupton authored
View
15 bin/docpad-debug
@@ -1,5 +1,18 @@
#!/usr/bin/env node
-var command = [process.argv[0],'--debug-brk',__dirname+'/../out/bin/docpad'].concat(process.argv.slice(2));
+
+// Prefix our docpad executable with the node debug and profile flags
+// and suffix docpad with it's profile flag
+var command = [
+ process.argv[0],
+ '--debug-brk',
+ '--prof',
+ __dirname+'/../out/bin/docpad'
+].concat(process.argv.slice(2));
+
+// Output the command we'll be running
+console.log(command.join(' '));
+
+// And spawn our command and let us know if any errors occur
require('bal-util').spawn(command,{cwd:process.cwd(),output:true},function(err){
if (err) console.log(err);
});
View
5 locale/en.cson
@@ -82,6 +82,10 @@
writingFiles: "Writing %s files"
wroteFiles: "Wrote %s files"
+ # Clean
+ cleaningFiles: "Cleaning %s files"
+ cleanedFiles: "Cleaned %s files"
+
# Action
actionStart: "Performing the action %s"
actionFinished: "Performed the action %s"
@@ -150,6 +154,7 @@
consoleOptionForce: "force a re-install of all modules"
consoleOptionPort: "a custom port to use for the server <port>"
consoleOptionSkeleton: "for new projects, instead of being asked for the skeleton, you can specify it here"
+ consoleOptionProfile: "enable profiling"
# Misc
welcome: "Welcome to DocPad %s"
View
88 src/lib/docpad.coffee
@@ -190,6 +190,8 @@ class DocPad extends EventEmitterEnhanced
'renderAfter'
'writeBefore'
'writeAfter'
+ 'cleanBefore'
+ 'cleanAfter'
'serverBefore'
'serverExtend'
'serverAfter'
@@ -2318,6 +2320,44 @@ class DocPad extends EventEmitterEnhanced
# Chain
@
+ # Clean files
+ # next(err)
+ cleanFiles: (opts={},next) ->
+ # Prepare
+ docpad = @
+ locale = @getLocale()
+ {collection} = opts
+
+ # Log
+ docpad.log 'debug', util.format(locale.cleaningFiles, collection.length)
+
+ # Async
+ tasks = new balUtil.Group (err) ->
+ return next(err) if err
+ # After
+ docpad.emitSync 'cleanAfter', {collection}, (err) ->
+ return next(err) if err
+ docpad.log 'debug', util.format(locale.cleanedFiles, collection.length)
+ return next()
+
+ # Set progress indicator
+ opts.setProgressIndicator? -> ['cleanFiles',tasks.completed,tasks.total]
+
+ # Cycle
+ collection.forEach (file,index) -> tasks.push (complete) ->
+ file.clean(complete)
+
+ # Start writing
+ if tasks.total
+ docpad.emitSync 'cleanBefore', {collection}, (err) =>
+ return next(err) if err
+ tasks.async()
+ else
+ tasks.exit()
+
+ # Chain
+ @
+
# =================================
# Actions
@@ -2420,10 +2460,10 @@ class DocPad extends EventEmitterEnhanced
# Chain
@
- # Generate Clean
+ # Generate Reset
# opts = {}
# next(err)
- generateClean: (opts,next) =>
+ generateReset: (opts,next) =>
# Prepare
[opts,next] = balUtil.extractOptsAndCallback(opts,next)
docpad = @
@@ -2502,7 +2542,7 @@ class DocPad extends EventEmitterEnhanced
# Contextualize the datbaase, perform two render passes, and perform a write
balUtil.flow(
object: docpad
- action: 'contextualizeFiles renderFiles renderFiles writeFiles'
+ action: 'contextualizeFiles renderFiles renderFiles writeFiles cleanFiles'
args: [{collection,templateData,setProgressIndicator}]
next: (err) ->
return next(err)
@@ -2630,7 +2670,7 @@ class DocPad extends EventEmitterEnhanced
docpad.lastGenerate = new Date()
balUtil.flow(
object: docpad
- action: 'generatePrepare generateCheck generateClean generateParse generateRender generatePostpare'
+ action: 'generatePrepare generateCheck generateReset generateParse generateRender generatePostpare'
args: [opts]
next: (err) ->
return finish(err)
@@ -2651,8 +2691,8 @@ class DocPad extends EventEmitterEnhanced
action: 'load contextualize render'
args: [opts]
next: (err) ->
- result = document.get('contentRendered')
- return next(err,result,document)
+ document.getOutContent (err,result) ->
+ return next(err,result,document)
)
@
@@ -2700,8 +2740,8 @@ class DocPad extends EventEmitterEnhanced
action: 'normalize contextualize render'
args: [opts]
next: (err) ->
- result = document.get('contentRendered')
- return next(err,result,document)
+ document.getOutContent (err,result) ->
+ return next(err,result,document)
)
@
@@ -2995,6 +3035,9 @@ class DocPad extends EventEmitterEnhanced
[opts,next] = balUtil.extractOptsAndCallback(opts,next)
{document,err,req,res} = opts
docpad = @
+ error = (err) ->
+ docpad.error(err)
+ return next(err)
# If no document, then exit early
unless document
@@ -3013,27 +3056,26 @@ class DocPad extends EventEmitterEnhanced
templateData = balUtil.extend({}, req.templateData or {}, {req,err})
templateData = docpad.getTemplateData(templateData)
document.render {templateData}, (err) ->
- content = document.get('contentRendered') or document.get('content') or document.getData()
- if err
- docpad.error(err)
- return next(err)
- else
+ return error(err) if err
+ document.getOutContent (err,content) ->
+ return error(err) if err
if opts.statusCode?
return res.send(opts.statusCode, content)
else
return res.send(content)
else
- content = document.get('contentRendered') or document.get('content') or document.getData()
- if content
- if opts.statusCode?
- return res.send(opts.statusCode, content)
- else
- return res.send(content)
- else
- if opts.statusCode?
- return res.send(opts.statusCode)
+ document.getOutContent (err,content) ->
+ return error(err) if err
+ if content
+ if opts.statusCode?
+ return res.send(opts.statusCode, content)
+ else
+ return res.send(content)
else
- return next()
+ if opts.statusCode?
+ return res.send(opts.statusCode)
+ else
+ return next()
# Chain
@
View
6 src/lib/interfaces/console.coffee
@@ -42,6 +42,12 @@ class ConsoleInterface
'-f, --force'
locale.consoleOptionForce
)
+ ###
+ .option(
+ '--profile'
+ locale.consoleOptionProfile
+ )
+ ###
# -----------------------------
# Commands
View
112 src/lib/models/document.coffee
@@ -55,7 +55,7 @@ class DocumentModel extends FileModel
rendered: false
# The rendered content (after it has been wrapped in the layouts)
- contentRendered: false
+ contentRendered: null
# The rendered content (before being passed through the layouts)
contentRenderedWithoutLayouts: null
@@ -80,7 +80,7 @@ class DocumentModel extends FileModel
# Initialize
initialize: (attrs,opts) ->
# Prepare
- {@layouts,meta} = opts
+ {meta} = opts
# Forward
super
@@ -89,6 +89,31 @@ class DocumentModel extends FileModel
getMeta: ->
return @meta
+ # Prepare
+ getOutContent: (next) ->
+ outContent = @get('contentRendered')
+ if outContent
+ next(null,outContent)
+ else
+ @getContent(next)
+ @
+
+ # Clean
+ # Wipe any unnecessary data
+ clean: (next) ->
+ ###
+ @set({
+ header: null
+ parser: null
+ body: null
+ rendered: false
+ contentRendered: null
+ contentRenderedWithoutLayouts: null
+ })
+ ###
+ super
+ @
+
# To JSON
toJSON: ->
data = super
@@ -101,11 +126,13 @@ class DocumentModel extends FileModel
@set({referencesOthers:flag})
@
- # Parse data
- # Parses some data, and loads the meta data and content from it
+ # Parse
+ # Parse our buffer and extract meaningful data from it
# next(err)
- parseData: (data,next) ->
+ parse: (opts={},next) ->
# Prepare
+ {opts,next} = @getActionArgs(opts,next)
+ buffer = @buffer
meta = @getMeta()
# Wipe any meta attributes that we've copied over to our file
@@ -121,7 +148,7 @@ class DocumentModel extends FileModel
# Reparse the data and extract the content
# With the content, fetch the new meta data, header, and body
- super data, =>
+ super buffer, =>
# Content
content = @get('content')
@@ -187,6 +214,8 @@ class DocumentModel extends FileModel
# Next
next()
+
+ # Chain
@
# Write the rendered file
@@ -194,23 +223,25 @@ class DocumentModel extends FileModel
writeRendered: (next) ->
# Prepare
file = @
- fileOutPath = @get('outPath')
- contentRendered = @get('contentRendered')
- encoding = @get('encoding')
-
- # Log
- file.log 'debug', "Writing the rendered file: #{fileOutPath} #{encoding}"
-
- # Write data
- balUtil.writeFile fileOutPath, contentRendered, (err) ->
- # Check
+ @getOutContent (err,contentRendered) =>
+ # Prepare
return next(err) if err
+ fileOutPath = @get('outPath')
+ encoding = @get('encoding')
# Log
- file.log 'debug', "Wrote the rendered file: #{fileOutPath} #{encoding}"
+ file.log 'debug', "Writing the rendered file: #{fileOutPath} #{encoding}"
- # Next
- return next()
+ # Write data
+ balUtil.writeFile fileOutPath, contentRendered, (err) ->
+ # Check
+ return next(err) if err
+
+ # Log
+ file.log 'debug', "Wrote the rendered file: #{fileOutPath} #{encoding}"
+
+ # Next
+ return next()
# Chain
@
@@ -223,32 +254,35 @@ class DocumentModel extends FileModel
CSON = require('cson') unless CSON
# Fetch
- fullPath = @get('fullPath')
- content = @get('content')
- parser = 'cson'
- seperator = '---'
+ @getContent (err,content) =>
+ # Prepare
+ return next(err) if err
+ fullPath = @get('fullPath')
+ content = @get('content')
+ parser = 'cson'
+ seperator = '---'
- # Log
- file.log 'debug', "Writing the source file: #{fullPath}"
+ # Log
+ file.log 'debug', "Writing the source file: #{fullPath}"
- # Adjust
- header = CSON.stringifySync(@meta.toJSON())
- content = body = content.replace(/^\s+/,'')
- source = "#{seperator} #{parser}\n#{header}\n#{seperator}\n\n#{body}"
+ # Adjust
+ header = CSON.stringifySync(@meta.toJSON())
+ content = body = content.replace(/^\s+/,'')
+ source = "#{seperator} #{parser}\n#{header}\n#{seperator}\n\n#{body}"
- # Apply
- @set({parser,header,body,content,source})
+ # Apply
+ @set({parser,header,body,content,source})
- # Write content
- balUtil.writeFile fileOutPath, source, (err) ->
- # Check
- return next(err) if err
+ # Write content
+ balUtil.writeFile fileOutPath, source, (err) ->
+ # Check
+ return next(err) if err
- # Log
- file.log 'info', "Wrote the source file: #{fullPath}"
+ # Log
+ file.log 'info', "Wrote the source file: #{fullPath}"
- # Next
- next()
+ # Next
+ next()
# Chain
@
View
308 src/lib/models/file.coffee
@@ -18,15 +18,20 @@ class FileModel extends Model
# The out directory path to put the file
outDirPath: null
- # Model Type
+ # Model type
type: 'file'
- # Stat Object
+ # Stat object
stat: null
- # The contents of the file, stored as a Buffer
+ # File data
+ # When we do not have a path to scan
+ # we can just pass over some data instead
data: null
+ # File buffer
+ buffer: null
+
# The parsed file meta data (header)
# Is a Backbone.Model instance
meta: null
@@ -190,8 +195,51 @@ class FileModel extends Model
@
# Get Data
- getData: ->
- return @data
+ getData: (data) -> @data
+
+ # Set Buffer
+ setBuffer: (buffer) ->
+ @buffer = buffer
+ @
+
+ # Get buffer
+ getBuffer: (next) ->
+ # Check our cache
+ return next(null,@buffer) if @buffer
+
+ # Load the data fresh
+ @load (err) =>
+ next(err,@buffer)
+
+ # Chain
+ @
+
+ # Clean
+ # Wipe any unnecessary data
+ clean: (next) ->
+ @setBuffer(null)
+ ###
+ @set({
+ content:null
+ source:null
+ })
+ ###
+ next?()
+ @
+
+ # Get Content
+ getContent: (next) ->
+ content = @get('content')
+ if content
+ next(null,content)
+ else
+ @getBuffer(next)
+ @
+
+ # Get Out Content
+ getOutContent: (next) ->
+ @getContent(next)
+ @
# Set Stat
setStat: (stat) ->
@@ -229,105 +277,133 @@ class FileModel extends Model
next or= opts.next or null
return {next,opts}
- # Load
- # If the fullPath exists, load the file
- # If it doesn't, then parse and normalize the file
- load: (opts={},next) ->
- # Prepare
- {opts,next} = @getActionArgs(opts,next)
- file = @
- filePath = @get('relativePath') or @get('fullPath') or @get('filename')
- fullPath = @get('fullPath') or filePath or null
- data = @getData()
+ # Set the url for the file
+ setUrl: (url) ->
+ @addUrl(url)
+ @set({url})
+ @
- # Log
- file.log('debug', "Loading the file: #{filePath}")
+ # Add a url
+ # Allows our file to support multiple urls
+ addUrl: (url) ->
+ # Multiple Urls
+ if url instanceof Array
+ for newUrl in url
+ @addUrl(newUrl)
- # Handler
- complete = (err) ->
- return next(err) if err
- file.log('debug', "Loaded the file: #{filePath}")
- next()
- handlePath = ->
- file.set({fullPath})
- file.readFile(fullPath, complete)
- handleData = ->
- file.set({fullPath:null})
- file.parseData data, (err) =>
- return next(err) if err
- file.normalize (err) =>
- return next(err) if err
- complete()
- # Exists?
- if fullPath
- balUtil.exists fullPath, (exists) ->
- # Read the file
- if exists
- handlePath()
- else
- handleData()
- else if data
- handleData()
- else
- err = new Error('Nothing to load')
- return next(err)
+ # Single Url
+ else if url
+ found = false
+ urls = @get('urls')
+ for own existingUrl in urls
+ if existingUrl is url
+ found = true
+ break
+ urls.push(url) if not found
# Chain
@
- # Read File
- # Reads in the source file and parses it
- # next(err)
- readFile: (fullPath,next) ->
+ # Remove a url
+ # Removes a url from our file
+ removeUrl: (userUrl) ->
+ urls = @get('urls')
+ for url,index in urls
+ if url is userUrl
+ urls.remove(index)
+ break
+ @
+
+ # Get a Path
+ # If the path starts with `.` then we get the path in relation to the document that is calling it
+ # Otherwise we just return it as normal
+ getPath: (relativePath, parentPath) ->
+ if /^\./.test(relativePath)
+ relativeDirPath = @get('relativeDirPath')
+ path = pathUtil.join(relativeDirPath, relativePath)
+ else
+ if parentPath
+ path = pathUtil.join(parentPath, relativePath)
+ else
+ path = relativePath
+ return path
+
+
+ # Load
+ # If data exists, use that for the buffer
+ # If data doesn't exist, load the buffer from the file
+ # next(err,buffer)
+ load: (opts={},next) ->
# Prepare
+ {opts,next} = @getActionArgs(opts,next)
file = @
+
+ # Normalize
fullPath = @get('fullPath')
+ unless fullPath
+ filePath = @get('relativePath') or @get('fullPath') or @get('filename')
+ fullPath = @get('fullPath') or filePath or null
+ file.set({fullPath})
# Log
- file.log('debug', "Reading the file: #{fullPath}")
+ file.log('debug', "Loading the file: #{fullPath}")
# Async
tasks = new balUtil.Group (err) =>
- if err
- file.log('err', "Failed to read the file: #{fullPath}")
- return next(err)
- else
- @normalize (err) =>
+ return next(err) if err
+ file.log('debug', "Loaded the file: #{fullPath}")
+ file.parse (err) ->
+ return next(err) if err
+ file.normalize (err) ->
return next(err) if err
- file.log('debug', "Read the file: #{fullPath}")
- next()
- tasks.total = 2
+ return next(null,file.buffer)
+
+ # Read the data if it is set
+ tasks.push (complete) ->
+ if file.data
+ buffer = new Buffer(file.data)
+ file.setBuffer(buffer)
+ tasks.exit()
+ else
+ complete()
- # Stat the file
- if file.stat
- tasks.complete()
- else
+ # Stat the file and cache the result
+ tasks.push (complete) ->
+ return complete() if file.stat
balUtil.stat fullPath, (err,fileStat) ->
- return next(err) if err
- file.stat = fileStat
+ return complete(err) if err
+ file.setStat(fileStat)
tasks.complete()
- # Read the file
- balUtil.readFile fullPath, (err,data) ->
- return next(err) if err
- file.parseData(data, tasks.completer())
+ # Read the file and cache the result
+ tasks.push (complete) ->
+ return complete() if file.buffer
+ balUtil.readFile fullPath, (err,buffer) ->
+ return complete(err) if err
+ file.setBuffer(buffer)
+ return complete()
+
+ # Run the tasks
+ tasks.sync()
# Chain
@
- # Parse data
- # Parses some data, and loads the meta data and content from it
+ # Parse
+ # Parse our buffer and extract meaningful data from it
# next(err)
- parseData: (data,next) ->
+ parse: (opts={},next) ->
# Prepare
+ {opts,next} = @getActionArgs(opts,next)
+ buffer = @buffer
fullPath = @get('fullPath')
encoding = @get('encoding')
- # Extract content from data
- if data instanceof Buffer
+ # Extract content
+ if buffer instanceof Buffer
# Detect encoding
unless encoding
- isText = balUtil.isTextSync(fullPath,data)
+ isText = balUtil.isTextSync(fullPath,buffer)
if isText
encoding = 'utf8'
else
@@ -335,13 +411,14 @@ class FileModel extends Model
# Fetch source with encoding
if encoding is 'utf8'
- source = data.toString(encoding)
+ source = buffer.toString(encoding)
else
source = ''
# Data is a string
- else if balUtil.isString(data)
- source = data
+ else if balUtil.isString(buffer)
+ encoding = 'utf8' unless encoding
+ source = buffer
# Data is invalid
else
@@ -351,64 +428,12 @@ class FileModel extends Model
content = source.replace(/\r\n?/gm,'\n').replace(/\t/g,' ')
# Apply
- @setData(data)
@set({source,content,encoding})
# Next
next()
@
- # Set the url for the file
- setUrl: (url) ->
- @addUrl(url)
- @set({url})
- @
-
- # Add a url
- # Allows our file to support multiple urls
- addUrl: (url) ->
- # Multiple Urls
- if url instanceof Array
- for newUrl in url
- @addUrl(newUrl)
-
- # Single Url
- else if url
- found = false
- urls = @get('urls')
- for own existingUrl in urls
- if existingUrl is url
- found = true
- break
- urls.push(url) if not found
-
- # Chain
- @
-
- # Remove a url
- # Removes a url from our file
- removeUrl: (userUrl) ->
- urls = @get('urls')
- for url,index in urls
- if url is userUrl
- urls.remove(index)
- break
- @
-
- # Get a Path
- # If the path starts with `.` then we get the path in relation to the document that is calling it
- # Otherwise we just return it as normal
- getPath: (relativePath, parentPath) ->
- if /^\./.test(relativePath)
- relativeDirPath = @get('relativeDirPath')
- path = pathUtil.join(relativeDirPath, relativePath)
- else
- if parentPath
- path = pathUtil.join(parentPath, relativePath)
- else
- path = relativePath
- return path
-
# Normalize data
# Normalize any parsing we have done, as if a value has updates it may have consequences on another value. This will ensure everything is okay.
# next(err)
@@ -535,7 +560,6 @@ class FileModel extends Model
# Prepare
file = @
fileOutPath = @get('outPath')
- content = @get('content') or @getData()
encoding = @get('encoding')
# Check
@@ -544,19 +568,24 @@ class FileModel extends Model
next()
return @
- # Log
- file.log 'debug', "Writing the file: #{fileOutPath} #{encoding}"
-
- # Write data
- balUtil.writeFile fileOutPath, content, encoding, (err) ->
- # Check
+ # Write
+ @getContent (err,content) ->
+ # Prepare
return next(err) if err
# Log
- file.log 'debug', "Wrote the file: #{fileOutPath} #{encoding}"
+ file.log 'debug', "Writing the file: #{fileOutPath} #{encoding}"
- # Next
- next()
+ # Write data
+ balUtil.writeFile fileOutPath, content, encoding, (err) ->
+ # Check
+ return next(err) if err
+
+ # Log
+ file.log 'debug', "Wrote the file: #{fileOutPath} #{encoding}"
+
+ # Next
+ return next()
# Chain
@
@@ -581,6 +610,7 @@ class FileModel extends Model
balUtil.exists fileOutPath, (exists) ->
# Exit if it doesn't exist
return next() unless exists
+
# If it does exist delete it
balUtil.unlink fileOutPath, (err) ->
# Check
View
4 src/test/actions.test.coffee
@@ -83,8 +83,8 @@ joe.suite 'docpad-actions', (suite,test) ->
testMarkup = (key,actual,expected) ->
test key, ->
# trim whitespace, to avoid util conflicts between node versions and other oddities
- actualString = actual.trim().replace(/\s+/mg,'')
- expectedString = expected.trim().replace(/\s+/mg,'')
+ actualString = actual.trim().replace(/\s+/g,'')
+ expectedString = expected.trim().replace(/\s+/g,'')
# check equality
expect(actualString).to.be.equal(expectedString)
View
90 test/out-expected/attributes-nolayout.txt
@@ -1,38 +1,52 @@
-{ basename: 'attributes-nolayout',
- body: '# Fetch data\nattrs = @getDocument().getAttributes()\n\n# Delete environment specific variables\n# timezone makes the dates impossible\n# path differences make them impossible\n# data is too much output\ndelete attrs.ctime\ndelete attrs.mtime\ndelete attrs.date\ndelete attrs.fullPath\ndelete attrs.fullDirPath\ndelete attrs.outPath\ndelete attrs.outDirPath\ndelete attrs.data\n\n# Sort the attributes\nkeys = []\nkeys.push(key) for own key,value of attrs\nkeys.sort()\nsortedAttrs = {}\nfor key in keys\n sortedAttrs[key] = attrs[key]\n\n# Output data\ntext @require(\'util\').inspect(sortedAttrs)',
- content: '# Fetch data\nattrs = @getDocument().getAttributes()\n\n# Delete environment specific variables\n# timezone makes the dates impossible\n# path differences make them impossible\n# data is too much output\ndelete attrs.ctime\ndelete attrs.mtime\ndelete attrs.date\ndelete attrs.fullPath\ndelete attrs.fullDirPath\ndelete attrs.outPath\ndelete attrs.outDirPath\ndelete attrs.data\n\n# Sort the attributes\nkeys = []\nkeys.push(key) for own key,value of attrs\nkeys.sort()\nsortedAttrs = {}\nfor key in keys\n sortedAttrs[key] = attrs[key]\n\n# Output data\ntext @require(\'util\').inspect(sortedAttrs)',
- contentRendered: '{ basename: \'attributes-nolayout\',\n body: \'# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext @require(\\\'util\\\').inspect(sortedAttrs)\',\n content: \'# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext @require(\\\'util\\\').inspect(sortedAttrs)\',\n contentRendered: false,\n contentRenderedWithoutLayouts: null,\n contentType: \'application/octet-stream\',\n dynamic: false,\n encoding: \'utf8\',\n extension: \'coffee\',\n extensions: [ \'txt\', \'coffee\' ],\n filename: \'attributes-nolayout.txt.coffee\',\n header: \'title: \\\'Attributes No Layout\\\'\\ntags: [\\\'attributes\\\',\\\'with-layout\\\']\',\n id: \'attributes-nolayout.txt.coffee\',\n isDocument: true,\n meta: \n { title: \'Attributes No Layout\',\n tags: [ \'attributes\', \'with-layout\' ] },\n name: \'attributes-nolayout.txt\',\n outContentType: \'text/plain\',\n outExtension: \'txt\',\n outFilename: \'attributes-nolayout.txt\',\n parser: \'yaml\',\n referencesOthers: false,\n relativeBase: \'attributes-nolayout\',\n relativeDirPath: \'\',\n relativeOutDirPath: \'\',\n relativeOutPath: \'attributes-nolayout.txt\',\n relativePath: \'attributes-nolayout.txt.coffee\',\n render: true,\n renderSingleExtensions: false,\n rendered: false,\n slug: \'attributes-nolayout\',\n source: \'---\\ntitle: \\\'Attributes No Layout\\\'\\ntags: [\\\'attributes\\\',\\\'with-layout\\\']\\n---\\n\\n# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext @require(\\\'util\\\').inspect(sortedAttrs)\',\n tags: [ \'attributes\', \'with-layout\' ],\n title: \'Attributes No Layout\',\n url: \'/attributes-nolayout.txt\',\n urls: [ \'/attributes-nolayout.txt\' ],\n write: true }',
- contentRenderedWithoutLayouts: '{ basename: \'attributes-nolayout\',\n body: \'# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext @require(\\\'util\\\').inspect(sortedAttrs)\',\n content: \'# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext @require(\\\'util\\\').inspect(sortedAttrs)\',\n contentRendered: false,\n contentRenderedWithoutLayouts: null,\n contentType: \'application/octet-stream\',\n dynamic: false,\n encoding: \'utf8\',\n extension: \'coffee\',\n extensions: [ \'txt\', \'coffee\' ],\n filename: \'attributes-nolayout.txt.coffee\',\n header: \'title: \\\'Attributes No Layout\\\'\\ntags: [\\\'attributes\\\',\\\'with-layout\\\']\',\n id: \'attributes-nolayout.txt.coffee\',\n isDocument: true,\n meta: \n { title: \'Attributes No Layout\',\n tags: [ \'attributes\', \'with-layout\' ] },\n name: \'attributes-nolayout.txt\',\n outContentType: \'text/plain\',\n outExtension: \'txt\',\n outFilename: \'attributes-nolayout.txt\',\n parser: \'yaml\',\n referencesOthers: false,\n relativeBase: \'attributes-nolayout\',\n relativeDirPath: \'\',\n relativeOutDirPath: \'\',\n relativeOutPath: \'attributes-nolayout.txt\',\n relativePath: \'attributes-nolayout.txt.coffee\',\n render: true,\n renderSingleExtensions: false,\n rendered: false,\n slug: \'attributes-nolayout\',\n source: \'---\\ntitle: \\\'Attributes No Layout\\\'\\ntags: [\\\'attributes\\\',\\\'with-layout\\\']\\n---\\n\\n# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext @require(\\\'util\\\').inspect(sortedAttrs)\',\n tags: [ \'attributes\', \'with-layout\' ],\n title: \'Attributes No Layout\',\n url: \'/attributes-nolayout.txt\',\n urls: [ \'/attributes-nolayout.txt\' ],\n write: true }',
- contentType: 'application/octet-stream',
- dynamic: false,
- encoding: 'utf8',
- extension: 'coffee',
- extensions: [ 'txt', 'coffee' ],
- filename: 'attributes-nolayout.txt.coffee',
- header: 'title: \'Attributes No Layout\'\ntags: [\'attributes\',\'with-layout\']',
- id: 'attributes-nolayout.txt.coffee',
- isDocument: true,
- meta:
- { title: 'Attributes No Layout',
- tags: [ 'attributes', 'with-layout' ] },
- name: 'attributes-nolayout.txt',
- outContentType: 'text/plain',
- outExtension: 'txt',
- outFilename: 'attributes-nolayout.txt',
- parser: 'yaml',
- referencesOthers: false,
- relativeBase: 'attributes-nolayout',
- relativeDirPath: '',
- relativeOutDirPath: '',
- relativeOutPath: 'attributes-nolayout.txt',
- relativePath: 'attributes-nolayout.txt.coffee',
- render: true,
- renderSingleExtensions: false,
- rendered: true,
- slug: 'attributes-nolayout',
- source: '---\ntitle: \'Attributes No Layout\'\ntags: [\'attributes\',\'with-layout\']\n---\n\n# Fetch data\nattrs = @getDocument().getAttributes()\n\n# Delete environment specific variables\n# timezone makes the dates impossible\n# path differences make them impossible\n# data is too much output\ndelete attrs.ctime\ndelete attrs.mtime\ndelete attrs.date\ndelete attrs.fullPath\ndelete attrs.fullDirPath\ndelete attrs.outPath\ndelete attrs.outDirPath\ndelete attrs.data\n\n# Sort the attributes\nkeys = []\nkeys.push(key) for own key,value of attrs\nkeys.sort()\nsortedAttrs = {}\nfor key in keys\n sortedAttrs[key] = attrs[key]\n\n# Output data\ntext @require(\'util\').inspect(sortedAttrs)',
- tags: [ 'attributes', 'with-layout' ],
- title: 'Attributes No Layout',
- url: '/attributes-nolayout.txt',
- urls: [ '/attributes-nolayout.txt' ],
- write: true }
+{
+ "basename": "attributes-nolayout",
+ "body": "# Fetch data\nattrs = @getDocument().getAttributes()\n\n# Delete environment specific variables\n# timezone makes the dates impossible\n# path differences make them impossible\n# data is too much output\ndelete attrs.ctime\ndelete attrs.mtime\ndelete attrs.date\ndelete attrs.fullPath\ndelete attrs.fullDirPath\ndelete attrs.outPath\ndelete attrs.outDirPath\ndelete attrs.data\n\n# Sort the attributes\nkeys = []\nkeys.push(key) for own key,value of attrs\nkeys.sort()\nsortedAttrs = {}\nfor key in keys\n sortedAttrs[key] = attrs[key]\n\n# Output data\ntext JSON.stringify(sortedAttrs,null,'\\t')",
+ "content": "# Fetch data\nattrs = @getDocument().getAttributes()\n\n# Delete environment specific variables\n# timezone makes the dates impossible\n# path differences make them impossible\n# data is too much output\ndelete attrs.ctime\ndelete attrs.mtime\ndelete attrs.date\ndelete attrs.fullPath\ndelete attrs.fullDirPath\ndelete attrs.outPath\ndelete attrs.outDirPath\ndelete attrs.data\n\n# Sort the attributes\nkeys = []\nkeys.push(key) for own key,value of attrs\nkeys.sort()\nsortedAttrs = {}\nfor key in keys\n sortedAttrs[key] = attrs[key]\n\n# Output data\ntext JSON.stringify(sortedAttrs,null,'\\t')",
+ "contentRendered": "{\n\t\"basename\": \"attributes-nolayout\",\n\t\"body\": \"# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext JSON.stringify(sortedAttrs,null,'\\\\t')\",\n\t\"content\": \"# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext JSON.stringify(sortedAttrs,null,'\\\\t')\",\n\t\"contentRendered\": null,\n\t\"contentRenderedWithoutLayouts\": null,\n\t\"contentType\": \"application/octet-stream\",\n\t\"dynamic\": false,\n\t\"encoding\": \"utf8\",\n\t\"extension\": \"coffee\",\n\t\"extensions\": [\n\t\t\"txt\",\n\t\t\"coffee\"\n\t],\n\t\"filename\": \"attributes-nolayout.txt.coffee\",\n\t\"header\": \"title: 'Attributes No Layout'\\ntags: ['attributes','with-layout']\",\n\t\"id\": \"attributes-nolayout.txt.coffee\",\n\t\"isDocument\": true,\n\t\"meta\": {\n\t\t\"title\": \"Attributes No Layout\",\n\t\t\"tags\": [\n\t\t\t\"attributes\",\n\t\t\t\"with-layout\"\n\t\t]\n\t},\n\t\"name\": \"attributes-nolayout.txt\",\n\t\"outContentType\": \"text/plain\",\n\t\"outExtension\": \"txt\",\n\t\"outFilename\": \"attributes-nolayout.txt\",\n\t\"parser\": \"yaml\",\n\t\"referencesOthers\": false,\n\t\"relativeBase\": \"attributes-nolayout\",\n\t\"relativeDirPath\": \"\",\n\t\"relativeOutDirPath\": \"\",\n\t\"relativeOutPath\": \"attributes-nolayout.txt\",\n\t\"relativePath\": \"attributes-nolayout.txt.coffee\",\n\t\"render\": true,\n\t\"renderSingleExtensions\": false,\n\t\"rendered\": false,\n\t\"slug\": \"attributes-nolayout\",\n\t\"source\": \"---\\ntitle: 'Attributes No Layout'\\ntags: ['attributes','with-layout']\\n---\\n\\n# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext JSON.stringify(sortedAttrs,null,'\\\\t')\",\n\t\"tags\": [\n\t\t\"attributes\",\n\t\t\"with-layout\"\n\t],\n\t\"title\": \"Attributes No Layout\",\n\t\"url\": \"/attributes-nolayout.txt\",\n\t\"urls\": [\n\t\t\"/attributes-nolayout.txt\"\n\t],\n\t\"write\": true\n}",
+ "contentRenderedWithoutLayouts": "{\n\t\"basename\": \"attributes-nolayout\",\n\t\"body\": \"# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext JSON.stringify(sortedAttrs,null,'\\\\t')\",\n\t\"content\": \"# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext JSON.stringify(sortedAttrs,null,'\\\\t')\",\n\t\"contentRendered\": null,\n\t\"contentRenderedWithoutLayouts\": null,\n\t\"contentType\": \"application/octet-stream\",\n\t\"dynamic\": false,\n\t\"encoding\": \"utf8\",\n\t\"extension\": \"coffee\",\n\t\"extensions\": [\n\t\t\"txt\",\n\t\t\"coffee\"\n\t],\n\t\"filename\": \"attributes-nolayout.txt.coffee\",\n\t\"header\": \"title: 'Attributes No Layout'\\ntags: ['attributes','with-layout']\",\n\t\"id\": \"attributes-nolayout.txt.coffee\",\n\t\"isDocument\": true,\n\t\"meta\": {\n\t\t\"title\": \"Attributes No Layout\",\n\t\t\"tags\": [\n\t\t\t\"attributes\",\n\t\t\t\"with-layout\"\n\t\t]\n\t},\n\t\"name\": \"attributes-nolayout.txt\",\n\t\"outContentType\": \"text/plain\",\n\t\"outExtension\": \"txt\",\n\t\"outFilename\": \"attributes-nolayout.txt\",\n\t\"parser\": \"yaml\",\n\t\"referencesOthers\": false,\n\t\"relativeBase\": \"attributes-nolayout\",\n\t\"relativeDirPath\": \"\",\n\t\"relativeOutDirPath\": \"\",\n\t\"relativeOutPath\": \"attributes-nolayout.txt\",\n\t\"relativePath\": \"attributes-nolayout.txt.coffee\",\n\t\"render\": true,\n\t\"renderSingleExtensions\": false,\n\t\"rendered\": false,\n\t\"slug\": \"attributes-nolayout\",\n\t\"source\": \"---\\ntitle: 'Attributes No Layout'\\ntags: ['attributes','with-layout']\\n---\\n\\n# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext JSON.stringify(sortedAttrs,null,'\\\\t')\",\n\t\"tags\": [\n\t\t\"attributes\",\n\t\t\"with-layout\"\n\t],\n\t\"title\": \"Attributes No Layout\",\n\t\"url\": \"/attributes-nolayout.txt\",\n\t\"urls\": [\n\t\t\"/attributes-nolayout.txt\"\n\t],\n\t\"write\": true\n}",
+ "contentType": "application/octet-stream",
+ "dynamic": false,
+ "encoding": "utf8",
+ "extension": "coffee",
+ "extensions": [
+ "txt",
+ "coffee"
+ ],
+ "filename": "attributes-nolayout.txt.coffee",
+ "header": "title: 'Attributes No Layout'\ntags: ['attributes','with-layout']",
+ "id": "attributes-nolayout.txt.coffee",
+ "isDocument": true,
+ "meta": {
+ "title": "Attributes No Layout",
+ "tags": [
+ "attributes",
+ "with-layout"
+ ]
+ },
+ "name": "attributes-nolayout.txt",
+ "outContentType": "text/plain",
+ "outExtension": "txt",
+ "outFilename": "attributes-nolayout.txt",
+ "parser": "yaml",
+ "referencesOthers": false,
+ "relativeBase": "attributes-nolayout",
+ "relativeDirPath": "",
+ "relativeOutDirPath": "",
+ "relativeOutPath": "attributes-nolayout.txt",
+ "relativePath": "attributes-nolayout.txt.coffee",
+ "render": true,
+ "renderSingleExtensions": false,
+ "rendered": true,
+ "slug": "attributes-nolayout",
+ "source": "---\ntitle: 'Attributes No Layout'\ntags: ['attributes','with-layout']\n---\n\n# Fetch data\nattrs = @getDocument().getAttributes()\n\n# Delete environment specific variables\n# timezone makes the dates impossible\n# path differences make them impossible\n# data is too much output\ndelete attrs.ctime\ndelete attrs.mtime\ndelete attrs.date\ndelete attrs.fullPath\ndelete attrs.fullDirPath\ndelete attrs.outPath\ndelete attrs.outDirPath\ndelete attrs.data\n\n# Sort the attributes\nkeys = []\nkeys.push(key) for own key,value of attrs\nkeys.sort()\nsortedAttrs = {}\nfor key in keys\n sortedAttrs[key] = attrs[key]\n\n# Output data\ntext JSON.stringify(sortedAttrs,null,'\\t')",
+ "tags": [
+ "attributes",
+ "with-layout"
+ ],
+ "title": "Attributes No Layout",
+ "url": "/attributes-nolayout.txt",
+ "urls": [
+ "/attributes-nolayout.txt"
+ ],
+ "write": true
+}
View
188 test/out-expected/attributes-withlayout.txt
@@ -1,82 +1,110 @@
<article>
-{ basename: 'attributes-withlayout',
- body: '# Fetch data\nattrs = @getDocument().getAttributes()\n\n# Delete environment specific variables\n# timezone makes the dates impossible\n# path differences make them impossible\n# data is too much output\ndelete attrs.ctime\ndelete attrs.mtime\ndelete attrs.date\ndelete attrs.fullPath\ndelete attrs.fullDirPath\ndelete attrs.outPath\ndelete attrs.outDirPath\ndelete attrs.data\n\n# Sort the attributes\nkeys = []\nkeys.push(key) for own key,value of attrs\nkeys.sort()\nsortedAttrs = {}\nfor key in keys\n sortedAttrs[key] = attrs[key]\n\n# Output data\ntext @require(\'util\').inspect(sortedAttrs)',
- content: '# Fetch data\nattrs = @getDocument().getAttributes()\n\n# Delete environment specific variables\n# timezone makes the dates impossible\n# path differences make them impossible\n# data is too much output\ndelete attrs.ctime\ndelete attrs.mtime\ndelete attrs.date\ndelete attrs.fullPath\ndelete attrs.fullDirPath\ndelete attrs.outPath\ndelete attrs.outDirPath\ndelete attrs.data\n\n# Sort the attributes\nkeys = []\nkeys.push(key) for own key,value of attrs\nkeys.sort()\nsortedAttrs = {}\nfor key in keys\n sortedAttrs[key] = attrs[key]\n\n# Output data\ntext @require(\'util\').inspect(sortedAttrs)',
- contentRendered: '<article>\n{ basename: \'attributes-withlayout\',\n body: \'# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext @require(\\\'util\\\').inspect(sortedAttrs)\',\n content: \'# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext @require(\\\'util\\\').inspect(sortedAttrs)\',\n contentRendered: false,\n contentRenderedWithoutLayouts: null,\n contentType: \'application/octet-stream\',\n dynamic: false,\n encoding: \'utf8\',\n extension: \'coffee\',\n extensions: [ \'txt\', \'coffee\' ],\n filename: \'attributes-withlayout.txt.coffee\',\n header: \'title: \\\'Attributes With Layout\\\'\\nlayout: \\\'attributes\\\'\\ntags: [\\\'attributes\\\',\\\'with-layout\\\']\',\n id: \'attributes-withlayout.txt.coffee\',\n isDocument: true,\n layout: \'attributes.txt.coffee\',\n meta: \n { title: \'Attributes With Layout\',\n layout: \'attributes\',\n tags: [ \'attributes\', \'with-layout\' ] },\n name: \'attributes-withlayout.txt\',\n outContentType: \'text/plain\',\n outExtension: \'txt\',\n outFilename: \'attributes-withlayout.txt\',\n parser: \'yaml\',\n referencesOthers: false,\n relativeBase: \'attributes-withlayout\',\n relativeDirPath: \'\',\n relativeOutDirPath: \'\',\n relativeOutPath: \'attributes-withlayout.txt\',\n relativePath: \'attributes-withlayout.txt.coffee\',\n render: true,\n renderSingleExtensions: false,\n rendered: false,\n slug: \'attributes-withlayout\',\n source: \'---\\ntitle: \\\'Attributes With Layout\\\'\\nlayout: \\\'attributes\\\'\\ntags: [\\\'attributes\\\',\\\'with-layout\\\']\\n---\\n\\n# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext @require(\\\'util\\\').inspect(sortedAttrs)\',\n tags: [ \'attributes\', \'with-layout\' ],\n title: \'Attributes With Layout\',\n url: \'/attributes-withlayout.txt\',\n urls: [ \'/attributes-withlayout.txt\' ],\n write: true }</article>\n<aside>\n{ basename: \'attributes-withlayout\',\n body: \'# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext @require(\\\'util\\\').inspect(sortedAttrs)\',\n content: \'# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext @require(\\\'util\\\').inspect(sortedAttrs)\',\n contentRendered: false,\n contentRenderedWithoutLayouts: null,\n contentType: \'application/octet-stream\',\n dynamic: false,\n encoding: \'utf8\',\n extension: \'coffee\',\n extensions: [ \'txt\', \'coffee\' ],\n filename: \'attributes-withlayout.txt.coffee\',\n header: \'title: \\\'Attributes With Layout\\\'\\nlayout: \\\'attributes\\\'\\ntags: [\\\'attributes\\\',\\\'with-layout\\\']\',\n id: \'attributes-withlayout.txt.coffee\',\n isDocument: true,\n layout: \'attributes.txt.coffee\',\n meta: \n { title: \'Attributes With Layout\',\n layout: \'attributes\',\n tags: [ \'attributes\', \'with-layout\' ] },\n name: \'attributes-withlayout.txt\',\n outContentType: \'text/plain\',\n outExtension: \'txt\',\n outFilename: \'attributes-withlayout.txt\',\n parser: \'yaml\',\n referencesOthers: false,\n relativeBase: \'attributes-withlayout\',\n relativeDirPath: \'\',\n relativeOutDirPath: \'\',\n relativeOutPath: \'attributes-withlayout.txt\',\n relativePath: \'attributes-withlayout.txt.coffee\',\n render: true,\n renderSingleExtensions: false,\n rendered: false,\n slug: \'attributes-withlayout\',\n source: \'---\\ntitle: \\\'Attributes With Layout\\\'\\nlayout: \\\'attributes\\\'\\ntags: [\\\'attributes\\\',\\\'with-layout\\\']\\n---\\n\\n# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext @require(\\\'util\\\').inspect(sortedAttrs)\',\n tags: [ \'attributes\', \'with-layout\' ],\n title: \'Attributes With Layout\',\n url: \'/attributes-withlayout.txt\',\n urls: [ \'/attributes-withlayout.txt\' ],\n write: true }</aside>\n',
- contentRenderedWithoutLayouts: '{ basename: \'attributes-withlayout\',\n body: \'# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext @require(\\\'util\\\').inspect(sortedAttrs)\',\n content: \'# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext @require(\\\'util\\\').inspect(sortedAttrs)\',\n contentRendered: false,\n contentRenderedWithoutLayouts: null,\n contentType: \'application/octet-stream\',\n dynamic: false,\n encoding: \'utf8\',\n extension: \'coffee\',\n extensions: [ \'txt\', \'coffee\' ],\n filename: \'attributes-withlayout.txt.coffee\',\n header: \'title: \\\'Attributes With Layout\\\'\\nlayout: \\\'attributes\\\'\\ntags: [\\\'attributes\\\',\\\'with-layout\\\']\',\n id: \'attributes-withlayout.txt.coffee\',\n isDocument: true,\n layout: \'attributes.txt.coffee\',\n meta: \n { title: \'Attributes With Layout\',\n layout: \'attributes\',\n tags: [ \'attributes\', \'with-layout\' ] },\n name: \'attributes-withlayout.txt\',\n outContentType: \'text/plain\',\n outExtension: \'txt\',\n outFilename: \'attributes-withlayout.txt\',\n parser: \'yaml\',\n referencesOthers: false,\n relativeBase: \'attributes-withlayout\',\n relativeDirPath: \'\',\n relativeOutDirPath: \'\',\n relativeOutPath: \'attributes-withlayout.txt\',\n relativePath: \'attributes-withlayout.txt.coffee\',\n render: true,\n renderSingleExtensions: false,\n rendered: false,\n slug: \'attributes-withlayout\',\n source: \'---\\ntitle: \\\'Attributes With Layout\\\'\\nlayout: \\\'attributes\\\'\\ntags: [\\\'attributes\\\',\\\'with-layout\\\']\\n---\\n\\n# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext @require(\\\'util\\\').inspect(sortedAttrs)\',\n tags: [ \'attributes\', \'with-layout\' ],\n title: \'Attributes With Layout\',\n url: \'/attributes-withlayout.txt\',\n urls: [ \'/attributes-withlayout.txt\' ],\n write: true }',
- contentType: 'application/octet-stream',
- dynamic: false,
- encoding: 'utf8',
- extension: 'coffee',
- extensions: [ 'txt', 'coffee' ],
- filename: 'attributes-withlayout.txt.coffee',
- header: 'title: \'Attributes With Layout\'\nlayout: \'attributes\'\ntags: [\'attributes\',\'with-layout\']',
- id: 'attributes-withlayout.txt.coffee',
- isDocument: true,
- layout: 'attributes.txt.coffee',
- meta:
- { title: 'Attributes With Layout',
- layout: 'attributes',
- tags: [ 'attributes', 'with-layout' ] },
- name: 'attributes-withlayout.txt',
- outContentType: 'text/plain',
- outExtension: 'txt',
- outFilename: 'attributes-withlayout.txt',
- parser: 'yaml',
- referencesOthers: false,
- relativeBase: 'attributes-withlayout',
- relativeDirPath: '',
- relativeOutDirPath: '',
- relativeOutPath: 'attributes-withlayout.txt',
- relativePath: 'attributes-withlayout.txt.coffee',
- render: true,
- renderSingleExtensions: false,
- rendered: true,
- slug: 'attributes-withlayout',
- source: '---\ntitle: \'Attributes With Layout\'\nlayout: \'attributes\'\ntags: [\'attributes\',\'with-layout\']\n---\n\n# Fetch data\nattrs = @getDocument().getAttributes()\n\n# Delete environment specific variables\n# timezone makes the dates impossible\n# path differences make them impossible\n# data is too much output\ndelete attrs.ctime\ndelete attrs.mtime\ndelete attrs.date\ndelete attrs.fullPath\ndelete attrs.fullDirPath\ndelete attrs.outPath\ndelete attrs.outDirPath\ndelete attrs.data\n\n# Sort the attributes\nkeys = []\nkeys.push(key) for own key,value of attrs\nkeys.sort()\nsortedAttrs = {}\nfor key in keys\n sortedAttrs[key] = attrs[key]\n\n# Output data\ntext @require(\'util\').inspect(sortedAttrs)',
- tags: [ 'attributes', 'with-layout' ],
- title: 'Attributes With Layout',
- url: '/attributes-withlayout.txt',
- urls: [ '/attributes-withlayout.txt' ],
- write: true }</article>
+{
+ "basename": "attributes-withlayout",
+ "body": "# Fetch data\nattrs = @getDocument().getAttributes()\n\n# Delete environment specific variables\n# timezone makes the dates impossible\n# path differences make them impossible\n# data is too much output\ndelete attrs.ctime\ndelete attrs.mtime\ndelete attrs.date\ndelete attrs.fullPath\ndelete attrs.fullDirPath\ndelete attrs.outPath\ndelete attrs.outDirPath\ndelete attrs.data\n\n# Sort the attributes\nkeys = []\nkeys.push(key) for own key,value of attrs\nkeys.sort()\nsortedAttrs = {}\nfor key in keys\n sortedAttrs[key] = attrs[key]\n\n# Output data\ntext JSON.stringify(sortedAttrs,null,'\\t')",
+ "content": "# Fetch data\nattrs = @getDocument().getAttributes()\n\n# Delete environment specific variables\n# timezone makes the dates impossible\n# path differences make them impossible\n# data is too much output\ndelete attrs.ctime\ndelete attrs.mtime\ndelete attrs.date\ndelete attrs.fullPath\ndelete attrs.fullDirPath\ndelete attrs.outPath\ndelete attrs.outDirPath\ndelete attrs.data\n\n# Sort the attributes\nkeys = []\nkeys.push(key) for own key,value of attrs\nkeys.sort()\nsortedAttrs = {}\nfor key in keys\n sortedAttrs[key] = attrs[key]\n\n# Output data\ntext JSON.stringify(sortedAttrs,null,'\\t')",
+ "contentRendered": "<article>\n{\n\t\"basename\": \"attributes-withlayout\",\n\t\"body\": \"# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext JSON.stringify(sortedAttrs,null,'\\\\t')\",\n\t\"content\": \"# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext JSON.stringify(sortedAttrs,null,'\\\\t')\",\n\t\"contentRendered\": null,\n\t\"contentRenderedWithoutLayouts\": null,\n\t\"contentType\": \"application/octet-stream\",\n\t\"dynamic\": false,\n\t\"encoding\": \"utf8\",\n\t\"extension\": \"coffee\",\n\t\"extensions\": [\n\t\t\"txt\",\n\t\t\"coffee\"\n\t],\n\t\"filename\": \"attributes-withlayout.txt.coffee\",\n\t\"header\": \"title: 'Attributes With Layout'\\nlayout: 'attributes'\\ntags: ['attributes','with-layout']\",\n\t\"id\": \"attributes-withlayout.txt.coffee\",\n\t\"isDocument\": true,\n\t\"layout\": \"attributes.txt.coffee\",\n\t\"meta\": {\n\t\t\"title\": \"Attributes With Layout\",\n\t\t\"layout\": \"attributes\",\n\t\t\"tags\": [\n\t\t\t\"attributes\",\n\t\t\t\"with-layout\"\n\t\t]\n\t},\n\t\"name\": \"attributes-withlayout.txt\",\n\t\"outContentType\": \"text/plain\",\n\t\"outExtension\": \"txt\",\n\t\"outFilename\": \"attributes-withlayout.txt\",\n\t\"parser\": \"yaml\",\n\t\"referencesOthers\": false,\n\t\"relativeBase\": \"attributes-withlayout\",\n\t\"relativeDirPath\": \"\",\n\t\"relativeOutDirPath\": \"\",\n\t\"relativeOutPath\": \"attributes-withlayout.txt\",\n\t\"relativePath\": \"attributes-withlayout.txt.coffee\",\n\t\"render\": true,\n\t\"renderSingleExtensions\": false,\n\t\"rendered\": false,\n\t\"slug\": \"attributes-withlayout\",\n\t\"source\": \"---\\ntitle: 'Attributes With Layout'\\nlayout: 'attributes'\\ntags: ['attributes','with-layout']\\n---\\n\\n# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext JSON.stringify(sortedAttrs,null,'\\\\t')\",\n\t\"tags\": [\n\t\t\"attributes\",\n\t\t\"with-layout\"\n\t],\n\t\"title\": \"Attributes With Layout\",\n\t\"url\": \"/attributes-withlayout.txt\",\n\t\"urls\": [\n\t\t\"/attributes-withlayout.txt\"\n\t],\n\t\"write\": true\n}</article>\n<aside>\n{\n\t\"basename\": \"attributes-withlayout\",\n\t\"body\": \"# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext JSON.stringify(sortedAttrs,null,'\\\\t')\",\n\t\"content\": \"# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext JSON.stringify(sortedAttrs,null,'\\\\t')\",\n\t\"contentRendered\": null,\n\t\"contentRenderedWithoutLayouts\": null,\n\t\"contentType\": \"application/octet-stream\",\n\t\"dynamic\": false,\n\t\"encoding\": \"utf8\",\n\t\"extension\": \"coffee\",\n\t\"extensions\": [\n\t\t\"txt\",\n\t\t\"coffee\"\n\t],\n\t\"filename\": \"attributes-withlayout.txt.coffee\",\n\t\"header\": \"title: 'Attributes With Layout'\\nlayout: 'attributes'\\ntags: ['attributes','with-layout']\",\n\t\"id\": \"attributes-withlayout.txt.coffee\",\n\t\"isDocument\": true,\n\t\"layout\": \"attributes.txt.coffee\",\n\t\"meta\": {\n\t\t\"title\": \"Attributes With Layout\",\n\t\t\"layout\": \"attributes\",\n\t\t\"tags\": [\n\t\t\t\"attributes\",\n\t\t\t\"with-layout\"\n\t\t]\n\t},\n\t\"name\": \"attributes-withlayout.txt\",\n\t\"outContentType\": \"text/plain\",\n\t\"outExtension\": \"txt\",\n\t\"outFilename\": \"attributes-withlayout.txt\",\n\t\"parser\": \"yaml\",\n\t\"referencesOthers\": false,\n\t\"relativeBase\": \"attributes-withlayout\",\n\t\"relativeDirPath\": \"\",\n\t\"relativeOutDirPath\": \"\",\n\t\"relativeOutPath\": \"attributes-withlayout.txt\",\n\t\"relativePath\": \"attributes-withlayout.txt.coffee\",\n\t\"render\": true,\n\t\"renderSingleExtensions\": false,\n\t\"rendered\": false,\n\t\"slug\": \"attributes-withlayout\",\n\t\"source\": \"---\\ntitle: 'Attributes With Layout'\\nlayout: 'attributes'\\ntags: ['attributes','with-layout']\\n---\\n\\n# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext JSON.stringify(sortedAttrs,null,'\\\\t')\",\n\t\"tags\": [\n\t\t\"attributes\",\n\t\t\"with-layout\"\n\t],\n\t\"title\": \"Attributes With Layout\",\n\t\"url\": \"/attributes-withlayout.txt\",\n\t\"urls\": [\n\t\t\"/attributes-withlayout.txt\"\n\t],\n\t\"write\": true\n}</aside>\n",
+ "contentRenderedWithoutLayouts": "{\n\t\"basename\": \"attributes-withlayout\",\n\t\"body\": \"# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext JSON.stringify(sortedAttrs,null,'\\\\t')\",\n\t\"content\": \"# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext JSON.stringify(sortedAttrs,null,'\\\\t')\",\n\t\"contentRendered\": null,\n\t\"contentRenderedWithoutLayouts\": null,\n\t\"contentType\": \"application/octet-stream\",\n\t\"dynamic\": false,\n\t\"encoding\": \"utf8\",\n\t\"extension\": \"coffee\",\n\t\"extensions\": [\n\t\t\"txt\",\n\t\t\"coffee\"\n\t],\n\t\"filename\": \"attributes-withlayout.txt.coffee\",\n\t\"header\": \"title: 'Attributes With Layout'\\nlayout: 'attributes'\\ntags: ['attributes','with-layout']\",\n\t\"id\": \"attributes-withlayout.txt.coffee\",\n\t\"isDocument\": true,\n\t\"layout\": \"attributes.txt.coffee\",\n\t\"meta\": {\n\t\t\"title\": \"Attributes With Layout\",\n\t\t\"layout\": \"attributes\",\n\t\t\"tags\": [\n\t\t\t\"attributes\",\n\t\t\t\"with-layout\"\n\t\t]\n\t},\n\t\"name\": \"attributes-withlayout.txt\",\n\t\"outContentType\": \"text/plain\",\n\t\"outExtension\": \"txt\",\n\t\"outFilename\": \"attributes-withlayout.txt\",\n\t\"parser\": \"yaml\",\n\t\"referencesOthers\": false,\n\t\"relativeBase\": \"attributes-withlayout\",\n\t\"relativeDirPath\": \"\",\n\t\"relativeOutDirPath\": \"\",\n\t\"relativeOutPath\": \"attributes-withlayout.txt\",\n\t\"relativePath\": \"attributes-withlayout.txt.coffee\",\n\t\"render\": true,\n\t\"renderSingleExtensions\": false,\n\t\"rendered\": false,\n\t\"slug\": \"attributes-withlayout\",\n\t\"source\": \"---\\ntitle: 'Attributes With Layout'\\nlayout: 'attributes'\\ntags: ['attributes','with-layout']\\n---\\n\\n# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext JSON.stringify(sortedAttrs,null,'\\\\t')\",\n\t\"tags\": [\n\t\t\"attributes\",\n\t\t\"with-layout\"\n\t],\n\t\"title\": \"Attributes With Layout\",\n\t\"url\": \"/attributes-withlayout.txt\",\n\t\"urls\": [\n\t\t\"/attributes-withlayout.txt\"\n\t],\n\t\"write\": true\n}",
+ "contentType": "application/octet-stream",
+ "dynamic": false,
+ "encoding": "utf8",
+ "extension": "coffee",
+ "extensions": [
+ "txt",
+ "coffee"
+ ],
+ "filename": "attributes-withlayout.txt.coffee",
+ "header": "title: 'Attributes With Layout'\nlayout: 'attributes'\ntags: ['attributes','with-layout']",
+ "id": "attributes-withlayout.txt.coffee",
+ "isDocument": true,
+ "layout": "attributes.txt.coffee",
+ "meta": {
+ "title": "Attributes With Layout",
+ "layout": "attributes",
+ "tags": [
+ "attributes",
+ "with-layout"
+ ]
+ },
+ "name": "attributes-withlayout.txt",
+ "outContentType": "text/plain",
+ "outExtension": "txt",
+ "outFilename": "attributes-withlayout.txt",
+ "parser": "yaml",
+ "referencesOthers": false,
+ "relativeBase": "attributes-withlayout",
+ "relativeDirPath": "",
+ "relativeOutDirPath": "",
+ "relativeOutPath": "attributes-withlayout.txt",
+ "relativePath": "attributes-withlayout.txt.coffee",
+ "render": true,
+ "renderSingleExtensions": false,
+ "rendered": true,
+ "slug": "attributes-withlayout",
+ "source": "---\ntitle: 'Attributes With Layout'\nlayout: 'attributes'\ntags: ['attributes','with-layout']\n---\n\n# Fetch data\nattrs = @getDocument().getAttributes()\n\n# Delete environment specific variables\n# timezone makes the dates impossible\n# path differences make them impossible\n# data is too much output\ndelete attrs.ctime\ndelete attrs.mtime\ndelete attrs.date\ndelete attrs.fullPath\ndelete attrs.fullDirPath\ndelete attrs.outPath\ndelete attrs.outDirPath\ndelete attrs.data\n\n# Sort the attributes\nkeys = []\nkeys.push(key) for own key,value of attrs\nkeys.sort()\nsortedAttrs = {}\nfor key in keys\n sortedAttrs[key] = attrs[key]\n\n# Output data\ntext JSON.stringify(sortedAttrs,null,'\\t')",
+ "tags": [
+ "attributes",
+ "with-layout"
+ ],
+ "title": "Attributes With Layout",
+ "url": "/attributes-withlayout.txt",
+ "urls": [
+ "/attributes-withlayout.txt"
+ ],
+ "write": true
+}</article>
<aside>
-{ basename: 'attributes-withlayout',
- body: '# Fetch data\nattrs = @getDocument().getAttributes()\n\n# Delete environment specific variables\n# timezone makes the dates impossible\n# path differences make them impossible\n# data is too much output\ndelete attrs.ctime\ndelete attrs.mtime\ndelete attrs.date\ndelete attrs.fullPath\ndelete attrs.fullDirPath\ndelete attrs.outPath\ndelete attrs.outDirPath\ndelete attrs.data\n\n# Sort the attributes\nkeys = []\nkeys.push(key) for own key,value of attrs\nkeys.sort()\nsortedAttrs = {}\nfor key in keys\n sortedAttrs[key] = attrs[key]\n\n# Output data\ntext @require(\'util\').inspect(sortedAttrs)',
- content: '# Fetch data\nattrs = @getDocument().getAttributes()\n\n# Delete environment specific variables\n# timezone makes the dates impossible\n# path differences make them impossible\n# data is too much output\ndelete attrs.ctime\ndelete attrs.mtime\ndelete attrs.date\ndelete attrs.fullPath\ndelete attrs.fullDirPath\ndelete attrs.outPath\ndelete attrs.outDirPath\ndelete attrs.data\n\n# Sort the attributes\nkeys = []\nkeys.push(key) for own key,value of attrs\nkeys.sort()\nsortedAttrs = {}\nfor key in keys\n sortedAttrs[key] = attrs[key]\n\n# Output data\ntext @require(\'util\').inspect(sortedAttrs)',
- contentRendered: '<article>\n{ basename: \'attributes-withlayout\',\n body: \'# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext @require(\\\'util\\\').inspect(sortedAttrs)\',\n content: \'# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext @require(\\\'util\\\').inspect(sortedAttrs)\',\n contentRendered: false,\n contentRenderedWithoutLayouts: null,\n contentType: \'application/octet-stream\',\n dynamic: false,\n encoding: \'utf8\',\n extension: \'coffee\',\n extensions: [ \'txt\', \'coffee\' ],\n filename: \'attributes-withlayout.txt.coffee\',\n header: \'title: \\\'Attributes With Layout\\\'\\nlayout: \\\'attributes\\\'\\ntags: [\\\'attributes\\\',\\\'with-layout\\\']\',\n id: \'attributes-withlayout.txt.coffee\',\n isDocument: true,\n layout: \'attributes.txt.coffee\',\n meta: \n { title: \'Attributes With Layout\',\n layout: \'attributes\',\n tags: [ \'attributes\', \'with-layout\' ] },\n name: \'attributes-withlayout.txt\',\n outContentType: \'text/plain\',\n outExtension: \'txt\',\n outFilename: \'attributes-withlayout.txt\',\n parser: \'yaml\',\n referencesOthers: false,\n relativeBase: \'attributes-withlayout\',\n relativeDirPath: \'\',\n relativeOutDirPath: \'\',\n relativeOutPath: \'attributes-withlayout.txt\',\n relativePath: \'attributes-withlayout.txt.coffee\',\n render: true,\n renderSingleExtensions: false,\n rendered: false,\n slug: \'attributes-withlayout\',\n source: \'---\\ntitle: \\\'Attributes With Layout\\\'\\nlayout: \\\'attributes\\\'\\ntags: [\\\'attributes\\\',\\\'with-layout\\\']\\n---\\n\\n# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext @require(\\\'util\\\').inspect(sortedAttrs)\',\n tags: [ \'attributes\', \'with-layout\' ],\n title: \'Attributes With Layout\',\n url: \'/attributes-withlayout.txt\',\n urls: [ \'/attributes-withlayout.txt\' ],\n write: true }</article>\n<aside>\n{ basename: \'attributes-withlayout\',\n body: \'# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext @require(\\\'util\\\').inspect(sortedAttrs)\',\n content: \'# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext @require(\\\'util\\\').inspect(sortedAttrs)\',\n contentRendered: false,\n contentRenderedWithoutLayouts: null,\n contentType: \'application/octet-stream\',\n dynamic: false,\n encoding: \'utf8\',\n extension: \'coffee\',\n extensions: [ \'txt\', \'coffee\' ],\n filename: \'attributes-withlayout.txt.coffee\',\n header: \'title: \\\'Attributes With Layout\\\'\\nlayout: \\\'attributes\\\'\\ntags: [\\\'attributes\\\',\\\'with-layout\\\']\',\n id: \'attributes-withlayout.txt.coffee\',\n isDocument: true,\n layout: \'attributes.txt.coffee\',\n meta: \n { title: \'Attributes With Layout\',\n layout: \'attributes\',\n tags: [ \'attributes\', \'with-layout\' ] },\n name: \'attributes-withlayout.txt\',\n outContentType: \'text/plain\',\n outExtension: \'txt\',\n outFilename: \'attributes-withlayout.txt\',\n parser: \'yaml\',\n referencesOthers: false,\n relativeBase: \'attributes-withlayout\',\n relativeDirPath: \'\',\n relativeOutDirPath: \'\',\n relativeOutPath: \'attributes-withlayout.txt\',\n relativePath: \'attributes-withlayout.txt.coffee\',\n render: true,\n renderSingleExtensions: false,\n rendered: false,\n slug: \'attributes-withlayout\',\n source: \'---\\ntitle: \\\'Attributes With Layout\\\'\\nlayout: \\\'attributes\\\'\\ntags: [\\\'attributes\\\',\\\'with-layout\\\']\\n---\\n\\n# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext @require(\\\'util\\\').inspect(sortedAttrs)\',\n tags: [ \'attributes\', \'with-layout\' ],\n title: \'Attributes With Layout\',\n url: \'/attributes-withlayout.txt\',\n urls: [ \'/attributes-withlayout.txt\' ],\n write: true }</aside>\n',
- contentRenderedWithoutLayouts: '{ basename: \'attributes-withlayout\',\n body: \'# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext @require(\\\'util\\\').inspect(sortedAttrs)\',\n content: \'# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext @require(\\\'util\\\').inspect(sortedAttrs)\',\n contentRendered: false,\n contentRenderedWithoutLayouts: null,\n contentType: \'application/octet-stream\',\n dynamic: false,\n encoding: \'utf8\',\n extension: \'coffee\',\n extensions: [ \'txt\', \'coffee\' ],\n filename: \'attributes-withlayout.txt.coffee\',\n header: \'title: \\\'Attributes With Layout\\\'\\nlayout: \\\'attributes\\\'\\ntags: [\\\'attributes\\\',\\\'with-layout\\\']\',\n id: \'attributes-withlayout.txt.coffee\',\n isDocument: true,\n layout: \'attributes.txt.coffee\',\n meta: \n { title: \'Attributes With Layout\',\n layout: \'attributes\',\n tags: [ \'attributes\', \'with-layout\' ] },\n name: \'attributes-withlayout.txt\',\n outContentType: \'text/plain\',\n outExtension: \'txt\',\n outFilename: \'attributes-withlayout.txt\',\n parser: \'yaml\',\n referencesOthers: false,\n relativeBase: \'attributes-withlayout\',\n relativeDirPath: \'\',\n relativeOutDirPath: \'\',\n relativeOutPath: \'attributes-withlayout.txt\',\n relativePath: \'attributes-withlayout.txt.coffee\',\n render: true,\n renderSingleExtensions: false,\n rendered: false,\n slug: \'attributes-withlayout\',\n source: \'---\\ntitle: \\\'Attributes With Layout\\\'\\nlayout: \\\'attributes\\\'\\ntags: [\\\'attributes\\\',\\\'with-layout\\\']\\n---\\n\\n# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext @require(\\\'util\\\').inspect(sortedAttrs)\',\n tags: [ \'attributes\', \'with-layout\' ],\n title: \'Attributes With Layout\',\n url: \'/attributes-withlayout.txt\',\n urls: [ \'/attributes-withlayout.txt\' ],\n write: true }',
- contentType: 'application/octet-stream',
- dynamic: false,
- encoding: 'utf8',
- extension: 'coffee',
- extensions: [ 'txt', 'coffee' ],
- filename: 'attributes-withlayout.txt.coffee',
- header: 'title: \'Attributes With Layout\'\nlayout: \'attributes\'\ntags: [\'attributes\',\'with-layout\']',
- id: 'attributes-withlayout.txt.coffee',
- isDocument: true,
- layout: 'attributes.txt.coffee',
- meta:
- { title: 'Attributes With Layout',
- layout: 'attributes',
- tags: [ 'attributes', 'with-layout' ] },
- name: 'attributes-withlayout.txt',
- outContentType: 'text/plain',
- outExtension: 'txt',
- outFilename: 'attributes-withlayout.txt',
- parser: 'yaml',
- referencesOthers: false,
- relativeBase: 'attributes-withlayout',
- relativeDirPath: '',
- relativeOutDirPath: '',
- relativeOutPath: 'attributes-withlayout.txt',
- relativePath: 'attributes-withlayout.txt.coffee',
- render: true,
- renderSingleExtensions: false,
- rendered: true,
- slug: 'attributes-withlayout',
- source: '---\ntitle: \'Attributes With Layout\'\nlayout: \'attributes\'\ntags: [\'attributes\',\'with-layout\']\n---\n\n# Fetch data\nattrs = @getDocument().getAttributes()\n\n# Delete environment specific variables\n# timezone makes the dates impossible\n# path differences make them impossible\n# data is too much output\ndelete attrs.ctime\ndelete attrs.mtime\ndelete attrs.date\ndelete attrs.fullPath\ndelete attrs.fullDirPath\ndelete attrs.outPath\ndelete attrs.outDirPath\ndelete attrs.data\n\n# Sort the attributes\nkeys = []\nkeys.push(key) for own key,value of attrs\nkeys.sort()\nsortedAttrs = {}\nfor key in keys\n sortedAttrs[key] = attrs[key]\n\n# Output data\ntext @require(\'util\').inspect(sortedAttrs)',
- tags: [ 'attributes', 'with-layout' ],
- title: 'Attributes With Layout',
- url: '/attributes-withlayout.txt',
- urls: [ '/attributes-withlayout.txt' ],
- write: true }</aside>
+{
+ "basename": "attributes-withlayout",
+ "body": "# Fetch data\nattrs = @getDocument().getAttributes()\n\n# Delete environment specific variables\n# timezone makes the dates impossible\n# path differences make them impossible\n# data is too much output\ndelete attrs.ctime\ndelete attrs.mtime\ndelete attrs.date\ndelete attrs.fullPath\ndelete attrs.fullDirPath\ndelete attrs.outPath\ndelete attrs.outDirPath\ndelete attrs.data\n\n# Sort the attributes\nkeys = []\nkeys.push(key) for own key,value of attrs\nkeys.sort()\nsortedAttrs = {}\nfor key in keys\n sortedAttrs[key] = attrs[key]\n\n# Output data\ntext JSON.stringify(sortedAttrs,null,'\\t')",
+ "content": "# Fetch data\nattrs = @getDocument().getAttributes()\n\n# Delete environment specific variables\n# timezone makes the dates impossible\n# path differences make them impossible\n# data is too much output\ndelete attrs.ctime\ndelete attrs.mtime\ndelete attrs.date\ndelete attrs.fullPath\ndelete attrs.fullDirPath\ndelete attrs.outPath\ndelete attrs.outDirPath\ndelete attrs.data\n\n# Sort the attributes\nkeys = []\nkeys.push(key) for own key,value of attrs\nkeys.sort()\nsortedAttrs = {}\nfor key in keys\n sortedAttrs[key] = attrs[key]\n\n# Output data\ntext JSON.stringify(sortedAttrs,null,'\\t')",
+ "contentRendered": "<article>\n{\n\t\"basename\": \"attributes-withlayout\",\n\t\"body\": \"# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext JSON.stringify(sortedAttrs,null,'\\\\t')\",\n\t\"content\": \"# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext JSON.stringify(sortedAttrs,null,'\\\\t')\",\n\t\"contentRendered\": null,\n\t\"contentRenderedWithoutLayouts\": null,\n\t\"contentType\": \"application/octet-stream\",\n\t\"dynamic\": false,\n\t\"encoding\": \"utf8\",\n\t\"extension\": \"coffee\",\n\t\"extensions\": [\n\t\t\"txt\",\n\t\t\"coffee\"\n\t],\n\t\"filename\": \"attributes-withlayout.txt.coffee\",\n\t\"header\": \"title: 'Attributes With Layout'\\nlayout: 'attributes'\\ntags: ['attributes','with-layout']\",\n\t\"id\": \"attributes-withlayout.txt.coffee\",\n\t\"isDocument\": true,\n\t\"layout\": \"attributes.txt.coffee\",\n\t\"meta\": {\n\t\t\"title\": \"Attributes With Layout\",\n\t\t\"layout\": \"attributes\",\n\t\t\"tags\": [\n\t\t\t\"attributes\",\n\t\t\t\"with-layout\"\n\t\t]\n\t},\n\t\"name\": \"attributes-withlayout.txt\",\n\t\"outContentType\": \"text/plain\",\n\t\"outExtension\": \"txt\",\n\t\"outFilename\": \"attributes-withlayout.txt\",\n\t\"parser\": \"yaml\",\n\t\"referencesOthers\": false,\n\t\"relativeBase\": \"attributes-withlayout\",\n\t\"relativeDirPath\": \"\",\n\t\"relativeOutDirPath\": \"\",\n\t\"relativeOutPath\": \"attributes-withlayout.txt\",\n\t\"relativePath\": \"attributes-withlayout.txt.coffee\",\n\t\"render\": true,\n\t\"renderSingleExtensions\": false,\n\t\"rendered\": false,\n\t\"slug\": \"attributes-withlayout\",\n\t\"source\": \"---\\ntitle: 'Attributes With Layout'\\nlayout: 'attributes'\\ntags: ['attributes','with-layout']\\n---\\n\\n# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext JSON.stringify(sortedAttrs,null,'\\\\t')\",\n\t\"tags\": [\n\t\t\"attributes\",\n\t\t\"with-layout\"\n\t],\n\t\"title\": \"Attributes With Layout\",\n\t\"url\": \"/attributes-withlayout.txt\",\n\t\"urls\": [\n\t\t\"/attributes-withlayout.txt\"\n\t],\n\t\"write\": true\n}</article>\n<aside>\n{\n\t\"basename\": \"attributes-withlayout\",\n\t\"body\": \"# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext JSON.stringify(sortedAttrs,null,'\\\\t')\",\n\t\"content\": \"# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext JSON.stringify(sortedAttrs,null,'\\\\t')\",\n\t\"contentRendered\": null,\n\t\"contentRenderedWithoutLayouts\": null,\n\t\"contentType\": \"application/octet-stream\",\n\t\"dynamic\": false,\n\t\"encoding\": \"utf8\",\n\t\"extension\": \"coffee\",\n\t\"extensions\": [\n\t\t\"txt\",\n\t\t\"coffee\"\n\t],\n\t\"filename\": \"attributes-withlayout.txt.coffee\",\n\t\"header\": \"title: 'Attributes With Layout'\\nlayout: 'attributes'\\ntags: ['attributes','with-layout']\",\n\t\"id\": \"attributes-withlayout.txt.coffee\",\n\t\"isDocument\": true,\n\t\"layout\": \"attributes.txt.coffee\",\n\t\"meta\": {\n\t\t\"title\": \"Attributes With Layout\",\n\t\t\"layout\": \"attributes\",\n\t\t\"tags\": [\n\t\t\t\"attributes\",\n\t\t\t\"with-layout\"\n\t\t]\n\t},\n\t\"name\": \"attributes-withlayout.txt\",\n\t\"outContentType\": \"text/plain\",\n\t\"outExtension\": \"txt\",\n\t\"outFilename\": \"attributes-withlayout.txt\",\n\t\"parser\": \"yaml\",\n\t\"referencesOthers\": false,\n\t\"relativeBase\": \"attributes-withlayout\",\n\t\"relativeDirPath\": \"\",\n\t\"relativeOutDirPath\": \"\",\n\t\"relativeOutPath\": \"attributes-withlayout.txt\",\n\t\"relativePath\": \"attributes-withlayout.txt.coffee\",\n\t\"render\": true,\n\t\"renderSingleExtensions\": false,\n\t\"rendered\": false,\n\t\"slug\": \"attributes-withlayout\",\n\t\"source\": \"---\\ntitle: 'Attributes With Layout'\\nlayout: 'attributes'\\ntags: ['attributes','with-layout']\\n---\\n\\n# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext JSON.stringify(sortedAttrs,null,'\\\\t')\",\n\t\"tags\": [\n\t\t\"attributes\",\n\t\t\"with-layout\"\n\t],\n\t\"title\": \"Attributes With Layout\",\n\t\"url\": \"/attributes-withlayout.txt\",\n\t\"urls\": [\n\t\t\"/attributes-withlayout.txt\"\n\t],\n\t\"write\": true\n}</aside>\n",
+ "contentRenderedWithoutLayouts": "{\n\t\"basename\": \"attributes-withlayout\",\n\t\"body\": \"# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext JSON.stringify(sortedAttrs,null,'\\\\t')\",\n\t\"content\": \"# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext JSON.stringify(sortedAttrs,null,'\\\\t')\",\n\t\"contentRendered\": null,\n\t\"contentRenderedWithoutLayouts\": null,\n\t\"contentType\": \"application/octet-stream\",\n\t\"dynamic\": false,\n\t\"encoding\": \"utf8\",\n\t\"extension\": \"coffee\",\n\t\"extensions\": [\n\t\t\"txt\",\n\t\t\"coffee\"\n\t],\n\t\"filename\": \"attributes-withlayout.txt.coffee\",\n\t\"header\": \"title: 'Attributes With Layout'\\nlayout: 'attributes'\\ntags: ['attributes','with-layout']\",\n\t\"id\": \"attributes-withlayout.txt.coffee\",\n\t\"isDocument\": true,\n\t\"layout\": \"attributes.txt.coffee\",\n\t\"meta\": {\n\t\t\"title\": \"Attributes With Layout\",\n\t\t\"layout\": \"attributes\",\n\t\t\"tags\": [\n\t\t\t\"attributes\",\n\t\t\t\"with-layout\"\n\t\t]\n\t},\n\t\"name\": \"attributes-withlayout.txt\",\n\t\"outContentType\": \"text/plain\",\n\t\"outExtension\": \"txt\",\n\t\"outFilename\": \"attributes-withlayout.txt\",\n\t\"parser\": \"yaml\",\n\t\"referencesOthers\": false,\n\t\"relativeBase\": \"attributes-withlayout\",\n\t\"relativeDirPath\": \"\",\n\t\"relativeOutDirPath\": \"\",\n\t\"relativeOutPath\": \"attributes-withlayout.txt\",\n\t\"relativePath\": \"attributes-withlayout.txt.coffee\",\n\t\"render\": true,\n\t\"renderSingleExtensions\": false,\n\t\"rendered\": false,\n\t\"slug\": \"attributes-withlayout\",\n\t\"source\": \"---\\ntitle: 'Attributes With Layout'\\nlayout: 'attributes'\\ntags: ['attributes','with-layout']\\n---\\n\\n# Fetch data\\nattrs = @getDocument().getAttributes()\\n\\n# Delete environment specific variables\\n# timezone makes the dates impossible\\n# path differences make them impossible\\n# data is too much output\\ndelete attrs.ctime\\ndelete attrs.mtime\\ndelete attrs.date\\ndelete attrs.fullPath\\ndelete attrs.fullDirPath\\ndelete attrs.outPath\\ndelete attrs.outDirPath\\ndelete attrs.data\\n\\n# Sort the attributes\\nkeys = []\\nkeys.push(key) for own key,value of attrs\\nkeys.sort()\\nsortedAttrs = {}\\nfor key in keys\\n sortedAttrs[key] = attrs[key]\\n\\n# Output data\\ntext JSON.stringify(sortedAttrs,null,'\\\\t')\",\n\t\"tags\": [\n\t\t\"attributes\",\n\t\t\"with-layout\"\n\t],\n\t\"title\": \"Attributes With Layout\",\n\t\"url\": \"/attributes-withlayout.txt\",\n\t\"urls\": [\n\t\t\"/attributes-withlayout.txt\"\n\t],\n\t\"write\": true\n}",
+ "contentType": "application/octet-stream",
+ "dynamic": false,
+ "encoding": "utf8",
+ "extension": "coffee",
+ "extensions": [
+ "txt",
+ "coffee"
+ ],
+ "filename": "attributes-withlayout.txt.coffee",
+ "header": "title: 'Attributes With Layout'\nlayout: 'attributes'\ntags: ['attributes','with-layout']",
+ "id": "attributes-withlayout.txt.coffee",
+ "isDocument": true,
+ "layout": "attributes.txt.coffee",
+ "meta": {
+ "title": "Attributes With Layout",
+ "layout": "attributes",
+ "tags": [
+ "attributes",
+ "with-layout"
+ ]
+ },
+ "name": "attributes-withlayout.txt",
+ "outContentType": "text/plain",
+ "outExtension": "txt",
+ "outFilename": "attributes-withlayout.txt",
+ "parser": "yaml",
+ "referencesOthers": false,
+ "relativeBase": "attributes-withlayout",
+ "relativeDirPath": "",
+ "relativeOutDirPath": "",
+ "relativeOutPath": "attributes-withlayout.txt",
+ "relativePath": "attributes-withlayout.txt.coffee",
+ "render": true,
+ "renderSingleExtensions": false,
+ "rendered": true,
+ "slug": "attributes-withlayout",
+ "source": "---\ntitle: 'Attributes With Layout'\nlayout: 'attributes'\ntags: ['attributes','with-layout']\n---\n\n# Fetch data\nattrs = @getDocument().getAttributes()\n\n# Delete environment specific variables\n# timezone makes the dates impossible\n# path differences make them impossible\n# data is too much output\ndelete attrs.ctime\ndelete attrs.mtime\ndelete attrs.date\ndelete attrs.fullPath\ndelete attrs.fullDirPath\ndelete attrs.outPath\ndelete attrs.outDirPath\ndelete attrs.data\n\n# Sort the attributes\nkeys = []\nkeys.push(key) for own key,value of attrs\nkeys.sort()\nsortedAttrs = {}\nfor key in keys\n sortedAttrs[key] = attrs[key]\n\n# Output data\ntext JSON.stringify(sortedAttrs,null,'\\t')",
+ "tags": [
+ "attributes",
+ "with-layout"
+ ],
+ "title": "Attributes With Layout",
+ "url": "/attributes-withlayout.txt",
+ "urls": [
+ "/attributes-withlayout.txt"
+ ],
+ "write": true
+}</aside>
View
2  test/src/documents/attributes-nolayout.txt.coffee
@@ -28,4 +28,4 @@ for key in keys
sortedAttrs[key] = attrs[key]
# Output data
-text @require('util').inspect(sortedAttrs)
+text JSON.stringify(sortedAttrs,null,'\t')
View
2  test/src/documents/attributes-withlayout.txt.coffee
@@ -29,4 +29,4 @@ for key in keys
sortedAttrs[key] = attrs[key]
# Output data
-text @require('util').inspect(sortedAttrs)
+text JSON.stringify(sortedAttrs,null,'\t')
View
2  test/src/layouts/attributes.txt.coffee
@@ -33,4 +33,4 @@ aside =>
sortedAttrs[key] = attrs[key]
# Output data
- text @require('util').inspect(sortedAttrs)
+ text JSON.stringify(sortedAttrs,null,'\t')
Please sign in to comment.
Something went wrong with that request. Please try again.