Skip to content

Commit 231343a

Browse files
committed
Upgrade to grunt-jquery-content, only build-pages task remains, for now
1 parent 1feafa6 commit 231343a

File tree

2 files changed

+14
-203
lines changed

2 files changed

+14
-203
lines changed

grunt.js

+12-201
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,18 @@
22
module.exports = function( grunt ) {
33

44
var // modules
5-
fs = require( "fs" ),
6-
path = require( "path" ),
75
pygmentize = require( "pygmentize" ),
8-
rimraf = require( "rimraf" ),
9-
spawn = require( "child_process" ).spawn,
106

117
// files
128
pageFiles = grunt.file.expandFiles( "pages/*.html" ),
139
entryFiles = grunt.file.expandFiles( "entries/*.xml" ),
1410
noteFiles = grunt.file.expandFiles( "notes/*.xml" ),
15-
resourceFiles = grunt.file.expandFiles( "resources/*" ),
1611

1712
xmlFiles = [].concat( entryFiles, noteFiles, "cat2tax.xsl", "categories.xml", "entries2html.xsl", "xml2json.xsl" );
1813

19-
function pathSlug( fileName ) {
20-
return path.basename( fileName, path.extname( fileName ) );
21-
}
22-
2314
grunt.loadNpmTasks( "grunt-clean" );
2415
grunt.loadNpmTasks( "grunt-wordpress" );
16+
grunt.loadNpmTasks( "grunt-jquery-content" );
2517

2618
grunt.initConfig({
2719
clean: {
@@ -33,38 +25,18 @@ grunt.initConfig({
3325
xmllint: {
3426
all: xmlFiles
3527
},
28+
xmltidy: {
29+
all: [].concat( entryFiles, noteFiles, "categories.xml" )
30+
},
31+
"build-xml-entries": {
32+
all: entryFiles
33+
},
34+
"build-resources": {
35+
all: grunt.file.expandFiles( "resources/*" )
36+
},
3637
wordpress: grunt.utils._.extend({
3738
dir: "dist/wordpress"
38-
}, grunt.file.readJSON( "config-stage.json" ) )
39-
});
40-
41-
grunt.registerTask( "xmllint", function() {
42-
var task = this,
43-
taskDone = task.async();
44-
grunt.utils.async.forEachSeries( xmlFiles, function( fileName, fileDone ) {
45-
grunt.verbose.write( "Linting " + fileName + "..." );
46-
grunt.utils.spawn({
47-
cmd: "xmllint",
48-
args: [ "--noout", fileName ]
49-
}, function( err, result ) {
50-
if ( err ) {
51-
grunt.verbose.error();
52-
grunt.log.error( err );
53-
fileDone();
54-
return;
55-
}
56-
grunt.verbose.ok();
57-
fileDone();
58-
});
59-
}, function() {
60-
if ( task.errorCount ) {
61-
grunt.warn( "Task \"" + task.name + "\" failed." );
62-
taskDone();
63-
return;
64-
}
65-
grunt.log.writeln( "Lint free files: " + xmlFiles.length );
66-
taskDone();
67-
});
39+
}, grunt.file.readJSON( "config.json" ) )
6840
});
6941

7042
grunt.registerTask( "build-pages", function() {
@@ -103,169 +75,8 @@ grunt.registerTask( "build-pages", function() {
10375
});
10476
});
10577

106-
grunt.registerTask( "build-entries", function() {
107-
var task = this,
108-
taskDone = task.async(),
109-
// TODO make `entry` a custom post type instead of (ab)using `post`?
110-
targetDir = grunt.config( "wordpress.dir" ) + "/posts/post/";
111-
112-
grunt.file.mkdir( targetDir );
113-
114-
grunt.utils.async.forEachSeries( entryFiles, function( fileName, fileDone ) {
115-
grunt.verbose.write( "Transforming (pass 1: preproc-xinclude.xsl) " + fileName + "..." );
116-
grunt.utils.spawn({
117-
cmd: "xsltproc",
118-
args: [ "preproc-xinclude.xsl", fileName ]
119-
}, function( err, pass1result ) {
120-
if ( err ) {
121-
grunt.verbose.error();
122-
grunt.log.error( err );
123-
fileDone();
124-
return;
125-
}
126-
grunt.verbose.ok();
127-
128-
var targetXMLFileName = "entries_tmp/" + path.basename( fileName );
129-
130-
grunt.file.write( targetXMLFileName, pass1result );
131-
132-
grunt.verbose.write( "Transforming (pass 2: entries2html.xsl) " + fileName + "..." );
133-
grunt.utils.spawn({
134-
cmd: "xsltproc",
135-
args: [ "--xinclude", "entries2html.xsl", targetXMLFileName ]
136-
}, function( err, pass2result ) {
137-
if ( err ) {
138-
grunt.verbose.error();
139-
grunt.log.error( err );
140-
fileDone();
141-
return;
142-
}
143-
grunt.verbose.ok();
144-
145-
var targetHTMLFileName = targetDir + path.basename( fileName );
146-
targetHTMLFileName = targetHTMLFileName.substr( 0, targetHTMLFileName.length - "xml".length ) + "html";
147-
148-
grunt.verbose.write( "Pygmentizing " + targetHTMLFileName + "..." );
149-
pygmentize.file( pass2result, function( error, data ) {
150-
if ( error ) {
151-
grunt.verbose.error();
152-
grunt.log.error( error );
153-
fileDone();
154-
return;
155-
}
156-
grunt.verbose.ok();
157-
158-
grunt.file.write( targetHTMLFileName, data );
159-
160-
fileDone();
161-
});
162-
});
163-
});
164-
}, function() {
165-
if ( task.errorCount ) {
166-
grunt.warn( "Task \"" + task.name + "\" failed." );
167-
taskDone();
168-
return;
169-
}
170-
rimraf.sync( "entries_tmp" );
171-
grunt.log.writeln( "Built " + entryFiles.length + " entries." );
172-
taskDone();
173-
});
174-
});
175-
176-
grunt.registerTask( "build-categories", function() {
177-
var task = this,
178-
taskDone = task.async(),
179-
categories = {},
180-
outFilename = grunt.config( "wordpress.dir" ) + "/taxonomies.json";
181-
182-
grunt.utils.spawn({
183-
cmd: "xsltproc",
184-
args: [ "--output", "taxonomies.xml", "cat2tax.xsl", "categories.xml" ]
185-
}, function( err, result ) {
186-
if ( err ) {
187-
grunt.verbose.error();
188-
grunt.log.error( err );
189-
taskDone();
190-
return;
191-
}
192-
grunt.utils.spawn({
193-
cmd: "xsltproc",
194-
args: [ "--output", outFilename, "xml2json.xsl", "taxonomies.xml" ]
195-
}, function( err, result ) {
196-
if ( err ) {
197-
grunt.verbose.error();
198-
grunt.log.error( err );
199-
taskDone();
200-
return;
201-
}
202-
fs.unlinkSync( "taxonomies.xml" );
203-
grunt.verbose.ok();
204-
taskDone();
205-
});
206-
});
207-
});
208-
209-
grunt.registerTask( "build-resources", function() {
210-
var task = this,
211-
taskDone = task.async(),
212-
targetDir = grunt.config( "wordpress.dir" ) + "/resources/";
213-
214-
grunt.file.mkdir( targetDir );
215-
216-
grunt.utils.async.forEachSeries( resourceFiles, function( fileName, fileDone ) {
217-
grunt.file.copy( fileName, targetDir + path.basename( fileName ) );
218-
fileDone();
219-
}, function() {
220-
if ( task.errorCount ) {
221-
grunt.warn( "Task \"" + task.name + "\" failed." );
222-
taskDone();
223-
return;
224-
}
225-
grunt.log.writeln( "Built " + resourceFiles.length + " resources." );
226-
taskDone();
227-
});
228-
});
229-
230-
grunt.registerTask( "xmltidy", function() {
231-
var task = this,
232-
taskDone = task.async(),
233-
filesToTidy = [].concat( entryFiles, noteFiles, "categories.xml" );
234-
235-
// Only tidy files that are lint free
236-
task.requires( "xmllint" );
237-
238-
grunt.utils.async.forEachSeries( filesToTidy, function( fileName, fileDone ) {
239-
grunt.verbose.write( "Tidying " + fileName + "..." );
240-
grunt.utils.spawn({
241-
cmd: "xmllint",
242-
args: [ "--format", fileName ]
243-
}, function( err, result ) {
244-
if ( err ) {
245-
grunt.verbose.error();
246-
grunt.log.error( err );
247-
fileDone();
248-
return;
249-
}
250-
grunt.verbose.ok();
251-
252-
grunt.file.write( fileName, result );
253-
254-
fileDone();
255-
});
256-
}, function() {
257-
if ( task.errorCount ) {
258-
grunt.warn( "Task \"" + task.name + "\" failed." );
259-
taskDone();
260-
return;
261-
}
262-
grunt.log.writeln( "Tidied " + filesToTidy.length + " files." );
263-
taskDone();
264-
});
265-
});
266-
26778
grunt.registerTask( "default", "build-wordpress" );
268-
grunt.registerTask( "build-wordpress", "clean lint xmllint build-pages build-entries build-categories build-resources" );
79+
grunt.registerTask( "build-wordpress", "clean lint xmllint build-pages build-xml-entries build-xml-categories build-resources" );
26980
grunt.registerTask( "tidy", "xmllint xmltidy" );
27081

27182
};

package.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@
2424
"grunt": "0.3.x",
2525
"grunt-clean": "0.1.0",
2626
"grunt-wordpress": "1.0.0",
27-
"pygmentize": "0.5.2",
28-
"rimraf": "latest"
27+
"grunt-jquery-content": "0.1.0",
28+
"pygmentize": "0.5.2"
2929
},
3030
"devDependencies": {},
3131
"keywords": []

0 commit comments

Comments
 (0)