├── netlify.toml ├── markdown ├── index.md ├── 404.md ├── about.md ├── articles │ ├── second.md │ └── markdown-tutorial.md └── privacy-policy.md ├── src ├── static │ ├── robots.txt │ ├── favicon-48x48.png │ ├── uploads │ │ ├── image.jpg │ │ ├── image.webp │ │ ├── image2.jpg │ │ ├── image3.jpg │ │ ├── image2.webp │ │ └── image3.webp │ └── admin │ │ ├── index.html │ │ └── config.yml ├── index.html ├── templates │ ├── missing.vue │ ├── home.vue │ ├── index.vue │ ├── page.vue │ └── post.vue ├── partials │ ├── foot.vue │ ├── comment.vue │ └── navigation.vue ├── js │ └── index.js └── css │ └── index.styl ├── .editorconfig ├── the-magic ├── build │ ├── get-time.js │ ├── webpack.client.config.js │ ├── webpack.server.config.js │ ├── folders.js │ ├── gulpfile.js │ ├── optimize-images.js │ ├── setup-dev-server.js │ ├── webpack.base.config.js │ ├── build.js │ ├── server.js │ └── render-markdown.js └── boot │ ├── async-data.js │ ├── store-reconciliation.js │ ├── meta-tags.js │ ├── index.js │ ├── router.js │ ├── entry-server.js │ ├── facebook-social.js │ └── analytics.js ├── .npmignore ├── LICENSE ├── .gitignore ├── package.json ├── site.config.js └── README.md /netlify.toml: -------------------------------------------------------------------------------- 1 | [build] 2 | publish = "dist" 3 | command = "yarn build" -------------------------------------------------------------------------------- /markdown/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'Home Page' 3 | --- 4 |
Try finding a link on the home page
-------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # Matches multiple files with brace expansion notation 2 | [*.{js,html,sass,stylus,styl,vue}] 3 | charset = utf-8 4 | indent_style = tab 5 | indent_size = 2 6 | trim_trailing_whitespace = true -------------------------------------------------------------------------------- /markdown/about.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'About Me' 3 | --- 4 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Nisi tempora fugiat maiores pariatur omnis blanditiis impedit id a molestiae recusandae quas adipisci voluptates, culpa, quaerat saepe, deleniti labore ex esse. -------------------------------------------------------------------------------- /src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /the-magic/build/get-time.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Prints the current time in ISO format for use in setting the date in your markdown articles 3 | * --- 4 | * created: "2019-06-24T13:29:45.280Z" 5 | * --- 6 | */ 7 | 8 | console.log(`\nThe current time is:`) 9 | console.log(new Date().toISOString()) 10 | console.log('\n') -------------------------------------------------------------------------------- /src/templates/missing.vue: -------------------------------------------------------------------------------- 1 | 2 | main.post-content.page 3 | div.post-body.post-body-and-feedback(v-html="file.html") 4 | 5 | 6 | -------------------------------------------------------------------------------- /src/partials/foot.vue: -------------------------------------------------------------------------------- 1 | 2 | footer.site-footer 3 | | © 4 | | #[time(:datetime="year") {{year}}] 5 | | #[address #[router-link(to="/about" rel="author") {{author}}]] 6 | | {{site_title}} 7 | 8 | 9 | -------------------------------------------------------------------------------- /the-magic/build/webpack.client.config.js: -------------------------------------------------------------------------------- 1 | const webpack = require('webpack') 2 | const merge = require('webpack-merge') 3 | const base = require('./webpack.base.config') 4 | const VueSSRClientPlugin = require('vue-server-renderer/client-plugin') 5 | const folders = require('./folders.js') 6 | 7 | const config = merge(base, { 8 | entry: { 9 | app: folders.entry_client 10 | }, 11 | plugins: [ 12 | // strip dev-only code in Vue source 13 | new webpack.DefinePlugin({ 14 | 'process.env.VUE_ENV': '"client"' 15 | }), 16 | new VueSSRClientPlugin() 17 | ] 18 | }) 19 | 20 | module.exports = config -------------------------------------------------------------------------------- /markdown/articles/second.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'Sample Post #2' 3 | thumbnail: /uploads/image2.jpg 4 | silent: true 5 | --- 6 | 7 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci laborum, doloremque. Repellat sapiente incidunt voluptas, placeat. Nam consectetur maxime eaque magnam nostrum, iste voluptates facilis! Quidem sequi itaque eveniet nesciunt. 8 | 9 | 10 | 11 | Lorem ipsum dolor sit amet, consectetur adipisicing elit. Adipisci corrupti commodi temporibus quaerat tempora sunt ducimus tempore provident similique error, veniam quia perferendis, libero repudiandae quo pariatur ut accusantium quibusdam. -------------------------------------------------------------------------------- /markdown/privacy-policy.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 'Privacy Policy' 3 | --- 4 |Google Analytics demographic information is collected from visitors of this site in aggregate form and will only be used to study traffic and success of this site. This contains basic info like age category (Ex: 18-35), city, gender, and interest categories. It is not personally identifiable. If you wish to not have this information collected on you simply opt out here.
6 | 7 | 8 |We use the browser's local storage to remember your selection for future visits.
9 |