From 712fa6d5b7352e29e94cce1ee7b47fcff8843ef0 Mon Sep 17 00:00:00 2001 From: ang-st Date: Tue, 31 Mar 2015 03:25:25 +0100 Subject: [PATCH] added some bootstrap --- db.js | 7 ++-- md-override.js | 83 +++++++++++++++++++++++++++++++++++++++++ npm-debug.log | 91 +++++++++++++++++++++++++++++++++++++++++++++ package.json | 3 ++ pages/home.markdown | 4 +- views/layout.jade | 16 +++++++- views/view.jade | 8 ++-- 7 files changed, 203 insertions(+), 9 deletions(-) create mode 100644 md-override.js create mode 100644 npm-debug.log diff --git a/db.js b/db.js index 18b04a2..a3ae001 100644 --- a/db.js +++ b/db.js @@ -1,8 +1,8 @@ var FS = require('fs'); var Path = require('path'); var Markdown = require("marked"); +//var MdRenderer=require("./md-override") var knex = require("knex"); - var Bookshelf = require('bookshelf'); @@ -10,9 +10,10 @@ Markdown.setOptions({ renderer: new Markdown.Renderer(), gfm: true, tables: true, - sanitize: true + sanitize: false }) + // This function is used to map wiki page names to files // on the real filesystem. function pathFromName(name) { @@ -49,7 +50,7 @@ exports.loadPage = function (name, callback) { } }*/ var html = Markdown(markdown); - + callback(null, { name: name, title: null, diff --git a/md-override.js b/md-override.js new file mode 100644 index 0000000..8b54385 --- /dev/null +++ b/md-override.js @@ -0,0 +1,83 @@ +var Markdown = require("marked") + +var renderer = new Markdown.Renderer(); + + +Markdown.setOptions({ + renderer: renderer, + gfm: true, + tables: true, + sanitize: false + +}) + + + +renderer.image = function( href, title, text ) { + var result = ' alt="' + text.trim() + '" '; // this will be used to store our dimension string (if applicable) + var w, h; // our width & height variables + + // title tags need to be between double quotes + var rTitle = /"(\w*\s*)+"/; + + // dimension values need to prefix with an equal sign + // followed by at least one digit and the times 'x' sign + // and (optionally) MAY have a second value + var rDims = /=(\d+)x(\d*)/; + + // classes to be placed within the image need to be prefixed with a colon + // any subsequent classes to be added with a "." without any leading or trailing + // spaces. IT MUST HAVE A SPACE IN FRONT OTHERWISE IT WILL CONFLICT WITH + // LINKS CONTAINING http://... + var rClass = /\s+:([^\)|\s]+)/; + + // ids need to be prefixed with a hash symbol. MUST HAVE A SPACE BEFORE OTHERWISE + // CAN GET CONFUSED WITH URLs. + var rId = /\s+#([^\)|\s]+)/; + + // first let's grab the title and then remove from href + if ( title === null ) { + var getTitle = rTitle.exec( href ); + if ( getTitle && getTitle[0].length ) { + title = getTitle[0].replace( /"/g , "" ); + result += ' title="' + title + '" '; + } + href = href.replace( rTitle, "" ); + } + + // get dimension values from href + var getDims = rDims.exec( href ); + if ( getDims[0].length ) { + // width is the first dimension value + w = getDims[1]; + result += ' width="' + w + '" '; + // height is the second dimension value (optional) + if ( getDims.length > 1 ) { + h = getDims[2]; + result += ' height="' + h + '" '; + } + href = href.replace( rDims, "" ); + } + + // get class tag from href + var getClass = rClass.exec( href ); + if ( getClass && getClass[0].length ) { + var c = getClass[1]; + result += ' class="' + c + '" '; + href = href.replace( rClass, "" ); + } + + // get id tag from href + var getId = rId.exec( href ); + if ( getId && getId[0].length ) { + var i = getId[1]; + result += ' id="' + i + '" '; + href = href.replace( rId, "" ); + } + + return ''; + +}; + + +exports.Markdown = Markdown diff --git a/npm-debug.log b/npm-debug.log new file mode 100644 index 0000000..70cf326 --- /dev/null +++ b/npm-debug.log @@ -0,0 +1,91 @@ +0 info it worked if it ends with ok +1 verbose cli [ '/usr/bin/node', +1 verbose cli '/usr/bin/npm', +1 verbose cli 'install', +1 verbose cli 'node-caja-sanitizer', +1 verbose cli '--install' ] +2 info using npm@1.4.28 +3 info using node@v0.10.37 +4 verbose node symlink /usr/bin/node +5 verbose readDependencies using package.json deps +6 verbose cache add [ 'node-caja-sanitizer', null ] +7 verbose cache add name=undefined spec="node-caja-sanitizer" args=["node-caja-sanitizer",null] +8 verbose parsed url { protocol: null, +8 verbose parsed url slashes: null, +8 verbose parsed url auth: null, +8 verbose parsed url host: null, +8 verbose parsed url port: null, +8 verbose parsed url hostname: null, +8 verbose parsed url hash: null, +8 verbose parsed url search: null, +8 verbose parsed url query: null, +8 verbose parsed url pathname: 'node-caja-sanitizer', +8 verbose parsed url path: 'node-caja-sanitizer', +8 verbose parsed url href: 'node-caja-sanitizer' } +9 silly lockFile ff2688e7-node-caja-sanitizer node-caja-sanitizer +10 verbose lock node-caja-sanitizer /home/pg/.npm/ff2688e7-node-caja-sanitizer.lock +11 silly lockFile ff2688e7-node-caja-sanitizer node-caja-sanitizer +12 silly lockFile ff2688e7-node-caja-sanitizer node-caja-sanitizer +13 verbose addNamed [ 'node-caja-sanitizer', '' ] +14 verbose addNamed [ null, '*' ] +15 silly lockFile ec89ea47-node-caja-sanitizer node-caja-sanitizer@ +16 verbose lock node-caja-sanitizer@ /home/pg/.npm/ec89ea47-node-caja-sanitizer.lock +17 silly addNameRange { name: 'node-caja-sanitizer', range: '*', hasData: false } +18 verbose request where is /node-caja-sanitizer +19 verbose request registry https://registry.npmjs.org/ +20 verbose request id f8cf19869ce074d8 +21 verbose url raw /node-caja-sanitizer +22 verbose url resolving [ 'https://registry.npmjs.org/', './node-caja-sanitizer' ] +23 verbose url resolved https://registry.npmjs.org/node-caja-sanitizer +24 verbose request where is https://registry.npmjs.org/node-caja-sanitizer +25 info trying registry request attempt 1 at 00:02:56 +26 http GET https://registry.npmjs.org/node-caja-sanitizer +27 http 404 https://registry.npmjs.org/node-caja-sanitizer +28 verbose headers { date: 'Mon, 30 Mar 2015 23:03:00 GMT', +28 verbose headers server: 'CouchDB/1.5.0 (Erlang OTP/R16B03)', +28 verbose headers 'content-type': 'application/json', +28 verbose headers 'cache-control': 'max-age=0', +28 verbose headers 'content-length': '51', +28 verbose headers 'accept-ranges': 'bytes', +28 verbose headers via: '1.1 varnish', +28 verbose headers age: '0', +28 verbose headers 'x-served-by': 'cache-lcy1126-LCY', +28 verbose headers 'x-cache': 'MISS', +28 verbose headers 'x-cache-hits': '0', +28 verbose headers 'x-timer': 'S1427756580.095012,VS0,VE658', +28 verbose headers 'keep-alive': 'timeout=10, max=50', +28 verbose headers connection: 'Keep-Alive' } +29 silly registry.get cb [ 404, +29 silly registry.get { date: 'Mon, 30 Mar 2015 23:03:00 GMT', +29 silly registry.get server: 'CouchDB/1.5.0 (Erlang OTP/R16B03)', +29 silly registry.get 'content-type': 'application/json', +29 silly registry.get 'cache-control': 'max-age=0', +29 silly registry.get 'content-length': '51', +29 silly registry.get 'accept-ranges': 'bytes', +29 silly registry.get via: '1.1 varnish', +29 silly registry.get age: '0', +29 silly registry.get 'x-served-by': 'cache-lcy1126-LCY', +29 silly registry.get 'x-cache': 'MISS', +29 silly registry.get 'x-cache-hits': '0', +29 silly registry.get 'x-timer': 'S1427756580.095012,VS0,VE658', +29 silly registry.get 'keep-alive': 'timeout=10, max=50', +29 silly registry.get connection: 'Keep-Alive' } ] +30 silly lockFile ec89ea47-node-caja-sanitizer node-caja-sanitizer@ +31 silly lockFile ec89ea47-node-caja-sanitizer node-caja-sanitizer@ +32 error 404 404 Not Found: node-caja-sanitizer +32 error 404 +32 error 404 'node-caja-sanitizer' is not in the npm registry. +32 error 404 You should bug the author to publish it +32 error 404 It was specified as a dependency of 'wiki-contest' +32 error 404 +32 error 404 Maybe try 'npm search caja sanitizer' +32 error 404 +32 error 404 Note that you can also install from a +32 error 404 tarball, folder, or http url, or git url. +33 error System Linux 3.2.0-4-amd64 +34 error command "/usr/bin/node" "/usr/bin/npm" "install" "node-caja-sanitizer" "--install" +35 error cwd /home/pg/wiki/wiki +36 error node -v v0.10.37 +37 error npm -v 1.4.28 +38 error code E404 +39 verbose exit [ 1, true ] diff --git a/package.json b/package.json index f2b97e7..c263878 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,10 @@ "knex": "^0.7.6", "markdown": "~0.3.1", "marked": "^0.3.3", + "multimarkdown": "0.0.15", + "namp": "^0.2.25", "passport-local": "^1.0.0", + "showdown": "^0.4.0", "trycatch": "~0.0.9" } } diff --git a/pages/home.markdown b/pages/home.markdown index d0a9aaa..fa51af7 100644 --- a/pages/home.markdown +++ b/pages/home.markdown @@ -1,6 +1,6 @@ + ###Hello THSF this is a simple and stupid wiki :) -![](http://stuffpoint.com/lol-cats/image/29077-lol-cats-magical-kitteh.png) + ![](http://stuffpoint.com/lol-cats/image/29077-lol-cats-magical-kitteh.png) - \ No newline at end of file diff --git a/views/layout.jade b/views/layout.jade index 329acbb..44bfe2a 100644 --- a/views/layout.jade +++ b/views/layout.jade @@ -3,4 +3,18 @@ html head title= title link(rel='stylesheet', href='/stylesheets/style.css') - body!= body + link(rel='stylesheet', href='http://lbesson.bitbucket.org/md/themes/cyborg.min.css') + link(rel='stylesheet', href='http://lbesson.bitbucket.org/md/themes/bootstrap-responsive.min.css') + body + nav.navbar.navbar-default + div.container-fluid + ul.nav.nav-pills + li(role="presentation" ) + a(href="#") one + li(role="presentation") + a(href="#") two + li(role="presentation" ) + a(href="#") three + + block body + diff --git a/views/view.jade b/views/view.jade index e6018de..53e04cd 100644 --- a/views/view.jade +++ b/views/view.jade @@ -1,4 +1,6 @@ include ./layout.jade -h1= title -.article!= html -a(href="/" + name + "/edit")= "Edit this Page" + .container-fluid + h1= title + + .document!= html + a(href="/" + name + "/edit")= "Edit this Page"