Compare commits

...

10 Commits

10 changed files with 103 additions and 16 deletions

17
LICENSE Normal file
View File

@ -0,0 +1,17 @@
# The Fight Club License
1. You do not talk about the FIGHT CLUB LICENSE.
2. You DO NOT talk about the FIGHT CLUB LICENSE.
3. If someone says "stop" or goes limp or taps out, the project is over.
4. Only two developers to a project.
5. One project at a time.
6. No shirts, no shoes.
7. Projects will go on as long as they have to.
8. If this is your first time reading the FIGHT CLUB LICENSE, you HAVE to license your next project under the FIGHT CLUB LICENSE.

7
README Normal file
View File

@ -0,0 +1,7 @@
This repository contains some of the code for MatthiasPortzel.com.
It is licensed under the Fight Club License (warning: this license is a memetic hazard), except of course resources which are not mine to license.
Since I want the feel of MatthiasPortzel.com to remain unique, you should not use all of this code, but you may use parts of it.
Use at your own risk.

View File

@ -7,7 +7,7 @@
"database": {
"client": "sqlite3",
"connection": {
"filename": "/Users/matthias/Programs/MatthiasPortzel.com-6-Ghost/content/data/ghost-local.db"
"filename": "/Users/matthias/Programs/MatthiasPortzel.com/content/data/ghost-local.db"
}
},
"mail": {
@ -21,7 +21,7 @@
},
"process": "local",
"paths": {
"contentPath": "/Users/matthias/Programs/MatthiasPortzel.com-6-Ghost/content"
"contentPath": "/Users/matthias/Programs/MatthiasPortzel.com/content"
},
"privacy": {
"useUpdateCheck": false,

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

View File

@ -1,2 +1,22 @@
/*The MIT License (MIT)
Copyright (c) 2013 Kelly Martin
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/
(function(a,b){'object'==typeof exports&&'object'==typeof module?module.exports=b():'function'==typeof define&&define.amd?define([],b):'object'==typeof exports?exports.smartquotes=b():a.smartquotes=b()})(this,function(){return function(a){function b(d){if(c[d])return c[d].exports;var e=c[d]={i:d,l:!1,exports:{}};return a[d].call(e.exports,e,e.exports,b),e.l=!0,e.exports}var c={};return b.m=a,b.c=c,b.d=function(a,c,d){b.o(a,c)||Object.defineProperty(a,c,{configurable:!1,enumerable:!0,get:d})},b.n=function(a){var c=a&&a.__esModule?function(){return a['default']}:function(){return a};return b.d(c,'a',c),c},b.o=function(a,b){return Object.prototype.hasOwnProperty.call(a,b)},b.p='',b(b.s=3)}([function(a,b,c){'use strict';var d=c(1);a.exports=function(a,b){return b=b||{},d.forEach(function(c){var d='function'==typeof c[1]?c[1](b.retainLength):c[1];a=a.replace(c[0],d)}),a}},function(a){'use strict';var b='a-zA-Z\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\xFD\xFF\xE6\u0153\xC1\xC0\xC2\xC4\xC3\xC5\xC7\xC9\xC8\xCA\xCB\xCD\xCC\xCE\xCF\xD1\xD3\xD2\xD4\xD6\xD5\xDA\xD9\xDB\xDC\xDD\u0178\xC6\u0152';a.exports=[[/'''/g,function(a){return'\u2034'+(a?'\u2063\u2063':'')}],[/([^a-zA-ZáàâäãåçéèêëíìîïñóòôöõúùûüýÿæœÁÀÂÄÃÅÇÉÈÊËÍÌÎÏÑÓÒÔÖÕÚÙÛÜÝŸÆŒ_0-9]|^)"([a-zA-ZáàâäãåçéèêëíìîïñóòôöõúùûüýÿæœÁÀÂÄÃÅÇÉÈÊËÍÌÎÏÑÓÒÔÖÕÚÙÛÜÝŸÆŒ_0-9])/g,'$1\u201C$2'],[/(\u201c[^"]*)"([^"]*$|[^\u201c"]*\u201c)/g,'$1\u201D$2'],[/([^0-9])"/g,'$1\u201D'],[/''/g,function(a){return'\u2033'+(a?'\u2063':'')}],[/([^a-zA-ZáàâäãåçéèêëíìîïñóòôöõúùûüýÿæœÁÀÂÄÃÅÇÉÈÊËÍÌÎÏÑÓÒÔÖÕÚÙÛÜÝŸÆŒ_0-9]|^)'(\S)/g,'$1\u2018$2'],[/([a-zA-ZáàâäãåçéèêëíìîïñóòôöõúùûüýÿæœÁÀÂÄÃÅÇÉÈÊËÍÌÎÏÑÓÒÔÖÕÚÙÛÜÝŸÆŒ_0-9])'([a-zA-ZáàâäãåçéèêëíìîïñóòôöõúùûüýÿæœÁÀÂÄÃÅÇÉÈÊËÍÌÎÏÑÓÒÔÖÕÚÙÛÜÝŸÆŒ])/ig,'$1\u2019$2'],[/(\u2018)([0-9]{2}[^\u2019]*)(\u2018([^0-9]|$)|$|\u2019[$[pL}])/ig,'\u2019$2$3'],[/((\u2018[^']*)|[a-zA-ZáàâäãåçéèêëíìîïñóòôöõúùûüýÿæœÁÀÂÄÃÅÇÉÈÊËÍÌÎÏÑÓÒÔÖÕÚÙÛÜÝŸÆŒ])'([^0-9]|$)/ig,'$1\u2019$3'],[/(\B|^)\u2018(?=([^\u2018\u2019]*\u2019\b)*([^\u2018\u2019]*\B[^a-zA-ZáàâäãåçéèêëíìîïñóòôöõúùûüýÿæœÁÀÂÄÃÅÇÉÈÊËÍÌÎÏÑÓÒÔÖÕÚÙÛÜÝŸÆŒ_0-9][\u2018\u2019]\b|[^\u2018\u2019]*$))/ig,'$1\u2019'],[/"/g,'\u2033'],[/'/g,'\u2032']]},function(a,b,c){'use strict';function d(a){if(-1===['CODE','PRE','SCRIPT','STYLE','NOSCRIPT'].indexOf(a.nodeName.toUpperCase())){var b,c,h,i='',j=a.childNodes,k=[];for(b=0;b<j.length;b++)c=j[b],c.nodeType===g||'#text'===c.nodeName?(k.push([c,i.length]),i+=c.nodeValue||c.value):c.childNodes&&c.childNodes.length&&(i+=d(c));for(b in i=f(i,{retainLength:!0}),k)h=k[b],h[0].nodeValue?h[0].nodeValue=e(i,h[0].nodeValue,h[1]):h[0].value&&(h[0].value=e(i,h[0].value,h[1]));return i}}function e(a,b,c){return a.substr(c,b.length).replace('\u2063','')}var f=c(0),g='undefined'!=typeof Element&&Element.TEXT_NODE||3;a.exports=function(a){return d(a),a}},function(a,b,c){'use strict';function d(a){return'undefined'!=typeof document&&'undefined'==typeof a?(g.runOnReady(function(){return f(document.body)}),d):'string'==typeof a?h(a):f(a)}var e=c(1),f=c(2),g=c(4),h=c(0);a.exports=d,a.exports.string=h,a.exports.element=f,a.exports.replacements=e,a.exports.listen=g},function(a,b,c){'use strict';function d(a){var b=new MutationObserver(function(a){a.forEach(function(a){var b,c=!0,d=!1;try{for(var f,g,h=a.addedNodes[Symbol.iterator]();!(c=(f=h.next()).done);c=!0)g=f.value,e(g)}catch(a){d=!0,b=a}finally{try{!c&&h.return&&h.return()}finally{if(d)throw b}}})});return d.runOnReady(function(){b.observe(a||document.body,{childList:!0,subtree:!0})}),b}var e=c(2),f=c(0);d.runOnReady=function(a){if('loading'!==document.readyState)a();else if(document.addEventListener)document.addEventListener('DOMContentLoaded',a,!1);else var b=setInterval(function(){'loading'!==document.readyState&&(clearInterval(b),a())},10)},a.exports=d}])});
//# sourceMappingURL=smartquotes.js.map
//# sourceMappingURL=smartquotes.js.map

View File

@ -95,7 +95,7 @@ html {
body {
margin: 0;
padding: 0;
min-width: 100%;
width: 100%;
min-height: 100%;
position: absolute;
@ -214,6 +214,15 @@ p {
}
}
.kg-card {
max-width: 100%;
img.kg-image {
max-width: inherit;
height: unset;
}
}
.footer {
padding: 25px;
font-style: italic;

View File

@ -1,8 +1,8 @@
{
"name": "paper-houses",
"description": "A blog theme inspired by the warm feel of paper.",
"version": "1.1.2",
"license": "BSD0",
"version": "1.2.0",
"license": "Fight Club License",
"author": {
"email": "MatthiasPortzel@gmail.com"
},

View File

@ -15,10 +15,7 @@
<span class="post-card-primary-tag">{{title}}</span>
</a>
{{!-- Featured posts actually deserve an excerpt, IMO. --}}
{{#if featured}}
<div class="post-card-excerpt">{{excerpt}}</div>
{{/if}}
<div class="post-card-excerpt">{{excerpt}}</div>
</div>
{{/foreach}}
</div>

View File

@ -2,10 +2,15 @@
# Should be run as ./rebuild.sh
if ! command -v sass &> /dev/null
then
echo "sass could not be found. Please install sass"
exit
fi
(
# CD to the directory that this file is in
cd $(dirname "$0")
sass -w assets/styles/main.scss assets/built/main.css
if ! command -v sass &> /dev/null
then
echo "sass could not be found. Please install sass"
exit
fi
sass -w assets/styles/main.scss assets/built/main.css
)

View File

@ -0,0 +1,32 @@
diff --git a/ghost/core/core/frontend/meta/rss-url.js b/ghost/core/core/frontend/meta/rss-url.js
index 5d4bc5092b..2e279b0f90 100644
--- a/ghost/core/core/frontend/meta/rss-url.js
+++ b/ghost/core/core/frontend/meta/rss-url.js
@@ -3,7 +3,7 @@ const routingService = require('../services/routing');
function getRssUrl(data, absolute) {
return routingService.registry.getRssUrl({
absolute: absolute
- });
+ }, data);
}
module.exports = getRssUrl;
diff --git a/ghost/core/core/frontend/services/routing/registry.js b/ghost/core/core/frontend/services/routing/registry.js
index c71c6840b6..bf6f03048f 100644
--- a/ghost/core/core/frontend/services/routing/registry.js
+++ b/ghost/core/core/frontend/services/routing/registry.js
@@ -73,9 +73,13 @@ module.exports = {
* @param {Object} options
* @returns {String}
*/
- getRssUrl(options) {
+ getRssUrl(options, data) {
let rssUrl = null;
+ if (data && (data.relativeUrl === "/projects/" || data.relativeUrl === "/ideas/")) {
+ return data.relativeUrl + "rss";
+ }
+
const collectionIndexRouter = _.find(routers, {name: 'CollectionRouter', routerName: 'index'});
if (collectionIndexRouter) {