Skip to content
Permalink
Browse files

Merge branch 'master' into md-metadata

  • Loading branch information
ralsina committed May 29, 2017
2 parents 2e4169b + 574621f commit 221d40c996247cc759c3b9be8affd740944dab76
Showing with 22 additions and 1 deletion.
  1. +1 −1 CHANGES.txt
  2. +11 −0 docs/manual.txt
  3. +10 −0 nikola/post.py
@@ -6,7 +6,7 @@ Features

* Support for Markdown Meta extension for Pelican
compatibility (Issue #1923)
* Support for YAML and TOML metadata (Issue #2801)
* Support for JSON, YAML and TOML metadata (Issue #2801)

New in v7.8.6
=============
@@ -312,6 +312,17 @@ TOML metadata should be wrapped by a "+++" separator and in that case, the usual
date = "2012-09-15 19:52:05 UTC"
+++

JSON metadata is wrapped in braces and the usual JSON syntax applies. Be careful not to leave any
braces alone in a line other than the last one:

.. code:: json

{
title: "How to make money"
slug: "how-to-make-money"
date: "2012-09-15 19:52:05 UTC"
}


Basic
`````
@@ -1053,6 +1053,16 @@ def _get_metadata_from_file(meta_data):
meta = toml.load('\n'.join(meta_data[1:idx]))
return meta

# If 1st line is '{', then it's JSON metadata
if meta_data[0] == '{':
idx = meta_data.index('}', 1)
meta = json.loads('\n'.join(meta_data[1:idx]))
# We expect empty metadata to be '', not None
for k in meta:
if meta[k] is None:
meta[k] = ''
return meta

# First, get metadata from the beginning of the file,
# up to first empty line

0 comments on commit 221d40c

Please sign in to comment.