Skip to content

Commit 60e4832

Browse files
author
Taylor Griffith
committed
media folder
1 parent 593a766 commit 60e4832

File tree

5 files changed

+68
-26
lines changed

5 files changed

+68
-26
lines changed

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,11 @@
1414
"gray-matter": "^3.1.1",
1515
"klaw": "^2.1.1",
1616
"marked": "^0.3.12",
17+
"moment": "^2.20.1",
1718
"react": "^16.0.0",
1819
"react-dom": "^16.0.0",
1920
"react-hot-loader": "^4.0.0-beta.21",
21+
"react-moment": "^0.7.0",
2022
"react-router": "^4.2.0",
2123
"react-static": "^5.1.10"
2224
},

public/admin/config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ backend:
22
name: git-gateway
33
branch: master # Branch to update (optional; defaults to master)
44

5-
media_folder: "src/images/uploads" # Media files will be stored in the repo under images/uploads
5+
media_folder: "public/images/uploads" # Media files will be stored in the repo under public/images/uploads
66

77
collections:
88
- name: "blog" # Used in routes, e.g., /admin/collections/blog

src/containers/Post.js

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,20 @@
11
import React from 'react'
22
import { withRouteData, Link } from 'react-static'
3+
import Moment from 'react-moment';
34
//
45

5-
export default withRouteData(({ post }) => (
6-
<div>
7-
<Link to="/blog/">{'<'} Back</Link>
8-
<br />
9-
{/* <h3>{post.data.title}</h3> */}
10-
{/* <p>{post.content}</p> */}
11-
</div>
12-
))
6+
export default withRouteData(({ post }) => {
7+
// var image = require(`${post.data.thumbnail}`)
8+
// ../images/uploads/image.jpg
9+
return (
10+
<div>
11+
{console.log(`${post.data.thumbnail}`)}
12+
<Link to="/blog/">{'<'} Back</Link>
13+
<br />
14+
<h3>{post.data.title}</h3>
15+
<Moment format="MMMM Do, YYYY">{post.data.date}</Moment>
16+
<img src={require(`${post.data.thumbnail}`)} alt="" />
17+
<p dangerouslySetInnerHTML={{ __html: post.content }}></p>
18+
</div>
19+
)
20+
})

static.config.js

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,38 +4,40 @@ const klaw = require('klaw')
44
const marked = require('marked');
55
const path = require('path')
66
const matter = require('gray-matter');
7+
const moment = require('moment');
78

9+
function getPosts() {
10+
const items = []
811

9-
// Walk ("klaw") through posts directory and push file paths into posts array //
10-
11-
// Filter function to retrieve .md files //
12+
// Filter function to retrieve .md files //
1213

14+
let filterFn = function (item) {
15+
return path.extname(item) === ".md";
16+
}
1317

14-
function getPosts() {
15-
const items = []
16-
17-
let filterFn = function (item) {
18-
return path.extname(item) === ".md";
19-
}
18+
// Walk ("klaw") through posts directory and push file paths into posts array //
2019

21-
return new Promise(resolve => { klaw('./src/posts')
20+
return new Promise(resolve => {
21+
klaw('./src/posts')
2222
.on('data', item => {
2323
if (filterFn(item.path)) {
2424
// If markdown file, read contents //
2525
let data = fs.readFileSync(item.path, 'utf8')
2626
// Convert to frontmatter object and markdown content //
2727
let dataObj = matter(data)
2828
dataObj.content = marked(dataObj.content)
29-
// Create slug for URL //
29+
// Create slug for URL, date and title //
3030
dataObj.data.slug = dataObj.data.title.toLowerCase().replace(/ /g, '-').replace(/[^\w-]+/g, '')
31+
dataObj.data.thumbnail = dataObj.data.thumbnail.replace('/src', '..')
32+
// console.log(dataObj)
3133
items.push(dataObj)
3234
}
3335
})
3436
.on('end', () => {
35-
resolve(items)
37+
resolve(items)
3638
})
37-
})
38-
}
39+
})
40+
}
3941

4042

4143

@@ -48,7 +50,6 @@ export default {
4850
getRoutes: async () => {
4951

5052
var posts = await getPosts()
51-
console.log(posts)
5253

5354
return [
5455
{

yarn.lock

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3476,14 +3476,23 @@ got@^6.3.0, got@^6.7.1:
34763476
unzip-response "^2.0.1"
34773477
url-parse-lax "^1.0.0"
34783478

3479-
graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.4, graceful-fs@^4.1.6:
3479+
graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.4, graceful-fs@^4.1.6, graceful-fs@^4.1.9:
34803480
version "4.1.11"
34813481
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
34823482

34833483
"graceful-readlink@>= 1.0.0":
34843484
version "1.0.1"
34853485
resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725"
34863486

3487+
gray-matter@^3.1.1:
3488+
version "3.1.1"
3489+
resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-3.1.1.tgz#101f80d9e69eeca6765cdce437705b18f40876ac"
3490+
dependencies:
3491+
extend-shallow "^2.0.1"
3492+
js-yaml "^3.10.0"
3493+
kind-of "^5.0.2"
3494+
strip-bom-string "^1.0.0"
3495+
34873496
gzip-size@3.0.0:
34883497
version "3.0.0"
34893498
resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-3.0.0.tgz#546188e9bdc337f673772f81660464b389dce520"
@@ -4265,7 +4274,7 @@ js-tokens@^3.0.0, js-tokens@^3.0.2:
42654274
version "3.0.2"
42664275
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
42674276

4268-
js-yaml@^3.4.3, js-yaml@^3.5.1, js-yaml@^3.9.1:
4277+
js-yaml@^3.10.0, js-yaml@^3.4.3, js-yaml@^3.5.1, js-yaml@^3.9.1:
42694278
version "3.10.0"
42704279
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.10.0.tgz#2e78441646bd4682e963f22b6e92823c309c62dc"
42714280
dependencies:
@@ -4378,6 +4387,12 @@ kind-of@^6.0.0, kind-of@^6.0.2:
43784387
version "6.0.2"
43794388
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051"
43804389

4390+
klaw@^2.1.1:
4391+
version "2.1.1"
4392+
resolved "https://registry.yarnpkg.com/klaw/-/klaw-2.1.1.tgz#42b76894701169cc910fd0d19ce677b5fb378af1"
4393+
dependencies:
4394+
graceful-fs "^4.1.9"
4395+
43814396
latest-version@^3.0.0:
43824397
version "3.1.0"
43834398
resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15"
@@ -4550,6 +4565,10 @@ map-visit@^1.0.0:
45504565
dependencies:
45514566
object-visit "^1.0.0"
45524567

4568+
marked@^0.3.12:
4569+
version "0.3.14"
4570+
resolved "https://registry.yarnpkg.com/marked/-/marked-0.3.14.tgz#42375c23e206b95fdd497dd1d2f33ae4d1cf3d6c"
4571+
45534572
match-sorter@^2.0.2:
45544573
version "2.2.0"
45554574
resolved "https://registry.yarnpkg.com/match-sorter/-/match-sorter-2.2.0.tgz#3e88661aab7b8320836f67731cf7f9d3cb889761"
@@ -4742,6 +4761,10 @@ mkdirp@0.5.x, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0, mkd
47424761
dependencies:
47434762
minimist "0.0.8"
47444763

4764+
moment@^2.20.1:
4765+
version "2.20.1"
4766+
resolved "https://registry.yarnpkg.com/moment/-/moment-2.20.1.tgz#d6eb1a46cbcc14a2b2f9434112c1ff8907f313fd"
4767+
47454768
mri@1.1.0:
47464769
version "1.1.0"
47474770
resolved "https://registry.yarnpkg.com/mri/-/mri-1.1.0.tgz#5c0a3f29c8ccffbbb1ec941dcec09d71fa32f36a"
@@ -5869,6 +5892,10 @@ react-hot-loader@^4.0.0-beta.21:
58695892
prop-types "^15.6.0"
58705893
shallowequal "^1.0.2"
58715894

5895+
react-moment@^0.7.0:
5896+
version "0.7.0"
5897+
resolved "https://registry.yarnpkg.com/react-moment/-/react-moment-0.7.0.tgz#9ccb5c87be683d08c253b48469167443f09c3d89"
5898+
58725899
react-router-dom@^4.2.2:
58735900
version "4.2.2"
58745901
resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-4.2.2.tgz#c8a81df3adc58bba8a76782e946cbd4eae649b8d"
@@ -6790,6 +6817,10 @@ strip-ansi@^4.0.0:
67906817
dependencies:
67916818
ansi-regex "^3.0.0"
67926819

6820+
strip-bom-string@^1.0.0:
6821+
version "1.0.0"
6822+
resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92"
6823+
67936824
strip-bom@^2.0.0:
67946825
version "2.0.0"
67956826
resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"

0 commit comments

Comments
 (0)