Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Markdown parser #2

Merged
merged 9 commits into from
Aug 29, 2017
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
feat(posts):add script to parse directory to json file
- not yet able to parse the individual markdown files so they render
- unsuccessful at getting ng2-markdown-to-html to work
  • Loading branch information
Jason Hodges committed Aug 11, 2017
commit 253b4edc1ae3dc7e1615d98bfd8411c149644a0d
6 changes: 6 additions & 0 deletions .idea/inspectionProfiles/Project_Default.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 7 additions & 0 deletions .idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions .idea/ngx-blog.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/typescript-compiler.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

547 changes: 547 additions & 0 deletions .idea/workspace.xml

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
## ngx blog
34 changes: 34 additions & 0 deletions config/dir-parse.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
// https://code-maven.com/list-content-of-directory-with-nodejs
var fs = require('fs');
var path = require('path');
var jsonfile = require('jsonfile');
var postsjson = 'src/assets/_posts/posts.json';
var dir = 'src/assets/_posts';

// if (process.argv.length <= 2) {
// console.log("Usage: " + __filename + " path/to/directory");
// process.exit(-1);
// }
var extFilter = 'md';
// var pathSupplied = process.argv[2];
var pathSupplied = dir;

function extension(element) {
var extName = path.extname(element);
return extName === '.' + extFilter;
};

fs.readdir(pathSupplied, function(err, items) {
var opener = '{ "posts": ';
var closer = ' }';
var posts = items.filter(extension).map((item) => {
var file = pathSupplied + '/' + item;
var obj = { title: file };
return obj;
})

opener += JSON.stringify(posts);
opener += closer;
console.log("Posts: ", JSON.stringify(posts));
fs.writeFile(postsjson, opener);
});
17 changes: 16 additions & 1 deletion config/webpack.common.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
var webpack = require('webpack');
var helpers = require('./helpers');

var HtmlWebpackPlugin = require('html-webpack-plugin');
var ExtractTextPlugin = require('extract-text-webpack-plugin');
var helpers = require('./helpers');
var WebpackShellPlugin = require('webpack-shell-plugin');

module.exports = {
entry: {
Expand Down Expand Up @@ -32,6 +34,14 @@ module.exports = {
test: /\.(png|jpe?g|gif|svg|woff|woff2|ttf|eot|ico)$/,
loader: 'file-loader?name=assets/[name].[hash].[ext]'
},
{
test: /\.md$/,
loader: 'markdown-loader'
},
{
test: /\.json$/,
loader: 'file-loader?name=assets/[name].[hash].json'
},
{
test: /\.css$/,
exclude: helpers.root('src', 'app'),
Expand Down Expand Up @@ -63,6 +73,11 @@ module.exports = {

new HtmlWebpackPlugin({
template: 'src/index.html'
}),

new WebpackShellPlugin({
onBuildStart: ['node ./config/dir-parse.js']
})

]
};
6 changes: 5 additions & 1 deletion config/webpack.dev.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
var webpackMerge = require('webpack-merge');
var ExtractTextPlugin = require('extract-text-webpack-plugin');
var WebpackShellPlugin = require('webpack-shell-plugin');
var commonConfig = require('./webpack.common.js');
var helpers = require('./helpers');

Expand All @@ -14,7 +15,10 @@ module.exports = webpackMerge(commonConfig, {
},

plugins: [
new ExtractTextPlugin('[name].css')
new ExtractTextPlugin('[name].css'),
new WebpackShellPlugin({
onBuildStart: ['node ./config/dir-parse.js']
})
],

devServer: {
Expand Down
17 changes: 10 additions & 7 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,19 +41,20 @@
"@angular/upgrade": "~4.3.1",
"angular-in-memory-web-api": "~0.3.2",
"core-js": "^2.4.1",
"jsonfile": "^3.0.1",
"rxjs": "^5.1.0",
"systemjs": "0.19.39",
"zone.js": "^0.8.4"
},
"devDependencies": {
"@angular/cli": "^1.2.0",
"@types/angular": "^1.5.16",
"@types/angular-animate": "^1.5.5",
"@types/angular-cookies": "^1.4.2",
"@types/angular-mocks": "^1.5.5",
"@types/angular-resource": "^1.5.6",
"@types/angular-route": "^1.3.2",
"@types/angular-sanitize": "^1.3.3",
"@types/angular": "^1.5.16",
"@types/jasmine": "2.5.36",
"@types/node": "^6.0.45",
"angular2-template-loader": "^0.6.0",
Expand All @@ -69,35 +70,37 @@
"html-loader": "^0.4.3",
"html-webpack-plugin": "^2.16.1",
"http-server": "^0.9.0",
"jasmine-core": "~2.4.1",
"jasmine": "~2.4.1",
"jasmine-core": "~2.4.1",
"karma": "^1.3.0",
"karma-chrome-launcher": "^2.0.0",
"karma-cli": "^1.0.1",
"karma-jasmine-html-reporter": "^0.2.2",
"karma-jasmine": "^1.0.2",
"karma-jasmine-html-reporter": "^0.2.2",
"karma-phantomjs-launcher": "^1.0.2",
"karma-sourcemap-loader": "^0.3.7",
"karma-webpack": "^2.0.1",
"karma": "^1.3.0",
"lite-server": "^2.2.2",
"lodash": "^4.16.2",
"markdown-loader": "^2.0.1",
"null-loader": "^0.1.1",
"phantomjs-prebuilt": "^2.1.7",
"protractor": "~5.1.0",
"raw-loader": "^0.5.1",
"rimraf": "^2.5.4",
"rollup": "^0.41.6",
"rollup-plugin-commonjs": "^8.0.2",
"rollup-plugin-node-resolve": "2.0.0",
"rollup-plugin-uglify": "^1.0.1",
"rollup": "^0.41.6",
"source-map-explorer": "^1.3.2",
"style-loader": "^0.13.1",
"ts-node": "~3.0.4",
"tslint": "^3.15.1",
"typescript": "~2.3.2",
"webpack": "2.2.1",
"webpack-dev-server": "2.4.1",
"webpack-merge": "^3.0.0",
"webpack": "2.2.1"
"webpack-shell-plugin": "^0.5.0"
},
"repository": {}
}
}
28 changes: 28 additions & 0 deletions src/app/app-routing.module.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions src/app/app-routing.module.js.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

23 changes: 23 additions & 0 deletions src/app/app.component.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions src/app/app.component.js.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions src/app/app.component.spec.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions src/app/app.component.spec.js.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

39 changes: 39 additions & 0 deletions src/app/app.module.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions src/app/app.module.js.map

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 7 additions & 5 deletions src/app/app.module.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
import { HomeComponent } from './../home/home.component';
import { PostsService } from '../services/posts.service';
import { HomeComponent } from '../home/home.component';
import { AppRoutingModule } from './app-routing.module';
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { Routes, RouterModule } from '@angular/router';
import { BrowserModule } from '@angular/platform-browser';
import { HttpModule } from '@angular/http';

import { AppComponent } from './app.component';
Expand All @@ -11,13 +11,15 @@ import { AppComponent } from './app.component';
imports: [
BrowserModule,
HttpModule,
AppRoutingModule
AppRoutingModule,
],
declarations: [
AppComponent,
HomeComponent
],
providers: [],
providers: [
PostsService
],
bootstrap: [AppComponent],
})
export class AppModule { }
1 change: 1 addition & 0 deletions src/assets/_posts/2017-08-09-test-post.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
August 09, 2017 Test Post
1 change: 1 addition & 0 deletions src/assets/_posts/2017-08-10-test-post.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
August 10th, 2017 Test Post
Empty file.
1 change: 1 addition & 0 deletions src/assets/_posts/posts.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{ "posts": [{"title":"src/assets/_posts/2017-08-09-test-post.md"},{"title":"src/assets/_posts/2017-08-10-test-post.md"},{"title":"src/assets/_posts/2017-08-11-test-post.md"}] }
Empty file added src/assets/test.json
Empty file.
8 changes: 8 additions & 0 deletions src/home/home.component.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<div>
<h2>Home</h2>
</div>
<section>
<div *ngFor="let post of posts">
<div>{{post.title}}</div>
</div>
</section>
Loading