@tenjuu99/blog 0.2.42 → 0.2.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/pageData.js CHANGED
@@ -44,12 +44,23 @@ const parse = (content, name, ext) => {
44
44
  metaDataDefault.full_url = fullUrl(metaDataDefault)
45
45
  return metaDataDefault
46
46
  }
47
- const metaData = Object.fromEntries(
48
- matched.groups.variables.split('\n').filter(line => line.includes(':'))
49
- .map(line => {
50
- const index = line.indexOf(':')
51
- const key = line.slice(0, index)
52
- let value = line.slice(index + 1).trim()
47
+ const metaData = parseMetaData(matched.groups.variables)
48
+ const metaDataMerged = Object.assign(metaDataDefault, metaData)
49
+ metaDataMerged.full_url = fullUrl(metaDataMerged)
50
+ metaDataMerged['__output'] = name === 'index' ? '/index.html' : `${metaDataMerged.url}.${metaDataMerged.ext}`
51
+
52
+ return metaDataMerged
53
+ }
54
+
55
+ const parseMetaData = (data) => {
56
+ const metaData = {}
57
+ let isStringContinue = false
58
+ let key, value
59
+ for (const line of data.split('\n')) {
60
+ const match = line.match(/^([a-zA-Z_]+):/)
61
+ if (match) {
62
+ key = match[1]
63
+ value = line.slice(line.indexOf(':') + 1).trim()
53
64
  if (value === 'true' || value === 'false') {
54
65
  value = JSON.parse(value)
55
66
  } else {
@@ -58,14 +69,19 @@ const parse = (content, name, ext) => {
58
69
  eval(`value = config.${envName}`)
59
70
  }
60
71
  }
61
- return [key, value]
62
- })
63
- )
64
- const metaDataMerged = Object.assign(metaDataDefault, metaData)
65
- metaDataMerged.full_url = fullUrl(metaDataMerged)
66
- metaDataMerged['__output'] = name === 'index' ? '/index.html' : `${metaDataMerged.url}.${metaDataMerged.ext}`
67
-
68
- return metaDataMerged
72
+ metaData[key] = value
73
+ if (typeof value === 'string' && value.indexOf('"') === 0) {
74
+ isStringContinue = true
75
+ }
76
+ } else if (key && isStringContinue) {
77
+ metaData[key] = `${metaData[key]}\n${line}`
78
+ if (line.trim().match(/"$/)) {
79
+ isStringContinue = false
80
+ metaData[key] = metaData[key].replace('"', '')
81
+ }
82
+ }
83
+ }
84
+ return metaData
69
85
  }
70
86
 
71
87
  export default makePageData
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tenjuu99/blog",
3
- "version": "0.2.42",
3
+ "version": "0.2.44",
4
4
  "description": "blog template",
5
5
  "main": "index.js",
6
6
  "scripts": {
File without changes