jekyll-import 0.4.0 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/jekyll-import/importers/wordpress.rb +2 -2
- data/lib/jekyll-import/importers/wordpressdotcom.rb +1 -0
- data/lib/jekyll-import/version.rb +1 -1
- metadata +3 -96
- data/.gitignore +0 -21
- data/.travis.yml +0 -14
- data/Gemfile +0 -2
- data/History.markdown +0 -135
- data/Rakefile +0 -209
- data/jekyll-import.gemspec +0 -60
- data/script/bootstrap +0 -3
- data/script/cibuild +0 -3
- data/site/.gitignore +0 -4
- data/site/CNAME +0 -1
- data/site/README +0 -1
- data/site/_config.yml +0 -7
- data/site/_includes/analytics.html +0 -32
- data/site/_includes/docs_contents.html +0 -10
- data/site/_includes/docs_contents_mobile.html +0 -14
- data/site/_includes/docs_option.html +0 -11
- data/site/_includes/docs_ul.html +0 -20
- data/site/_includes/footer.html +0 -15
- data/site/_includes/header.html +0 -18
- data/site/_includes/news_contents.html +0 -23
- data/site/_includes/news_contents_mobile.html +0 -11
- data/site/_includes/news_item.html +0 -24
- data/site/_includes/primary-nav-items.html +0 -14
- data/site/_includes/section_nav.html +0 -22
- data/site/_includes/top.html +0 -17
- data/site/_layouts/default.html +0 -12
- data/site/_layouts/docs.html +0 -29
- data/site/_layouts/news.html +0 -19
- data/site/_layouts/news_item.html +0 -27
- data/site/_posts/2013-11-09-jekyll-import-0-1-0-beta4-release.markdown +0 -23
- data/site/_posts/2013-11-18-jekyll-import-0-1-0-rc1-released.markdown +0 -17
- data/site/_posts/2013-12-17-jekyll-import-0-1-0-released.markdown +0 -67
- data/site/_posts/2014-03-16-jekyll-import-0-2-0-released.markdown +0 -16
- data/site/_posts/2014-05-23-jekyll-import-0-3-0-released.markdown +0 -22
- data/site/_posts/2014-06-29-jekyll-import-0-4-0-released.markdown +0 -19
- data/site/css/gridism.css +0 -110
- data/site/css/normalize.css +0 -1
- data/site/css/pygments.css +0 -70
- data/site/css/style.css +0 -945
- data/site/docs/behance.md +0 -20
- data/site/docs/contributing.md +0 -8
- data/site/docs/csv.md +0 -37
- data/site/docs/drupal6.md +0 -24
- data/site/docs/drupal7.md +0 -24
- data/site/docs/easyblog.md +0 -25
- data/site/docs/enki.md +0 -23
- data/site/docs/ghost.md +0 -19
- data/site/docs/google_reader.md +0 -19
- data/site/docs/history.md +0 -130
- data/site/docs/index.md +0 -17
- data/site/docs/installation.md +0 -26
- data/site/docs/joomla.md +0 -26
- data/site/docs/jrnl.md +0 -23
- data/site/docs/marley.md +0 -20
- data/site/docs/mephisto.md +0 -23
- data/site/docs/mt.md +0 -39
- data/site/docs/posterous.md +0 -25
- data/site/docs/rss.md +0 -19
- data/site/docs/s9y.md +0 -19
- data/site/docs/textpattern.md +0 -30
- data/site/docs/third-party.md +0 -30
- data/site/docs/tumblr.md +0 -24
- data/site/docs/typo.md +0 -26
- data/site/docs/usage.md +0 -29
- data/site/docs/wordpress.md +0 -41
- data/site/docs/wordpressdotcom.md +0 -47
- data/site/favicon.png +0 -0
- data/site/feed.xml +0 -36
- data/site/img/article-footer.png +0 -0
- data/site/img/footer-arrow.png +0 -0
- data/site/img/footer-logo.png +0 -0
- data/site/img/logo-2x.png +0 -0
- data/site/img/octojekyll.png +0 -0
- data/site/img/tube.png +0 -0
- data/site/img/tube1x.png +0 -0
- data/site/index.html +0 -95
- data/site/js/modernizr-2.5.3.min.js +0 -4
- data/site/news/index.html +0 -10
- data/site/news/releases/index.html +0 -10
- data/test/helper.rb +0 -50
- data/test/test_jrnl_importer.rb +0 -39
- data/test/test_mt_importer.rb +0 -104
- data/test/test_tumblr_importer.rb +0 -108
- data/test/test_util.rb +0 -10
- data/test/test_wordpress_importer.rb +0 -9
- data/test/test_wordpressdotcom_importer.rb +0 -8
data/site/img/octojekyll.png
DELETED
Binary file
|
data/site/img/tube.png
DELETED
Binary file
|
data/site/img/tube1x.png
DELETED
Binary file
|
data/site/index.html
DELETED
@@ -1,95 +0,0 @@
|
|
1
|
-
---
|
2
|
-
layout: default
|
3
|
-
title: jekyll-import • Import your old & busted site to Jekyll
|
4
|
-
overview: true
|
5
|
-
---
|
6
|
-
|
7
|
-
<section class="intro">
|
8
|
-
<div class="grid">
|
9
|
-
<div class="unit whole center-on-mobiles">
|
10
|
-
<p class="first">Import your old & busted site or blog for use with Jekyll.</p>
|
11
|
-
</div>
|
12
|
-
</div>
|
13
|
-
</section>
|
14
|
-
<section class="features">
|
15
|
-
<div class="grid">
|
16
|
-
<div class="unit one-third">
|
17
|
-
<h2>Simple</h2>
|
18
|
-
<p>
|
19
|
-
No more databases, comment moderation, or pesky updates to install—just <em>your content</em>.
|
20
|
-
</p>
|
21
|
-
<a href="http://jekyllrb.com/docs/usage/" class="">How Jekyll works →</a>
|
22
|
-
</div>
|
23
|
-
<div class="unit one-third">
|
24
|
-
<h2>Static</h2>
|
25
|
-
<p><a href="http://daringfireball.net/projects/markdown/">Markdown</a> (or <a href="http://textile.sitemonks.com/">Textile</a>), <a href="http://wiki.shopify.com/Liquid">Liquid</a>, HTML <span class="amp">&</span> CSS go in. Static sites come out ready for deployment.</p>
|
26
|
-
<a href="http://jekyllrb.com/docs/templates/" class="">Jekyll template guide →</a>
|
27
|
-
</div>
|
28
|
-
<div class="unit one-third">
|
29
|
-
<h2>Blog-aware</h2>
|
30
|
-
<p>
|
31
|
-
Permalinks, categories, pages, posts, and custom layouts are all first-class citizens here.
|
32
|
-
</p>
|
33
|
-
<a href="/docs/home/" class="">Migrate your blog →</a>
|
34
|
-
</div>
|
35
|
-
<div class="clear"></div>
|
36
|
-
</div>
|
37
|
-
</section>
|
38
|
-
<section class="quickstart">
|
39
|
-
<div class="grid">
|
40
|
-
<div class="unit whole center-on-mobiles">
|
41
|
-
<h4>Get up and running <em>in seconds</em>.</h4>
|
42
|
-
</div>
|
43
|
-
<div class="unit whole center-on-mobiles code">
|
44
|
-
<p class="title">Quick-start Instructions</p>
|
45
|
-
<div class="shell">
|
46
|
-
<p class="line">
|
47
|
-
<span class="path">~</span>
|
48
|
-
<span class="prompt">$</span>
|
49
|
-
<span class="command">gem install jekyll jekyll-import</span>
|
50
|
-
</p>
|
51
|
-
<p class="line">
|
52
|
-
<span class="path">~</span>
|
53
|
-
<span class="prompt">$</span>
|
54
|
-
<span class="command">jekyll new my-awesome-site</span>
|
55
|
-
</p>
|
56
|
-
<p class="line">
|
57
|
-
<span class="path">~</span>
|
58
|
-
<span class="prompt">$</span>
|
59
|
-
<span class="command">cd my-awesome-site</span>
|
60
|
-
</p>
|
61
|
-
<p class="line">
|
62
|
-
<span class="path">~/my-awesome-site</span>
|
63
|
-
<span class="prompt">$</span>
|
64
|
-
<span class="command">jekyll import wordpressdotcom --source wordpress.xml</span>
|
65
|
-
</p>
|
66
|
-
<p class="line">
|
67
|
-
<span class="path">~/my-awesome-site</span>
|
68
|
-
<span class="prompt">$</span>
|
69
|
-
<span class="command">jekyll serve</span>
|
70
|
-
</p>
|
71
|
-
<p class="line">
|
72
|
-
<span class="output"># => Now browse to http://localhost:4000</span>
|
73
|
-
</p>
|
74
|
-
</div>
|
75
|
-
</div>
|
76
|
-
<div class="clear"></div>
|
77
|
-
</div>
|
78
|
-
</section>
|
79
|
-
<section class="free-hosting">
|
80
|
-
<div class="grid">
|
81
|
-
<div class="unit whole">
|
82
|
-
<div class="grid pane">
|
83
|
-
<div class="unit whole center-on-mobiles">
|
84
|
-
<img src="img/octojekyll.png" alt="Free Jekyll hosting on GitHub Pages">
|
85
|
-
<div class="pane-content">
|
86
|
-
<h2 class="center-on-mobiles"><strong>Free hosting</strong> with GitHub Pages</h2>
|
87
|
-
<p>Sick of dealing with hosting companies? <a href="http://pages.github.com/">GitHub Pages</a> are <em>powered by Jekyll</em>, so you can easily deploy your site using GitHub for free—<a href="https://help.github.com/articles/setting-up-a-custom-domain-with-pages">custom domain name</a> and all.</p>
|
88
|
-
<a href="http://pages.github.com/" class="">Learn more about GitHub Pages →</a>
|
89
|
-
</div>
|
90
|
-
</div>
|
91
|
-
<div class="clear"></div>
|
92
|
-
</div>
|
93
|
-
</div>
|
94
|
-
</div>
|
95
|
-
</section>
|
@@ -1,4 +0,0 @@
|
|
1
|
-
/* Modernizr 2.5.3 (Custom Build) | MIT & BSD
|
2
|
-
* Build: http://www.modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-hsla-multiplebgs-opacity-rgba-textshadow-cssanimations-csscolumns-generatedcontent-cssgradients-cssreflections-csstransforms-csstransforms3d-csstransitions-applicationcache-canvas-canvastext-draganddrop-hashchange-history-audio-video-indexeddb-input-inputtypes-localstorage-postmessage-sessionstorage-websockets-websqldatabase-webworkers-geolocation-inlinesvg-smil-svg-svgclippaths-touch-webgl-shiv-mq-cssclasses-addtest-prefixed-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-load
|
3
|
-
*/
|
4
|
-
;window.Modernizr=function(a,b,c){function D(a){j.cssText=a}function E(a,b){return D(n.join(a+";")+(b||""))}function F(a,b){return typeof a===b}function G(a,b){return!!~(""+a).indexOf(b)}function H(a,b){for(var d in a)if(j[a[d]]!==c)return b=="pfx"?a[d]:!0;return!1}function I(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:F(f,"function")?f.bind(d||b):f}return!1}function J(a,b,c){var d=a.charAt(0).toUpperCase()+a.substr(1),e=(a+" "+p.join(d+" ")+d).split(" ");return F(b,"string")||F(b,"undefined")?H(e,b):(e=(a+" "+q.join(d+" ")+d).split(" "),I(e,b,c))}function L(){e.input=function(c){for(var d=0,e=c.length;d<e;d++)u[c[d]]=c[d]in k;return u.list&&(u.list=!!b.createElement("datalist")&&!!a.HTMLDataListElement),u}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),e.inputtypes=function(a){for(var d=0,e,f,h,i=a.length;d<i;d++)k.setAttribute("type",f=a[d]),e=k.type!=="text",e&&(k.value=l,k.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(f)&&k.style.WebkitAppearance!==c?(g.appendChild(k),h=b.defaultView,e=h.getComputedStyle&&h.getComputedStyle(k,null).WebkitAppearance!=="textfield"&&k.offsetHeight!==0,g.removeChild(k)):/^(search|tel)$/.test(f)||(/^(url|email)$/.test(f)?e=k.checkValidity&&k.checkValidity()===!1:/^color$/.test(f)?(g.appendChild(k),g.offsetWidth,e=k.value!=l,g.removeChild(k)):e=k.value!=l)),t[a[d]]=!!e;return t}("search tel url email datetime date month week time datetime-local number range color".split(" "))}var d="2.5.3",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k=b.createElement("input"),l=":)",m={}.toString,n=" -webkit- -moz- -o- -ms- ".split(" "),o="Webkit Moz O ms",p=o.split(" "),q=o.toLowerCase().split(" "),r={svg:"http://www.w3.org/2000/svg"},s={},t={},u={},v=[],w=v.slice,x,y=function(a,c,d,e){var f,i,j,k=b.createElement("div"),l=b.body,m=l?l:b.createElement("body");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:h+(d+1),k.appendChild(j);return f=["­","<style>",a,"</style>"].join(""),k.id=h,m.innerHTML+=f,m.appendChild(k),l||(m.style.background="",g.appendChild(m)),i=c(k,a),l?k.parentNode.removeChild(k):m.parentNode.removeChild(m),!!i},z=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b).matches;var d;return y("@media "+b+" { #"+h+" { position: absolute; } }",function(b){d=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle)["position"]=="absolute"}),d},A=function(){function d(d,e){e=e||b.createElement(a[d]||"div"),d="on"+d;var f=d in e;return f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=F(e[d],"function"),F(e[d],"undefined")||(e[d]=c),e.removeAttribute(d))),e=null,f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),B={}.hasOwnProperty,C;!F(B,"undefined")&&!F(B.call,"undefined")?C=function(a,b){return B.call(a,b)}:C=function(a,b){return b in a&&F(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=w.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(w.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(w.call(arguments)))};return e});var K=function(c,d){var f=c.join(""),g=d.length;y(f,function(c,d){var f=b.styleSheets[b.styleSheets.length-1],h=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"",i=c.childNodes,j={};while(g--)j[i[g].id]=i[g];e.touch="ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch||(j.touch&&j.touch.offsetTop)===9,e.csstransforms3d=(j.csstransforms3d&&j.csstransforms3d.offsetLeft)===9&&j.csstransforms3d.offsetHeight===3,e.generatedcontent=(j.generatedcontent&&j.generatedcontent.offsetHeight)>=1,e.fontface=/src/i.test(h)&&h.indexOf(d.split(" ")[0])===0},g,d)}(['@font-face {font-family:"font";src:url("https://")}',["@media (",n.join("touch-enabled),("),h,")","{#touch{top:9px;position:absolute}}"].join(""),["@media (",n.join("transform-3d),("),h,")","{#csstransforms3d{left:9px;position:absolute;height:3px;}}"].join(""),['#generatedcontent:after{content:"',l,'";visibility:hidden}'].join("")],["fontface","touch","csstransforms3d","generatedcontent"]);s.flexbox=function(){return J("flexOrder")},s.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},s.canvastext=function(){return!!e.canvas&&!!F(b.createElement("canvas").getContext("2d").fillText,"function")},s.webgl=function(){try{var d=b.createElement("canvas"),e;e=!(!a.WebGLRenderingContext||!d.getContext("experimental-webgl")&&!d.getContext("webgl")),d=c}catch(f){e=!1}return e},s.touch=function(){return e.touch},s.geolocation=function(){return!!navigator.geolocation},s.postmessage=function(){return!!a.postMessage},s.websqldatabase=function(){return!!a.openDatabase},s.indexedDB=function(){return!!J("indexedDB",a)},s.hashchange=function(){return A("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},s.history=function(){return!!a.history&&!!history.pushState},s.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},s.websockets=function(){for(var b=-1,c=p.length;++b<c;)if(a[p[b]+"WebSocket"])return!0;return"WebSocket"in a},s.rgba=function(){return D("background-color:rgba(150,255,150,.5)"),G(j.backgroundColor,"rgba")},s.hsla=function(){return D("background-color:hsla(120,40%,100%,.5)"),G(j.backgroundColor,"rgba")||G(j.backgroundColor,"hsla")},s.multiplebgs=function(){return D("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(j.background)},s.backgroundsize=function(){return J("backgroundSize")},s.borderimage=function(){return J("borderImage")},s.borderradius=function(){return J("borderRadius")},s.boxshadow=function(){return J("boxShadow")},s.textshadow=function(){return b.createElement("div").style.textShadow===""},s.opacity=function(){return E("opacity:.55"),/^0.55$/.test(j.opacity)},s.cssanimations=function(){return J("animationName")},s.csscolumns=function(){return J("columnCount")},s.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return D((a+"-webkit- ".split(" ").join(b+a)+n.join(c+a)).slice(0,-a.length)),G(j.backgroundImage,"gradient")},s.cssreflections=function(){return J("boxReflect")},s.csstransforms=function(){return!!J("transform")},s.csstransforms3d=function(){var a=!!J("perspective");return a&&"webkitPerspective"in g.style&&(a=e.csstransforms3d),a},s.csstransitions=function(){return J("transition")},s.fontface=function(){return e.fontface},s.generatedcontent=function(){return e.generatedcontent},s.video=function(){var a=b.createElement("video"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")}catch(d){}return c},s.audio=function(){var a=b.createElement("audio"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,"")}catch(d){}return c},s.localstorage=function(){try{return localStorage.setItem(h,h),localStorage.removeItem(h),!0}catch(a){return!1}},s.sessionstorage=function(){try{return sessionStorage.setItem(h,h),sessionStorage.removeItem(h),!0}catch(a){return!1}},s.webworkers=function(){return!!a.Worker},s.applicationcache=function(){return!!a.applicationCache},s.svg=function(){return!!b.createElementNS&&!!b.createElementNS(r.svg,"svg").createSVGRect},s.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="<svg/>",(a.firstChild&&a.firstChild.namespaceURI)==r.svg},s.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(m.call(b.createElementNS(r.svg,"animate")))},s.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(m.call(b.createElementNS(r.svg,"clipPath")))};for(var M in s)C(s,M)&&(x=M.toLowerCase(),e[x]=s[M](),v.push((e[x]?"":"no-")+x));return e.input||L(),e.addTest=function(a,b){if(typeof a=="object")for(var d in a)C(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,g.className+=" "+(b?"":"no-")+a,e[a]=b}return e},D(""),i=k=null,function(a,b){function g(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function h(){var a=k.elements;return typeof a=="string"?a.split(" "):a}function i(a){var b={},c=a.createElement,e=a.createDocumentFragment,f=e();a.createElement=function(a){var e=(b[a]||(b[a]=c(a))).cloneNode();return k.shivMethods&&e.canHaveChildren&&!d.test(a)?f.appendChild(e):e},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+h().join().replace(/\w+/g,function(a){return b[a]=c(a),f.createElement(a),'c("'+a+'")'})+");return n}")(k,f)}function j(a){var b;return a.documentShived?a:(k.shivCSS&&!e&&(b=!!g(a,"article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio{display:none}canvas,video{display:inline-block;*display:inline;*zoom:1}[hidden]{display:none}audio[controls]{display:inline-block;*display:inline;*zoom:1}mark{background:#FF0;color:#000}")),f||(b=!i(a)),b&&(a.documentShived=b),a)}var c=a.html5||{},d=/^<|^(?:button|form|map|select|textarea)$/i,e,f;(function(){var a=b.createElement("a");a.innerHTML="<xyz></xyz>",e="hidden"in a,f=a.childNodes.length==1||function(){try{b.createElement("a")}catch(a){return!0}var c=b.createDocumentFragment();return typeof c.cloneNode=="undefined"||typeof c.createDocumentFragment=="undefined"||typeof c.createElement=="undefined"}()})();var k={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:j};a.html5=k,j(b)}(this,b),e._version=d,e._prefixes=n,e._domPrefixes=q,e._cssomPrefixes=p,e.mq=z,e.hasEvent=A,e.testProp=function(a){return H([a])},e.testAllProps=J,e.testStyles=y,e.prefixed=function(a,b,c){return b?J(a,b,c):J(a,"pfx")},g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+v.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return o.call(a)=="[object Function]"}function e(a){return typeof a=="string"}function f(){}function g(a){return!a||a=="loaded"||a=="complete"||a=="uninitialized"}function h(){var a=p.shift();q=1,a?a.t?m(function(){(a.t=="c"?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){a!="img"&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l={},o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};y[c]===1&&(r=1,y[c]=[],l=b.createElement(a)),a=="object"?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),a!="img"&&(r||y[c]===2?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i(b=="c"?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),p.length==1&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&o.call(a.opera)=="[object Opera]",l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return o.call(a)=="[object Array]"},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f<d;f++)g=a[f].split("="),(e=z[g.shift()])&&(c=e(c,g));for(f=0;f<b;f++)c=x[f](c);return c}function g(a,e,f,g,i){var j=b(a),l=j.autoCallback;j.url.split(".").pop().split("?").shift(),j.bypass||(e&&(e=d(e)?e:e[a]||e[g]||e[a.split("/").pop().split("?")[0]]||h),j.instead?j.instead(a,e,f,g,i):(y[j.url]?j.noexec=!0:y[j.url]=1,f.load(j.url,j.forceCSS||!j.forceJS&&"css"==j.url.split(".").pop().split("?").shift()?"c":c,j.noexec,j.attrs,j.timeout),(d(e)||d(l))&&f.load(function(){k(),e&&e(j.origUrl,i,g),l&&l(j.origUrl,i,g),y[j.url]=2})))}function i(a,b){function c(a,c){if(a){if(e(a))c||(j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}),g(a,j,b,0,h);else if(Object(a)===a)for(n in m=function(){var b=0,c;for(c in a)a.hasOwnProperty(c)&&b++;return b}(),a)a.hasOwnProperty(n)&&(!c&&!--m&&(d(j)?j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}:j[n]=function(a){return function(){var b=[].slice.call(arguments);a&&a.apply(this,b),l()}}(k[n])),g(a[n],j,b,n,h))}else!c&&l()}var h=!!a.test,i=a.load||a.both,j=a.callback||f,k=j,l=a.complete||f,m,n;c(h?a.yep:a.nope,!!i),i&&c(i)}var j,l,m=this.yepnope.loader;if(e(a))g(a,0,m,0);else if(w(a))for(j=0;j<a.length;j++)l=a[j],e(l)?g(l,0,m,0):w(l)?B(l):Object(l)===l&&i(l,m);else Object(a)===a&&i(a,m)},B.addPrefix=function(a,b){z[a]=b},B.addFilter=function(a){x.push(a)},B.errorTimeout=1e4,b.readyState==null&&b.addEventListener&&(b.readyState="loading",b.addEventListener("DOMContentLoaded",A=function(){b.removeEventListener("DOMContentLoaded",A,0),b.readyState="complete"},0)),a.yepnope=k(),a.yepnope.executeStack=h,a.yepnope.injectJs=function(a,c,d,e,i,j){var k=b.createElement("script"),l,o,e=e||B.errorTimeout;k.src=a;for(o in d)k.setAttribute(o,d[o]);c=j?h:c||f,k.onreadystatechange=k.onload=function(){!l&&g(k.readyState)&&(l=1,c(),k.onload=k.onreadystatechange=null)},m(function(){l||(l=1,c(1))},e),i?k.onload():n.parentNode.insertBefore(k,n)},a.yepnope.injectCss=function(a,c,d,e,g,i){var e=b.createElement("link"),j,c=i?h:c||f;e.href=a,e.rel="stylesheet",e.type="text/css";for(j in d)e.setAttribute(j,d[j]);g||(n.parentNode.insertBefore(e,n),m(c,0))}}(this,document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))};
|
data/site/news/index.html
DELETED
data/test/helper.rb
DELETED
@@ -1,50 +0,0 @@
|
|
1
|
-
if ENV["COVERAGE"] == "true"
|
2
|
-
require 'simplecov'
|
3
|
-
require 'simplecov-gem-adapter'
|
4
|
-
SimpleCov.start('gem')
|
5
|
-
end
|
6
|
-
|
7
|
-
require 'test/unit'
|
8
|
-
require 'shoulda'
|
9
|
-
require 'rr'
|
10
|
-
|
11
|
-
unless defined?(Test::Unit::AssertionFailedError)
|
12
|
-
require 'active_support'
|
13
|
-
class Test::Unit::AssertionFailedError < ActiveSupport::TestCase::Assertion
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
require File.expand_path('../../lib/jekyll-import.rb', __FILE__)
|
18
|
-
|
19
|
-
include JekyllImport
|
20
|
-
|
21
|
-
JekyllImport::Importer.subclasses.each(&:require_deps)
|
22
|
-
|
23
|
-
# Send STDERR into the void to suppress program output messages
|
24
|
-
#STDERR.reopen(test(?e, '/dev/null') ? '/dev/null' : 'NUL:')
|
25
|
-
|
26
|
-
class Test::Unit::TestCase
|
27
|
-
include RR::Adapters::TestUnit
|
28
|
-
|
29
|
-
def dest_dir(*subdirs)
|
30
|
-
File.join(File.dirname(__FILE__), 'dest', *subdirs)
|
31
|
-
end
|
32
|
-
|
33
|
-
def source_dir(*subdirs)
|
34
|
-
File.join(File.dirname(__FILE__), 'source', *subdirs)
|
35
|
-
end
|
36
|
-
|
37
|
-
def clear_dest
|
38
|
-
FileUtils.rm_rf(dest_dir)
|
39
|
-
end
|
40
|
-
|
41
|
-
def capture_stdout
|
42
|
-
$old_stdout = $stdout
|
43
|
-
$stdout = StringIO.new
|
44
|
-
yield
|
45
|
-
$stdout.rewind
|
46
|
-
return $stdout.string
|
47
|
-
ensure
|
48
|
-
$stdout = $old_stdout
|
49
|
-
end
|
50
|
-
end
|
data/test/test_jrnl_importer.rb
DELETED
@@ -1,39 +0,0 @@
|
|
1
|
-
require 'helper'
|
2
|
-
require 'time'
|
3
|
-
|
4
|
-
class TestJrnlMigrator < Test::Unit::TestCase
|
5
|
-
|
6
|
-
context "jrnl" do
|
7
|
-
setup do
|
8
|
-
@journal = "2013-09-24 11:36 jrnl test case 1.\nThis is a test case for jekyll-import."
|
9
|
-
@entries = @journal.split("\n\n")
|
10
|
-
@entry = @entries.first.split("\n")
|
11
|
-
@date_length = Time.now().strftime("%Y-%m-%d %H:%M").length
|
12
|
-
end
|
13
|
-
|
14
|
-
should "have posts" do
|
15
|
-
assert_equal(1, @entries.size)
|
16
|
-
end
|
17
|
-
|
18
|
-
should "have content" do
|
19
|
-
assert_equal("This is a test case for jekyll-import.", Importers::Jrnl.get_post_content(@entry))
|
20
|
-
end
|
21
|
-
|
22
|
-
should "have date" do
|
23
|
-
assert_equal("2013-09-24 11:36", Importers::Jrnl.get_date(@entry[0], @date_length))
|
24
|
-
end
|
25
|
-
|
26
|
-
should "have title" do
|
27
|
-
assert_equal("jrnl test case 1.", Importers::Jrnl.get_title(@entry[0], @date_length))
|
28
|
-
end
|
29
|
-
|
30
|
-
should "have slug" do
|
31
|
-
assert_equal("jrnl-test-case-1", Importers::Jrnl.create_slug(Importers::Jrnl.get_title(@entry[0], @date_length)))
|
32
|
-
end
|
33
|
-
|
34
|
-
should "have filename" do
|
35
|
-
assert_equal("2013-09-24-jrnl-test-case-1.md", Importers::Jrnl.create_filename(Importers::Jrnl.get_date(@entry[0], @date_length), Importers::Jrnl.create_slug(Importers::Jrnl.get_title(@entry[0], @date_length)), 'md'))
|
36
|
-
end
|
37
|
-
|
38
|
-
end
|
39
|
-
end
|
data/test/test_mt_importer.rb
DELETED
@@ -1,104 +0,0 @@
|
|
1
|
-
require 'helper'
|
2
|
-
require 'date'
|
3
|
-
|
4
|
-
class TestMTMigrator < Test::Unit::TestCase
|
5
|
-
def stub_entry_row(overrides = {})
|
6
|
-
now = DateTime.now
|
7
|
-
# These properties corespond to the column names for the mt_entry table
|
8
|
-
{
|
9
|
-
:entry_id => 1,
|
10
|
-
:entry_blog_id => 1,
|
11
|
-
:entry_status => Importers::MT::STATUS_PUBLISHED,
|
12
|
-
:entry_author_id => 1,
|
13
|
-
:entry_allow_comments => 0,
|
14
|
-
:entry_allow_pings => 0,
|
15
|
-
:entry_convert_breaks => "__default__",
|
16
|
-
:entry_category_id => nil,
|
17
|
-
:entry_title => "Lorem Ipsum",
|
18
|
-
:entry_excerpt => "Lorem ipsum dolor sit amet, consectetuer adipiscing elit.",
|
19
|
-
:entry_text => "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vivamus vitae risus vitae lorem iaculis placerat.",
|
20
|
-
:entry_text_more => "Aliquam sit amet felis. Etiam congue. Donec risus risus, pretium ac, tincidunt eu, tempor eu, quam. Morbi blandit mollis magna.",
|
21
|
-
:entry_to_ping_urls => "",
|
22
|
-
:entry_pinged_urls => nil,
|
23
|
-
:entry_keywords => "",
|
24
|
-
:entry_tangent_cache => nil,
|
25
|
-
:entry_created_on => now,
|
26
|
-
:entry_modified_on => now,
|
27
|
-
:entry_created_by => nil,
|
28
|
-
:entry_modified_by => 1,
|
29
|
-
:entry_basename => "lorem_ipsum",
|
30
|
-
:entry_atom_id => "tag:www.example.com,#{now.year}:/blog/1.4",
|
31
|
-
:entry_week_number => "#{now.year}#{now.cweek}".to_i,
|
32
|
-
:entry_ping_count => 0,
|
33
|
-
:entry_comment_count => 0,
|
34
|
-
:entry_authored_on => now,
|
35
|
-
:entry_template_id => nil,
|
36
|
-
:entry_class => "entry"
|
37
|
-
}.merge(overrides)
|
38
|
-
end
|
39
|
-
|
40
|
-
should "set layout to post" do
|
41
|
-
assert_equal("post", Importers::MT.post_metadata(stub_entry_row)["layout"])
|
42
|
-
end
|
43
|
-
|
44
|
-
should "extract authored_on as date, formatted as 'YYYY-MM-DD HH:MM:SS Z'" do
|
45
|
-
post = stub_entry_row
|
46
|
-
expected_date = post[:entry_authored_on].strftime('%Y-%m-%d %H:%M:%S %z')
|
47
|
-
assert_equal(expected_date, Importers::MT.post_metadata(post)["date"])
|
48
|
-
end
|
49
|
-
|
50
|
-
should "extract entry_excerpt as excerpt" do
|
51
|
-
post = stub_entry_row
|
52
|
-
assert_equal(post[:entry_excerpt], Importers::MT.post_metadata(post)["excerpt"])
|
53
|
-
end
|
54
|
-
|
55
|
-
should "extract entry_id as mt_id" do
|
56
|
-
post = stub_entry_row(:entry_id => 123)
|
57
|
-
assert_equal(123, Importers::MT.post_metadata(post)["mt_id"])
|
58
|
-
end
|
59
|
-
|
60
|
-
should "extract entry_title as title" do
|
61
|
-
post = stub_entry_row
|
62
|
-
assert_equal(post[:entry_title], Importers::MT.post_metadata(post)["title"])
|
63
|
-
end
|
64
|
-
|
65
|
-
should "set published to false if entry_status is not published" do
|
66
|
-
post = stub_entry_row(:entry_status => Importers::MT::STATUS_DRAFT)
|
67
|
-
assert_equal(false, Importers::MT.post_metadata(post)["published"])
|
68
|
-
end
|
69
|
-
|
70
|
-
should "not set published if entry_status is published" do
|
71
|
-
post = stub_entry_row(:entry_status => Importers::MT::STATUS_PUBLISHED)
|
72
|
-
assert_equal(nil, Importers::MT.post_metadata(post)["published"])
|
73
|
-
end
|
74
|
-
|
75
|
-
should "include entry_text" do
|
76
|
-
post = stub_entry_row
|
77
|
-
assert Importers::MT.post_content(post).include?(post[:entry_text])
|
78
|
-
end
|
79
|
-
|
80
|
-
should "include entry_text_more" do
|
81
|
-
post = stub_entry_row
|
82
|
-
assert Importers::MT.post_content(post).include?(post[:entry_text_more])
|
83
|
-
end
|
84
|
-
|
85
|
-
should "include a <!--MORE--> separator when there is entry_text_more" do
|
86
|
-
post = stub_entry_row(:entry_text_more => "Some more entry")
|
87
|
-
assert Importers::MT.post_content(post).include?(Importers::MT::MORE_CONTENT_SEPARATOR)
|
88
|
-
end
|
89
|
-
|
90
|
-
should "not include a <!--MORE--> separator when there is no entry_text_more" do
|
91
|
-
post = stub_entry_row(:entry_text_more => "")
|
92
|
-
assert !Importers::MT.post_content(post).include?(Importers::MT::MORE_CONTENT_SEPARATOR)
|
93
|
-
end
|
94
|
-
|
95
|
-
should "include the entry_authored_on date in the file name" do
|
96
|
-
post = stub_entry_row(:entry_authored_on => Time.parse("2013-01-02 00:00:00 -00:00").utc)
|
97
|
-
assert Importers::MT.post_file_name(post).include?("2013-01-02")
|
98
|
-
end
|
99
|
-
|
100
|
-
should "include entry_basename in the file name" do
|
101
|
-
post = stub_entry_row(:entry_basename => "my_blog-entry")
|
102
|
-
assert Importers::MT.post_file_name(post).include?("my_blog-entry")
|
103
|
-
end
|
104
|
-
end
|
@@ -1,108 +0,0 @@
|
|
1
|
-
require 'helper'
|
2
|
-
require 'json'
|
3
|
-
|
4
|
-
class TestTumblrImporter < Test::Unit::TestCase
|
5
|
-
|
6
|
-
context "A Tumblr blog" do
|
7
|
-
setup do
|
8
|
-
Importers::Tumblr.require_deps
|
9
|
-
@jsonPayload = '{"tumblelog":{"title":"JekyllImport","description":"Jekyll Importer Test.","name":"JekyllImport","timezone":"Canada\/Atlantic","cname":"https://github.com/jekyll/jekyll-import/","feeds":[]},"posts-start":0,"posts-total":"2","posts-type":false,"posts":[{"id":54759400073,"url":"https:\/\/github.com\/post\/54759400073","url-with-slug":"http:\/\/github.com\/post\/54759400073\/jekyll-test","type":"regular","date-gmt":"2013-07-06 16:27:23 GMT","date":"Sat, 06 Jul 2013 13:27:23","bookmarklet":null,"mobile":null,"feed-item":"","from-feed-id":0,"unix-timestamp":1373128043,"format":"html","reblog-key":"0L6yPcHr","slug":"jekyll-test","regular-title":"Jekyll: Test","regular-body":"<p>Testing...<\/p>","tags":["jekyll"]},{"id":"71845593082","url":"http:\/\/example.com\/post\/71845593082","url-with-slug":"http:\/\/example.com\/post\/71845593082\/knock-knock","type":"answer","date-gmt":"2014-01-01 14:08:45 GMT","date":"Wed, 01 Jan 2014 09:08:45","bookmarklet":0,"mobile":0,"feed-item":"","from-feed-id":0,"unix-timestamp":1388585325,"format":"html","reblog-key":"jPfWHFnT","slug":"knock-knock","question":"Knock knock?","answer":"<p>Who is there?<\/p>"}]}'
|
10
|
-
@posts = JSON.parse(@jsonPayload)
|
11
|
-
@batch = @posts["posts"].map { |post| Importers::Tumblr.post_to_hash(post, 'html') }
|
12
|
-
end
|
13
|
-
|
14
|
-
should "have a post" do
|
15
|
-
assert_equal(2, @posts["posts"].size)
|
16
|
-
end
|
17
|
-
|
18
|
-
should "convert post into hash" do
|
19
|
-
refute_nil(@batch, "a batch with a valid post should exist")
|
20
|
-
end
|
21
|
-
|
22
|
-
context "post" do
|
23
|
-
should "have a corresponding type" do
|
24
|
-
assert_equal("regular", @posts['posts'][0]['type'])
|
25
|
-
end
|
26
|
-
|
27
|
-
should "have a hash with a valid name" do
|
28
|
-
assert_equal("2013-07-06-jekyll-test.html", @batch[0][:name])
|
29
|
-
end
|
30
|
-
|
31
|
-
should "have a hash with a valid layout" do
|
32
|
-
assert_equal("post", @batch[0][:header]['layout'])
|
33
|
-
end
|
34
|
-
|
35
|
-
should "have a hash with a valid title" do
|
36
|
-
assert_equal("Jekyll: Test", @batch[0][:header]['title'])
|
37
|
-
end
|
38
|
-
|
39
|
-
should "have a hash with valid tags" do
|
40
|
-
assert_equal("jekyll", @batch[0][:header]['tags'][0])
|
41
|
-
end
|
42
|
-
|
43
|
-
should "have a hash with valid content" do
|
44
|
-
assert_equal("<p>Testing...</p>", @batch[0][:content])
|
45
|
-
end
|
46
|
-
|
47
|
-
should "have a hash with a valid url" do
|
48
|
-
assert_equal("https://github.com/post/54759400073", @batch[0][:url])
|
49
|
-
end
|
50
|
-
|
51
|
-
should "have a hash with a valid slug" do
|
52
|
-
assert_equal("http://github.com/post/54759400073/jekyll-test", @batch[0][:slug])
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
|
-
context "answer" do
|
57
|
-
should "have a corresponding type" do
|
58
|
-
assert_equal("answer", @posts['posts'][1]['type'])
|
59
|
-
end
|
60
|
-
|
61
|
-
should "have a hash with a valid name" do
|
62
|
-
assert_equal("2014-01-01-knock-knock.html", @batch[1][:name])
|
63
|
-
end
|
64
|
-
|
65
|
-
should "have a hash with a valid layout" do
|
66
|
-
assert_equal("post", @batch[1][:header]['layout'])
|
67
|
-
end
|
68
|
-
|
69
|
-
should "have a hash with a valid title" do
|
70
|
-
assert_equal("Knock knock?", @batch[1][:header]['title'])
|
71
|
-
end
|
72
|
-
|
73
|
-
should "have a hash with valid tags" do
|
74
|
-
assert_equal([], @batch[1][:header]['tags'])
|
75
|
-
end
|
76
|
-
|
77
|
-
should "have a hash with valid content" do
|
78
|
-
assert_equal("<p>Who is there?</p>", @batch[1][:content])
|
79
|
-
end
|
80
|
-
|
81
|
-
should "have a hash with a valid url" do
|
82
|
-
assert_equal("http://example.com/post/71845593082", @batch[1][:url])
|
83
|
-
end
|
84
|
-
|
85
|
-
should "have a hash with a valid slug" do
|
86
|
-
assert_equal("http://example.com/post/71845593082/knock-knock", @batch[1][:slug])
|
87
|
-
end
|
88
|
-
end
|
89
|
-
end
|
90
|
-
|
91
|
-
context "a Tumblr photo blog" do
|
92
|
-
setup do
|
93
|
-
@jsonPhotoPayload = '{"tumblelog":{"title":"jekyll-test","description":"","name":"jekyll-test","timezone":"US\/Eastern","cname":false,"feeds":[]},"posts-start":0,"posts-total":"2","posts-type":false,"posts":[{"id":59226212476,"url":"http:\/\/jekyll-test.tumblr.com\/post\/59226212476","url-with-slug":"http:\/\/jekyll-test.tumblr.com\/post\/59226212476\/testing-multiple-photo-blog-posts","type":"photo","date-gmt":"2013-08-24 20:37:34 GMT","date":"Sat, 24 Aug 2013 16:37:34","bookmarklet":null,"mobile":null,"feed-item":"","from-feed-id":0,"unix-timestamp":1377376654,"format":"html","reblog-key":"CTkEpLrW","slug":"testing-multiple-photo-blog-posts","photo-caption":"<p>testing multiple photo blog posts<\/p>","width":"500","height":"500","photo-url-1280":"http:\/\/31.media.tumblr.com\/9c7a3d2a18322ed8720eb2efefe91542\/tumblr_ms1ymmMFhF1sgzdxzo1_500.jpg","photo-url-500":"http:\/\/31.media.tumblr.com\/9c7a3d2a18322ed8720eb2efefe91542\/tumblr_ms1ymmMFhF1sgzdxzo1_500.jpg","photo-url-400":"http:\/\/31.media.tumblr.com\/9c7a3d2a18322ed8720eb2efefe91542\/tumblr_ms1ymmMFhF1sgzdxzo1_400.jpg","photo-url-250":"http:\/\/24.media.tumblr.com\/9c7a3d2a18322ed8720eb2efefe91542\/tumblr_ms1ymmMFhF1sgzdxzo1_250.jpg","photo-url-100":"http:\/\/31.media.tumblr.com\/9c7a3d2a18322ed8720eb2efefe91542\/tumblr_ms1ymmMFhF1sgzdxzo1_100.jpg","photo-url-75":"http:\/\/24.media.tumblr.com\/9c7a3d2a18322ed8720eb2efefe91542\/tumblr_ms1ymmMFhF1sgzdxzo1_75sq.jpg","photos":[{"offset":"o1","caption":"","width":"500","height":"500","photo-url-1280":"http:\/\/31.media.tumblr.com\/9c7a3d2a18322ed8720eb2efefe91542\/tumblr_ms1ymmMFhF1sgzdxzo1_500.jpg","photo-url-500":"http:\/\/31.media.tumblr.com\/9c7a3d2a18322ed8720eb2efefe91542\/tumblr_ms1ymmMFhF1sgzdxzo1_500.jpg","photo-url-400":"http:\/\/31.media.tumblr.com\/9c7a3d2a18322ed8720eb2efefe91542\/tumblr_ms1ymmMFhF1sgzdxzo1_400.jpg","photo-url-250":"http:\/\/24.media.tumblr.com\/9c7a3d2a18322ed8720eb2efefe91542\/tumblr_ms1ymmMFhF1sgzdxzo1_250.jpg","photo-url-100":"http:\/\/31.media.tumblr.com\/9c7a3d2a18322ed8720eb2efefe91542\/tumblr_ms1ymmMFhF1sgzdxzo1_100.jpg","photo-url-75":"http:\/\/24.media.tumblr.com\/9c7a3d2a18322ed8720eb2efefe91542\/tumblr_ms1ymmMFhF1sgzdxzo1_75sq.jpg"},{"offset":"o2","caption":"","width":"804","height":"732","photo-url-1280":"http:\/\/24.media.tumblr.com\/deb244a5beaae6e32301c06eb32f39d9\/tumblr_ms1ymmMFhF1sgzdxzo2_1280.jpg","photo-url-500":"http:\/\/24.media.tumblr.com\/deb244a5beaae6e32301c06eb32f39d9\/tumblr_ms1ymmMFhF1sgzdxzo2_500.jpg","photo-url-400":"http:\/\/24.media.tumblr.com\/deb244a5beaae6e32301c06eb32f39d9\/tumblr_ms1ymmMFhF1sgzdxzo2_400.jpg","photo-url-250":"http:\/\/24.media.tumblr.com\/deb244a5beaae6e32301c06eb32f39d9\/tumblr_ms1ymmMFhF1sgzdxzo2_250.jpg","photo-url-100":"http:\/\/31.media.tumblr.com\/deb244a5beaae6e32301c06eb32f39d9\/tumblr_ms1ymmMFhF1sgzdxzo2_100.jpg","photo-url-75":"http:\/\/31.media.tumblr.com\/deb244a5beaae6e32301c06eb32f39d9\/tumblr_ms1ymmMFhF1sgzdxzo2_75sq.jpg"}],"tags":["jekyll"]},{"id":59226098458,"url":"http:\/\/jekyll-test.tumblr.com\/post\/59226098458","url-with-slug":"http:\/\/jekyll-test.tumblr.com\/post\/59226098458\/kitty-with-toy","type":"photo","date-gmt":"2013-08-24 20:36:09 GMT","date":"Sat, 24 Aug 2013 16:36:09","bookmarklet":null,"mobile":null,"feed-item":"","from-feed-id":0,"unix-timestamp":1377376569,"format":"html","reblog-key":"UwhVmPot","slug":"kitty-with-toy","photo-caption":"<p>kitty with toy<\/p>","width":"351","height":"600","photo-url-1280":"http:\/\/24.media.tumblr.com\/51a0da0c6fb64291508ef43fbf817085\/tumblr_ms1yk9QKGh1sgzdxzo1_400.jpg","photo-url-500":"http:\/\/24.media.tumblr.com\/51a0da0c6fb64291508ef43fbf817085\/tumblr_ms1yk9QKGh1sgzdxzo1_400.jpg","photo-url-400":"http:\/\/24.media.tumblr.com\/51a0da0c6fb64291508ef43fbf817085\/tumblr_ms1yk9QKGh1sgzdxzo1_400.jpg","photo-url-250":"http:\/\/31.media.tumblr.com\/51a0da0c6fb64291508ef43fbf817085\/tumblr_ms1yk9QKGh1sgzdxzo1_250.jpg","photo-url-100":"http:\/\/24.media.tumblr.com\/51a0da0c6fb64291508ef43fbf817085\/tumblr_ms1yk9QKGh1sgzdxzo1_100.jpg","photo-url-75":"http:\/\/31.media.tumblr.com\/51a0da0c6fb64291508ef43fbf817085\/tumblr_ms1yk9QKGh1sgzdxzo1_75sq.jpg","photos":[]}]}'
|
94
|
-
@posts = JSON.parse(@jsonPhotoPayload)
|
95
|
-
end
|
96
|
-
|
97
|
-
should "import a post with multiple photos" do
|
98
|
-
batch = @posts["posts"].map { |post| Importers::Tumblr.post_to_hash(post, 'html') }
|
99
|
-
assert_match(/tumblr_ms1ymmMFhF1sgzdxzo1_500\.jpg/, batch[0][:content])
|
100
|
-
assert_match(/tumblr_ms1ymmMFhF1sgzdxzo2_1280\.jpg/, batch[0][:content])
|
101
|
-
end
|
102
|
-
should "import a post with a single photo" do
|
103
|
-
batch = @posts["posts"].map { |post| Importers::Tumblr.post_to_hash(post, 'html') }
|
104
|
-
assert_match(/tumblr_ms1yk9QKGh1sgzdxzo1_400\.jpg/, batch[1][:content])
|
105
|
-
end
|
106
|
-
end
|
107
|
-
|
108
|
-
end
|
data/test/test_util.rb
DELETED
@@ -1,10 +0,0 @@
|
|
1
|
-
require 'helper'
|
2
|
-
|
3
|
-
class TestUtil < Test::Unit::TestCase
|
4
|
-
|
5
|
-
should ".wpautop (wordpress auto-paragraphs)" do
|
6
|
-
original = "this is a test\n<p>and it works</p>"
|
7
|
-
expected = "<p>this is a test</p>\n<p>and it works</p>\n"
|
8
|
-
assert_equal(expected, Util.wpautop(original))
|
9
|
-
end
|
10
|
-
end
|