diff --git a/build/_post-template.js b/build/_post-template.js new file mode 100644 index 0000000..07e8cf8 --- /dev/null +++ b/build/_post-template.js @@ -0,0 +1,14 @@ + +module.exports = exports = ({ id, date }) => `--- +id: "${id}" +date: "${date.toISOString()}" +tags: + - Transgender +tweets: + +--- +{!{
{{import '~/tweet' ids=(array + 'TWEETGOESHERE' +) tweets=meta.tweets className="oneblock" }}
}!} + +`; diff --git a/build/new-post.js b/build/new-post.js new file mode 100644 index 0000000..7ddb891 --- /dev/null +++ b/build/new-post.js @@ -0,0 +1,38 @@ + +const argv = require('minimist')(process.argv.slice(2)); +const format = require('date-fns/format'); +const parse = require('date-fns/parse'); +const random = require('./lib/random'); +const path = require('path'); +const fs = require('fs-extra'); +const log = require('fancy-log'); +const template = require('./_post-template'); +const { resolve } = require('./resolve'); + +module.exports = exports = async function newPost () { + var date = argv.date ? parse(argv.date, 'yyyy-MM-dd', new Date()) : new Date(); + + if (!date.getHours()) { + const now = new Date(); + date.setHours(now.getHours()); + date.setMinutes(now.getMinutes()); + } + + // console.log(date);return; + var id = random.id().substr(-10).toUpperCase(); + var fname = format(date, 'yyyy-MM-dd.HHmm.') + id; + + var target = resolve('posts', fname); + var contents = template({ id, date }); + + if (argv.folder === undefined) { + target += '.md'; + } else { + await fs.ensureDir(target); + target += path.join(target, 'index.md'); + } + + await fs.writeFile(target, contents); + + log('Created new post at posts/' + fname); +}; diff --git a/gulp/index.js b/gulp/index.js index b1f1250..c188b17 100644 --- a/gulp/index.js +++ b/gulp/index.js @@ -17,6 +17,8 @@ exports.push = pushToProd; const cloudfront = require('./cloudfront'); exports.cloudfront = cloudfront; +exports.new = require('../build/new-post.js'); + /** **************************************************************************************************************** **/ exports.dev = series(devBuildTask);