mirror of
https://github.com/TryGhost/Ghost.git
synced 2024-12-26 12:21:36 +03:00
Merge branch 'master' into stable-db-version
This commit is contained in:
commit
8cea12e728
2
.gitignore
vendored
2
.gitignore
vendored
@ -37,7 +37,7 @@ projectFilesBackup
|
||||
/core/server/data/export/exported*
|
||||
/docs
|
||||
/_site
|
||||
/content/images/*
|
||||
/content/images/**/*
|
||||
|
||||
# Changelog, which is autogenerated, not committed
|
||||
CHANGELOG.md
|
||||
|
@ -6,7 +6,6 @@ var path = require('path'),
|
||||
spawn = require("child_process").spawn,
|
||||
buildDirectory = path.resolve(process.cwd(), '.build'),
|
||||
distDirectory = path.resolve(process.cwd(), '.dist'),
|
||||
config = require('./config'),
|
||||
_ = require('underscore'),
|
||||
configureGrunt = function (grunt) {
|
||||
|
||||
@ -110,9 +109,7 @@ var path = require('path'),
|
||||
// allow unused parameters
|
||||
unparam: true,
|
||||
// don't require use strict pragma
|
||||
sloppy: true,
|
||||
// allow bitwise operators
|
||||
bitwise: true
|
||||
sloppy: true
|
||||
},
|
||||
files: {
|
||||
src: [
|
||||
@ -487,6 +484,7 @@ var path = require('path'),
|
||||
// Using this janky looking integerising-method
|
||||
// because it's faster and doesn't result in NaN, which
|
||||
// breaks sorting
|
||||
/*jslint bitwise: true */
|
||||
return (+b[1] | 0) - (+a[1] | 0);
|
||||
}
|
||||
|
||||
@ -501,7 +499,7 @@ var path = require('path'),
|
||||
.map(function (tag) {
|
||||
return {
|
||||
"tag": tag.split(/tags\//).pop().trim(),
|
||||
"ref": tag.split(/\s+/).shift().trim(),
|
||||
"ref": tag.split(/\s+/).shift().trim()
|
||||
};
|
||||
})
|
||||
.sort(sortTags);
|
||||
|
@ -1,13 +0,0 @@
|
||||
#Content
|
||||
|
||||
This section of the repo is the area that a normal user is allowed to add and change stuff. This is where their themes, plugins and images will live.
|
||||
|
||||
By default for an install:
|
||||
|
||||
* the themes directory will contain Casper
|
||||
* the plugins directory will be empty
|
||||
* the images directory will be empty
|
||||
|
||||
Currently the plugins and images directory contain some stuff for testing.
|
||||
|
||||
By default, Ghost will support very basic image uploads. It will be expected and encouraged for users to connect to a 3rd party service for improved media support and a CDN. Much like comments, we don't see supporting advanced file uploads, having a media library or being a CDN as core competencies - there are already plenty of people out there doing this much better than we can.
|
3
content/images/README.md
Normal file
3
content/images/README.md
Normal file
@ -0,0 +1,3 @@
|
||||
# Content / Images
|
||||
|
||||
If using the standard file storage, Ghost will upload images to this directory
|
@ -1,11 +0,0 @@
|
||||
# Core
|
||||
|
||||
Core contains the bread and butter of ghost. It is currently divided up into:
|
||||
|
||||
* **client** - the assets, helpers, models, view and templates for rendering the admin panel backbone app
|
||||
* **server** - the controllers & helpers for driving the server side app along with the model, api, and data
|
||||
* **shared** - just contains lang for now, although it's not shared yet, more stuff should go here soon like handlebars helpers
|
||||
* **test** - contains unit tests and a set of html prototypes of the admin UI. Really, this folder should reflect all of core
|
||||
* **ghost.js** - currently both the glue that binds everything together and what gives us the API for registering themes and plugins. The initTheme function is a bit of a hack which lets us serve different views & static content up for the admin & blog
|
||||
|
||||
This structure is by no means final and recommendations are more than welcome.
|
@ -190,6 +190,12 @@ form {
|
||||
background: #f8f8f8;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
&.large {
|
||||
padding: 1em 1.8em;
|
||||
font-size: 14px;
|
||||
line-height: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
// This is the default button style
|
||||
|
13
core/shared/vendor/showdown/extensions/github.js
vendored
13
core/shared/vendor/showdown/extensions/github.js
vendored
@ -33,24 +33,11 @@
|
||||
return "{gfm-js-extract-pre-" + hash + "}";
|
||||
}, 'm');
|
||||
|
||||
// Replace showdown's implementation of bold
|
||||
// <strong> must go first:
|
||||
text = text.replace(/__([\s\S]+?)__(?!_)|\*\*([\s\S]+?)\*\*(?!\*)/g, function (match, m1, m2) {
|
||||
return m1 ? "<strong>" + m1 + "</strong>" : "<strong>" + m2 + "</strong>";
|
||||
});
|
||||
|
||||
//prevent foo_bar and foo_bar_baz from ending up with an italic word in the middle
|
||||
text = text.replace(/(^(?! {4}|\t)\w+_\w+_\w[\w_]*)/gm, function (x) {
|
||||
return x.replace(/_/gm, '\\_');
|
||||
});
|
||||
|
||||
// Replace showdown's implementation of emphasis
|
||||
// <em>
|
||||
// requires a negative lookbehind for \n before the final * to prevent breaking lists
|
||||
text = text.replace(/\b(\\)?_((?:__|[\s\S])+?)_\b|\*((?:\*\*|[\s\S])+?)(\n)?\*(?!\*)/g, function (match, escaped, m1, m2, newline) {
|
||||
return escaped || newline ? match : m1 ? "<em>" + m1 + "</em>" : "<em>" + m2 + "</em>";
|
||||
});
|
||||
|
||||
// in very clear cases, let newlines become <br /> tags
|
||||
text = text.replace(/^[\w\<][^\n]*\n+/gm, function (x) {
|
||||
return x.match(/\n{2}/) ? x : x.trim() + " \n";
|
||||
|
Loading…
Reference in New Issue
Block a user