Commit Graph

905 Commits

Author SHA1 Message Date
John O'Nolan
58b97497a3 New signup screen styling + new name field. 2013-09-08 20:39:55 +02:00
cobbspur
9ce0e9f4a0 User Profile Image Upload
closes #280

- adds image uploader to user profile page.
- click on cover picture or change cover button to open file upload modal.
- created new upload modal that extends model to reduce some code duplication
2013-09-08 17:19:57 +01:00
John O'Nolan
4ed9ef487a Get notifications in the right place on login
Closes #588
2013-09-08 18:08:11 +02:00
John O'Nolan
f641bdbc4f Turn off the register link 2013-09-08 18:00:58 +02:00
John O'Nolan
5ae36b00c9 Updating tests 2013-09-08 17:56:45 +02:00
John O'Nolan
4b40bb5aab Center login form with CSS instead of JS 2013-09-08 17:12:25 +02:00
Hannah Wolfe
8a5f96b635 Merge pull request #640 from jgable/fixFancyPlugin
Fix FancyFirstChar nested tag content
2013-09-07 15:57:58 -07:00
James Inman
ad46b853c4 Notifications are too long
Closes #560, #436, #545, #437

* Added .s to the end of all post notification messages, per #437.
* Added nice message when saving a draft per #436, also for other post statuses (your post will be published), etc.
* Removed post name from notifications per #560 and #545.
* Changed delete post error message to be "Your post could not be deleted. Please try again."

NB: There may be an issue with the format of error messages which could be a separate bug?
2013-09-07 17:18:23 +01:00
James Inman
4c72a5e328 Shortcut for italic inserts _ instead of *
Closes #643

Pressing Ctrl + I/Cmd + I when text is selected in Markdown mode now inserts _ instead of * around the selected text.
2013-09-07 16:38:04 +01:00
Jacob Gable
e56a0badb5 Fix FancyFirstChar nested tag content
Added some white space skipping and inner tag checking to the fancify
method.
2013-09-06 20:32:20 -05:00
Sebastian Gierlinger
d9fb23496c Clean up config (non-env based settings)
closes #625
- removed defaultLang, forceI18n and activePlugins from config
- added values to default-settings.json
- updated to use values from settings
2013-09-06 18:46:50 +01:00
Hannah Wolfe
630c03d4d4 Fixing issues with {{url}}
closes #639

Updated url helper to work
Updated tests
Changed helper.js in tests/unit to be called testUtil to avoid confusion
2013-09-06 18:23:22 +01:00
Hannah Wolfe
2f6828ed6c Merge pull request #634 from sebgie/issue#593
Add setting for posts per page
2013-09-06 08:45:44 -07:00
Matthew Harrison-Jones
e7f33673e2 Improved Button sizing in Modals
The `min-width` on buttons in Modals has been set to '100px'
2013-09-06 16:01:27 +01:00
Matthew Harrison-Jones
38abb54cad Updated the animation option on Upload Modals to new format 2013-09-06 15:39:26 +01:00
Matthew Harrison-Jones
d73dca66a9 Bug Fix: Modals now fit onto the screen on mobile devices 2013-09-06 15:38:42 +01:00
Matthew Harrison-Jones
44deb1c0df Bug Fix: Action modals now have centered content and correct spacing
This also adds functionality to Modals, so they can have multiple
styles, e.g 'wide' and 'centered'.
2013-09-06 15:36:16 +01:00
Sebastian Gierlinger
27ba9289d6 Add setting for posts per page
closes #593
- added default setting of 6 posts per page
- added posts per page to settings page
- added limit to frontend.js (setting does not change API behavior)
2013-09-05 14:56:09 +02:00
Hannah Wolfe
5bae29a0db Merge branch 'master' into migrations-003
Conflicts:
	core/server/data/migration/index.js
	core/server/models/post.js
2013-09-05 12:40:43 +01:00
Hannah Wolfe
0f70007028 Merge pull request #629 from matthojo/Scroll-Shadows
Fixed scroll shadows not appearing
2013-09-05 03:09:24 -07:00
Matthew Harrison-Jones
61ac9f7284 Design fixes for the user settings panel
* Bio field now counts down.
* Bio filed count now turns red when < 20
* Cover image now has gradient
* Change button now has square corners
* Removed "forgot password" link
* Change password button is now red
* Change password button is now aligned with the form
* Hover state on the profile picture now reads "Edit Picture"
2013-09-05 10:00:52 +01:00
Hannah Wolfe
6cb7252978 Merge pull request #617 from cobbspur/dropzone2
Adds modal Image uploader on settings page
2013-09-04 14:55:04 -07:00
cobbspur
e61f3684d5 Adds modal Image uploader on settings page
issue #432

adds a modal template for image uploads
adds buttons to settings page to upload images for blog logo and icon
once image is uploaded displays an 'X' to reset back to dropzone
saves image and renders settings page.

ToDo

add url field when clicking on url icon

fix position of 'X' for both settings and editor
2013-09-04 22:03:55 +01:00
Hannah Wolfe
ddcc7b78b6 Removing api calls from server side
closes #603, issue #395

- Changed hard-coded 'JOE BLOGGS' to use author data
- We still had api calls loading data server side before rendering pages.. which is unnecessary.
- Only thing using this was editor title, which is now populated client side
- May improve content screen load time.
2013-09-04 21:51:54 +01:00
Seth Lilly
57e3bed9d9 Corrected typo in code documentation
Corrected typo in code documentation

-Changed "atricle" to "article"
2013-09-04 13:45:14 -04:00
Matthew Harrison-Jones
3e3987754a Fixed scroll shadows not appearing
Implemented scroll classes into a jQuery plugin and fixed shadows not appearing when scrolled
2013-09-04 17:21:50 +01:00
Sebastian
4abaa8ceee Fix for settings view
no issue
- removed/added availableThemes before/after saving the model
2013-09-04 16:24:59 +01:00
Hannah Wolfe
c469d05c46 Mail settings are per environment
closes #624

- example mail setting in development config
- updated mail module & tests
2013-09-04 16:15:21 +01:00
Hannah Wolfe
c45f911a1e Improving underscore handling
Additional changes to how underscores are handled.
This more closely matches codemirror, but is still not 100%.
2013-09-04 15:20:26 +01:00
Hannah Wolfe
21487aa802 Email errors & cleanup
closes #618

- don't send a welcome email. This appeared to be breaking tests.
- make sure we handle errors from sending emails properly
- use promises when adding notifications
2013-09-04 15:04:25 +01:00
Adam Howard
e24b5c3382 Proper settings infrastructure, allowing new features without compromising old data.
On server load, check for settings which have not been set, and apply a default value to the settings table from a JSON file.
2013-09-03 22:56:34 +01:00
Hannah Wolfe
978502579f Fixing incorrect stub in mail test
- This test was failing on macs
2013-09-03 21:57:39 +01:00
Hannah Wolfe
4059747424 Merge pull request #602 from jgable/fixCtrlS
Fix Ctrl-S saving
2013-09-03 13:00:52 -07:00
Hannah Wolfe
d38faddca1 Merge pull request #605 from jgable/settingsBackButton
Fix settings back button functionality
2013-09-03 04:20:25 -07:00
Hannah Wolfe
6978dec198 Global settings cleanup 2013-09-03 11:38:10 +01:00
Hannah Wolfe
36874badd5 Merge pull request #587 from javorszky/iss288
Email sending with Sendgrid plus password reset
2013-09-02 15:44:48 -07:00
Hannah Wolfe
888cf2131e Merge pull request #585 from cobbspur/dropzone2
Updates to modals
2013-09-02 15:36:53 -07:00
Hannah Wolfe
d1db0db073 Merge pull request #614 from ErisDS/theme-globals
Theme globals
2013-09-02 15:07:08 -07:00
Hannah Wolfe
552a25018f Absolute option for {{url}} helper
- pass absolute to {{url}} to get an absolute url rather than a relative one
2013-09-02 22:06:16 +01:00
Hannah Wolfe
599d233be9 RSS Feed Autodetection
closes #599

- {{ghost_head}} now outputs feed link tag
2013-09-02 21:57:26 +01:00
Hannah Wolfe
1ff9550e1f User property aliases
issue #389

 - Temporary aliases for user model, schema will be changed soon, in the meantime we want themes to be built using the right properties
2013-09-02 20:58:49 +01:00
Hannah Wolfe
53063366e0 Fallbacks and defaults for {{date}} helper
closes #608

If no context is specified, falls back to using published_at
If published_at is not available, will output today's date
2013-09-02 20:58:49 +01:00
Hannah Wolfe
be62a550f9 Global settings for themes
issue #389

 - Upgrade express-hbs to get template options access
 - Grab config & settings with a hacky new method in ghost & pass to template options
 - Settings are no longer passed to res.locals
2013-09-02 20:58:49 +01:00
cobbspur
e43029e894 Modified body_class helper
closes #591

- body_class helper returns archive-template class on archive pages
- added to unit tests
2013-09-02 20:13:48 +01:00
Hannah Wolfe
859e20d8a3 Merge pull request #590 from ErisDS/showdown-gfm-fix
GFM Auto-linking fixes
2013-09-02 10:58:34 -07:00
Hannah Wolfe
13646f9ef6 Blog URL per environment
closes #572

 - Moved the siteUrl setting into each individual env config.
 - Updated app start and RSS to use the new config
2013-09-02 15:50:14 +01:00
Hannah Wolfe
4d4d4ac0e6 Merge pull request #604 from jgable/fixRssLink
Fix RSS urls
2013-09-02 07:41:56 -07:00
Hannah Wolfe
56b7f925da Improved theme loading
- In some cases, Ghost exploded when the active theme did not have a partials directory
- Added handling for if the active theme was not present
- Probably will conflict with #574 I need to fix this.
2013-09-02 11:35:09 +01:00
Hannah Wolfe
76c2ff6818 Merge pull request #574 from sebgie/issue#488-2
Adding theme switcher to settings/general
2013-09-02 03:25:10 -07:00
Jacob Gable
972aeac037 Fix settings back button functionality
Added a redirect call to the router instead of defaulting the pane. To
handle using the back button after clicking through to other tabs I
added an event listener on the route:settings event.
2013-09-01 22:54:19 -05:00
Jacob Gable
3d2f03a08f Fix RSS urls 2013-09-01 20:34:26 -05:00
Hannah Wolfe
7570599252 Merge pull request #564 from skattyadz/tags-squashed
Add post tagging functionality
2013-09-01 17:50:21 -07:00
Jacob Gable
67901ff699 Fix Ctrl-S saving
Refactored into separate button handler that passes the status.
Although, it doesn't look like the status is on the button element any
more.
2013-09-01 19:38:06 -05:00
cobbspur
6caed50915 Updates to modals
issue #432

- adds configurable button classes
- adds optional title
- added afterRender callback
- changed context for accept and reject methods
2013-09-01 19:44:31 +01:00
Hannah Wolfe
684150d36d GFM Auto-linking fixes
closes #577

- auto-linking was interfering with things that were already a link
- now checks to ensure we are not in a HTML or markdown link already
- added tonnes of new tests
2013-09-01 16:32:54 +01:00
Gabor Javorszky
5999d01b7d Repaired email sending, implement password reset
Closes #288
* I use SendGrid for sending the emails, and it works fine (provided you supply the correct credentials in `config.mail` in `config.js`)
* Generates a random 12 char long alphanumeric password, replaces user's pw, and sends an email about it.
2013-09-01 00:20:12 +02:00
Ricardo Tomasi
56619a87f8 Implement e-mail sending 2013-08-31 22:21:33 +02:00
John O'Nolan
0539fc2262 Remove word-breaking from content management button
Fixes #575
2013-08-31 08:37:01 +02:00
Adam Howard
d90df55b75 Add post tagging functionality
closes #367
closes #368

- Adds Tag model with a many-to-many relationship with Post
- Adds Tag API to retrieve all previously used Tags (needed for suggestions)
- Allows setting and retrieval of Tags for a post through the Post's existing API endpoints.
- Hooks up the editor's tag suggestion box to the Ghost install's previously used tags
- Tidies the client code for adding tags, and encapsulates the functionality into a Backbone view
2013-08-30 16:20:22 +01:00
Hannah Wolfe
5a908bd3d3 Merge pull request #569 from gotdibbs/Issue469
Strip whitespace on post titles
2013-08-30 07:23:13 -07:00
John O'Nolan
790d0f2f69 Merge pull request #568 from gotdibbs/Issue352
Save post button now stays spun up when menu is active
2013-08-30 06:35:01 -07:00
William Dibbern
94f262a697 Strip whitespace on titles
Fixes #469

- Added client-side trimming of title on blur if it is not already
trimmed.
- Added server-side trimming of title on 'saving' event of post model.
2013-08-30 08:04:32 -05:00
Sebastian
4525c355af Adding theme switcher to settings/general
closes #488 and #107
- added dropdown for theme selection on general page
- added GET /api/v0.1/themes to retrieve available themes
- modified settings model to get available themes
- modified updateSettignsCache to remove path from settings.activeTheme
2013-08-30 13:20:30 +02:00
Hannah Wolfe
b55ed1c33c CasperJS test amends
- removing --fail-fast as this prevents screenshots
- adding debug code for the good of all
2013-08-30 10:50:42 +01:00
William Dibbern
9a089ecee3 Save post button now stays spun up
Fixes #352

- Removed one-off styles and code for the publish button. Publish button
now uses data-toggle attribute wired up in toggle.js and forms.scss.
- Ensured split button common styles are up to date to conform with
vendor prefixing of transform properties.
2013-08-29 22:16:16 -05:00
Hannah Wolfe
6c0434fc8f Merge pull request #555 from jfi/iss371
Adding fade transitions between settings tabs.
2013-08-29 13:46:20 -07:00
Hannah Wolfe
fe713c1042 Further grunt validate / casperjs test improvements
- Test environment runs on a different port
- Removed wait() and replaced with waitFor() where possible
- Added more timeout functions / handlers
- General consistency improvements
2013-08-29 20:13:17 +01:00
James Inman
b4a0b1498f Adding fade transitions between settings tabs.
Closes #371
- Added a hide and fadeIn() to the render method in Settings.Pane
- Any Settings.Pane which overwrites render should now make sure the parent is called
- Run through grunt validate, all OK.
2013-08-29 18:36:33 +01:00
John O'Nolan
68704db01a Updated Icons
Closes #556
* New Ghost Logo Icon
* New Lightning Icon for plugins screen
* Remove old Ghost Logo Icon
* Moved #ghost to .ghost-logo to clean up conflicts with editor, previously fixed with dodgy overnesting
2013-08-29 19:06:47 +02:00
Hannah Wolfe
08b8aba421 Merge branch 'master' of github.com:/TryGhost/Ghost 2013-08-29 17:04:55 +01:00
Hannah Wolfe
ab7da3f5db Pagination unit test updates 2013-08-29 17:04:42 +01:00
John O'Nolan
b0a9046ca2 Split setting scss out into separate layout files
cc @matthojo
2013-08-29 17:59:29 +02:00
John O'Nolan
ce3909d6d9 Updated pagination helper with cleaner markup. 2013-08-29 16:43:47 +01:00
Hannah Wolfe
a8790ee81f Merge pull request #559 from matthojo/Notification-Animations
Improved notification animations
2013-08-29 07:40:44 -07:00
Hannah Wolfe
94b3200af0 Merge pull request #554 from matthojo/Modal-Improvements
Improved Modals transitions
2013-08-29 07:40:35 -07:00
Hannah Wolfe
0a89cf12b2 Merge pull request #459 from ErisDS/showdown-gfm
Adding Github Flavored Markdown support
2013-08-29 07:39:42 -07:00
Hannah Wolfe
f318d164d4 Adding Github Flavored Markdown support
closes #422, issue #295

- Added GFM mode to codemirror
- Took the github.js extension for Showdown and added all useful behaviour
- Now supports strikethrough, line breaking and
  multiple underscores, and auto linking urls & emails without breaking
  definition urls
- Also added definition url handling in preparation for #295
- Added unit tests for the extentions individually and integrated with
  showdown
2013-08-29 14:32:09 +01:00
Hannah Wolfe
c11e30a17c Upgrading CodeMirror
issue #422

- upgraded CodeMirror to the latest version
2013-08-29 14:32:02 +01:00
Hannah Wolfe
f9ace100fb Merge pull request #549 from pmgarman/rss
Add RSS Feed
2013-08-29 06:07:37 -07:00
Hannah Wolfe
840c46e4da Merge pull request #547 from cobbspur/dropzone2
Improved dropzone
2013-08-29 05:44:48 -07:00
Matthew Harrison-Jones
e68b4df8c3 Improved notification animations
Notifications now slide down and fade in, and then fade out and slide
up.
2013-08-29 11:06:16 +01:00
Hannah Wolfe
33cdbb3ea7 Minor tweaks to casperjs tests x 2 2013-08-28 23:39:50 +01:00
Hannah Wolfe
0daea32ff3 Minor tweaks to casperjs tests 2013-08-28 23:27:26 +01:00
Hannah Wolfe
c186ba5c16 Merge pull request #543 from gotdibbs/Issue363
Added CasperJS Functional Test to Build
2013-08-28 15:20:57 -07:00
Patrick Garman
8030946095 Add RSS Feed
Issue #366
- adds node-rss dependency
- adds /rss/ and /rss/:page/ routes which return XML RSS 2.0 feed
2013-08-28 10:36:32 -05:00
Matthew Harrison-Jones
f68cf7d868 Improved Modals transitions
This also includes a new jQuery function to get the transition duration of an element.

Modals animations now start when `.in` is applied to the modal container.
2013-08-28 14:23:36 +01:00
Matthew Harrison-Jones
1b9725ead2 Included jQuery Source Map
This stops console errors asking for the file.
2013-08-28 11:47:43 +01:00
Hannah Wolfe
02a8482447 Merge pull request #541 from cobbspur/helpers3
added url handlebars helper
2013-08-27 15:10:02 -07:00
Hannah Wolfe
df855e3e5b Merge pull request #533 from JohnONolan/jquery-downgrade
Downgrade bundled version of jQuery to 1.10.2
2013-08-27 15:08:39 -07:00
cobbspur
7ca3da398a Improved dropzone
- Made fail warning and button display none to reduce DOM content.
- Made toolbar red for fail not orange
- Fixed loading-cat  which was persistent in cases of low bandwidth (particularly downstream)
2013-08-27 19:54:06 +01:00
cobbspur
5c12c78d00 added url handlebars helper
closes #528

- adds method (isPost)to models index.js that returns true if content, content_raw, title and slug are valid properties
- adds url helper which checks context is post using  isPost method
- adds unit test to check a url is prefixed with  /
-adds unit test which checks for empty string if either of the 4 properties above are not present.
2013-08-26 23:58:35 +01:00
William Dibbern
badd6d10d4 Added CasperJS Functional Test to Build
Fixes #363

- Added new grunt task to run casperjs tests.
- Added prerequisites (sass/bourbon/casperjs) to travis config.
- Updated failing functional tests to use more robust `waitFor`
statements.
- Updated capserjs `base.js` file to use a password which conforms to
our 8 character minimum.
- Added necessary logout to first test and also registration step to
ensure a user is present in the system.
2013-08-26 16:28:41 -05:00
Hannah Wolfe
9074b87205 Standardising notification types
- CSS classes directly correspond to notification 'types'
 - Error, warn and info are reasonably standard terms for descending priority 'log levels', using these to denote red, orange and blue notifications.
2013-08-26 22:26:50 +01:00
John O'Nolan
12d53dead6 Move pagination to class rather than ID
Pagination could conceivably be used in more than one place on a page (eg. both top and bottom). For that reason it should probably have a class rather than an ID.
2013-08-26 02:29:44 +02:00
John O'Nolan
1efd16dbcc Fixed another CodeMirror syntax highlighting bug 2013-08-26 01:44:12 +02:00
John O'Nolan
f81bdc308d Downgrade bundled version of jQuery to 1.10.2
Closes #532
2013-08-25 21:59:40 +02:00
Hannah Wolfe
c70dfde7e3 Agressive stripping of the model attributes
- fixes #517
- prevents this from occuring again in future with other relations
- validation function & stripping done for all models
- casper test for flow, plus validation & logged out tests
2013-08-25 18:12:27 +01:00
Hannah Wolfe
41e36cca7e Validation consistency
- introduced validation method in the post and user model
- moved signup validation onto model
- consistent use of validation & error messaging in the admin UI
- helper methods in base view moved to a utils object
2013-08-25 18:10:12 +01:00
Hannah Wolfe
052aa57360 Merge pull request #512 from gotdibbs/Issue443
Rename /logout/ to /signout/ and /login/ to /signin/
2013-08-25 10:06:53 -07:00
Hannah Wolfe
da0ab62989 Merge pull request #525 from cobbspur/helpers
renamed helpers to body_class and post_class
2013-08-25 08:29:20 -07:00
cobbspur
fbe44a041c fixes missing helper
closes #521

- changes handlebars default missing helper function to log error instead of throwing error
2013-08-25 15:45:44 +01:00
cobbspur
ce0f1aae46 renamed helpers to body_class and post_class
closes #508

- changed bodyclass helper to body_class and updated unit test
- changed postclass helper to post_class and updated unit test
2013-08-25 14:49:57 +01:00
Hannah Wolfe
fafead5718 Merge pull request #520 from gotdibbs/Timeouts
Patch to prevent timeouts in unit tests
2013-08-25 06:41:57 -07:00
Hannah Wolfe
c63012a678 Merge pull request #524 from cobbspur/helpers
added ghost_head and ghost_foot helpers
2013-08-25 06:41:34 -07:00
cobbspur
00d36e976d added ghost_head and ghost_foot helpers
closes #382, closes #383

 - added helper called ghost_head to insert meta data with current version of ghost
 - added helper called ghost_foot to insert script tag for jquery
 - added unit test for both helpers
 - removed trailing slash from ghost.js for 'shared' path and removed from outside of loop as it is shared on front and backend
2013-08-25 14:34:35 +01:00
Hannah Wolfe
6c5676de9c Merge pull request #522 from JohnONolan/post-template
Rename classes applied to {{bodyclass}} to be less generic
2013-08-25 06:34:00 -07:00
John O'Nolan
b9f43aecf4 Correcting code attribution reference 2013-08-25 12:51:43 +02:00
John O'Nolan
8ac173aa19 Rename classes applied to {{bodyclass}} to be less generic 2013-08-25 12:06:52 +02:00
William Dibbern
d7521958d5 Rename /logout/ to /signout/ and /login/ to /signin/
Closes #443
- Renamed routes
- Added redirects for old routes
- Added unit test for redirect
- Updated references to old routes in templates, html
2013-08-24 22:38:48 -05:00
William Dibbern
ff3a9dde00 Patch to prevent timeouts in unit tests
Temporary patch for #362

- Split out database teardown and initialization so they each have their
own 2 second timeout.
- Added some test-specific increased timeouts.
2013-08-24 16:07:15 -05:00
John O'Nolan
9d8bf4b0f9 Fixed overzealous word breaking
Closed #514
Reverting change from @c46a0c6 where I moved the new word breaking CSS rules to the body tag to apply everywhere. This doesn't play nicely everywhere - so this change moves them back to just the content preview areas where they are needed.
2013-08-24 20:43:33 +02:00
Hannah Wolfe
60450e8c2a Merge pull request #504 from javorszky/iss418
Dropping the database invalidates cookies
2013-08-24 11:07:43 -07:00
Hannah Wolfe
6f05812377 Merge pull request #503 from sebgie/questionmarkbug
Fix for post with '?'
2013-08-24 08:06:51 -07:00
Hannah Wolfe
29c36fe2bf Merge pull request #501 from cobbspur/posttitle
content management preview pane displays post title
2013-08-24 08:04:58 -07:00
Hannah Wolfe
60c7643a58 Merge pull request #438 from cgiffard/hbs-helper-author
Template Helpers: Added author hbs helper
2013-08-24 07:45:36 -07:00
Gabor Javorszky
3ded75ca4f Dropping the database invalidates cookies
Closes #418.
* Moved the app config behind the promise wall (I couldn't reliably assign generated uuid to the ghost object AND have access to an automatically created db from fixtures AND not have circular reference (try including api in ghost.js ;) ))
* Added new functionality to `ghost.init()`, which is responsible for the first run bit (I'm thinking plopping a filter or an action in there for future devs)
* Modified `.gitignore` so the `.png`s casper generates aren't added
* Fixed ambiguity and typos here and there, see code
2013-08-24 01:02:01 +01:00
Sebastian
9ee91b3547 Fix for post with '?'
closes #433
- if slug is empty after trimming use "post" as slug instead
2013-08-23 18:49:45 +02:00
Christopher Giffard
4397bcf86e Template Helpers: Added author hbs helper
Fixes #358

 - Altered post model to enable eager loading of author and
   user relationships
 - Fixed broken base model toJSON method, which prevented
   eager resolution of relationships (thanks @tgriesser)
 - Passes author information to template.
 - Added unit tests for author helper.
 - Added unit tests for findOne and findAll additions to Post Model
   which take into account the eager relationships

 Usage:
 `{{author}}` -- returns the full name of the post author
 `{{author.attribute}}` -- returns property of the current post author
 as described by the user model
2013-08-23 19:13:32 +10:00
cobbspur
df17a19008 content management preview pane displays post title
closes #477

- change to preview.hbs to show title as a h1
2013-08-22 22:48:33 +01:00
Hannah Wolfe
ba8bdf7dd7 Merge pull request #496 from javorszky/iss468
Added brute force protection to login
2013-08-22 14:19:05 -07:00
Hannah Wolfe
98e4923077 Added bodyclass and postclass helper
closes #472

- filterable as array, output as string
- with unit tests
2013-08-22 21:01:20 +01:00
Hannah Wolfe
2d3e2f36b1 Merge pull request #493 from ErisDS/helpers
Added excerpt helper
2013-08-22 12:56:01 -07:00
Gabor Javorszky
368eb7a352 Added brute force protection to login
Closes half of #468
* adds a 2 second limit until you can retry logging in, otherwise sends you a 401.
* bounce: 2ms, checks the pw: 254ms on my machine
* added a test to the casper suite
2013-08-22 20:48:36 +01:00
cobbspur
3ac82f14a0 rename helpers paginate -> pagination, dateFormat -> date
closes #381

- renamed entries for dateFormat in helpers to date
- renamed entries for paginate in helpers  and unit tests to pagination
2013-08-22 20:42:54 +01:00
Hannah Wolfe
2b94364842 Merge pull request #492 from gotdibbs/Issue352
Fixed editor actions menu
2013-08-22 11:48:37 -07:00
Hannah Wolfe
e7897143e8 Merge pull request #491 from ErisDS/history-fix
Settings pane switching was causing multiple events to be bound
2013-08-22 11:44:36 -07:00
Tim Griesser
c83835a811 fixes incorrect toJSON extension, for eager loaded models 2013-08-22 13:53:46 -04:00
Hannah Wolfe
2afa81bc1e Added excerpt helper
closes #471

- strips HTML aggressively
- with unit tests
2013-08-22 15:51:30 +01:00
Hannah Wolfe
9092ed95ba Improvements to settings pane switching
closes #174

- Triggering router events for navigation between settings panes
caused the route function to be re-executed, which caused all
kinds of fun.
- Wrapped the settings route function in an if statement to preserve
the current view if it already a settings view.
- Added Ghost pub-sub and using that instead of History API
2013-08-22 08:08:43 +01:00
William Dibbern
31dc45768a Fixed editor actions menu
Closes #352
- Updated editor.scss to break out transition shorthand into its
constituent properties so that bourbon appends the correct vendor
prefixes.
- Added full set of publish options to the statusMap.
- Added setActiveStatus function to handle toggling the active action
for the publish menu.
- Cleaned up handleStatus and updatePost functions to match desired
functionality of menu items toggling the selected action and the actual
button on the split button invoking said action.
2013-08-21 21:31:59 -05:00
Jacob Gable
23ee4cadc3 Fix redirect loop when no content 2013-08-21 09:05:17 -05:00
John O'Nolan
1e95ec0c3d Cleaned up typographic rules 2013-08-21 14:43:24 +02:00
John O'Nolan
3a427905e0 Merge pull request #485 from matthojo/Login-Fix
Bug Fix: Login form now maintains the right layout on resize
2013-08-21 05:01:27 -07:00
Matthew Harrison-Jones
d357eea40f Bug Fix: Login form now maintains the right layout on reize 2013-08-21 12:45:33 +01:00
John O'Nolan
c46a0c6a43 Improved Editor Styles
First pass at refactoring editor styles to make the Ghost writing experience more pleasurable.
- Larger font
- Bold title
- More space for writing
- Minor code standards cleanup
2013-08-21 10:22:38 +02:00
John O'Nolan
b12ec4f213 Removed Typeplate dependency
Closes #480
2013-08-21 09:36:49 +02:00
John O'Nolan
078e0ffc20 More vertical space for writing
This change reduces the margin on the post editor between the title and body content from 15px to 5px. This change keeps the aesthetic of the editor, while enabling a little bit more body content to be on the screen at the same time. Small but significant adjustment.
2013-08-21 08:48:38 +02:00
John O'Nolan
044cf21887 Adjusted word breaking rules in editor
Fixes #427
- Removed break-all, which was causing excessive behaviour detailed in the issue
- Removed -webkit- hyphen prefix, as both Chrome and Safari are ignoring it
- Firefox is currently the only browser respecting hyphens, the others simply break without hyphenating
2013-08-21 08:38:58 +02:00
Hannah Wolfe
637679851b Merge pull request #470 from matthojo/Centering-Fix
Bug Fix: Login centering now works correctly
2013-08-20 14:08:00 -07:00
Hannah Wolfe
3ce7b9d251 Moving misplaced test file 2013-08-20 21:28:19 +01:00
Hannah Wolfe
5ff0a2816b Dropping !image[] & other regex fixes
closes #452

- changed keyboard shortcut to insert ![].. not !image[]
- changed regex in ghostdown to only work for ![]
- added a further regex in ghostdown to properly match for URLs inside the parens
2013-08-20 21:22:41 +01:00
Hannah Wolfe
8863766b76 More iOS friendly form elements
Issue #465

- converted email fields throughout the site to be of type email
- converted the user website field to be of type url
- removed the browser validation by setting novalidate on the form, not the element
2013-08-20 20:24:20 +01:00
Hannah Wolfe
2b0c544e3e Merge pull request #456 from matthojo/Keyboard-Shortcut-Improvements
Keyboard shortcut improvements
2013-08-20 07:05:41 -07:00
Matthew Harrison-Jones
346bf2d91e Improved the keyboard shortcuts for lists and when no text is selected.
The cursor will now be placed in the middle of the inserted Markdown when no text is selected. Lists keep tabbed format.
2013-08-20 12:44:47 +01:00
Matthew Harrison-Jones
b4702a6dd0 Bug Fix: Login centering now works correctly
This also adds in additional functionality to the .center() plugin. A choice to animate centering and also the success event fired.
2013-08-20 11:55:44 +01:00
Hannah Wolfe
0ce2958ee7 Updating password length validation
- setting it back to 7 chars so that people who have 7 char passwords, which were valid, can login.
2013-08-20 10:43:11 +01:00
John O'Nolan
c47bc92406 Removed Chrome's native form validation from login
See #465
2013-08-20 11:33:49 +02:00
Hannah Wolfe
4cc3a11cda Manually merging pull request #439 from javorszky/iss354
Conflicts:
	core/client/views/login.js
2013-08-20 10:11:09 +01:00
John O'Nolan
a6dee88a57 Made login form iOS friendly
Closed #465
- Introduced type="email" h/t @javorszky
- Introduced special attributes to prevent iOS auto-capitalising/correcting
2013-08-20 11:03:56 +02:00
Gabor Javorszky
be7ed2dfdc Added validation for signup and login screens
Closes #374
* Included node-validator as a package
* Implemented server side validation (the client side js is a mess, need a LOT of work)
* Validates email address both on signup and login screens, gives error message on malformed email addresses
* Requires at least 8 chars of password
* Tells user if password is too short
* Tells user if no such user on login
* Tells user if wrong password on login
* Tells user if server responds with a 404 (goes away, dies, etc)
* Added middleware between req and login / signup for validation
2013-08-20 09:42:42 +01:00
John O'Nolan
3b6b5a085d Converting all SASS to 4 space standard.
New standard - ALL .scss files are now indented 4 spaces, no tabs. I want to keep this *consistent* because it has been getting incredibly messy. This applies to all native Ghost sass - 3rd party files (normalize, typeplate, bourbon, breakpoint, etc) are not included. /cc @matthojo @erisds
2013-08-20 10:27:15 +02:00
Hannah Wolfe
fef1aae7be Merge pull request #467 from jgable/titleFixes
Trim title and don't allow negative pages
2013-08-20 01:12:33 -07:00
Hannah Wolfe
1d37016c7a Merge pull request #453 from matthojo/404-Page
First pass at 404 page
2013-08-20 00:58:27 -07:00
Gabor Javorszky
4e1aa2119c Removed flash, renamed file, unbroken logout / login request notifications
Closes #354
* Reintroduced the redirect functionality (not logged in, tries to go to `/settings/user/`, is sent to `/login/` with info notification, after login user is taken to `/settings/user/)
* Reintroduced the "Successfully logged out" message
* Added middleware to scrub passive notifications from `ghost.notifications` after one use basically mimicing client side passive notifications
* Removed flash from everywhere. Even from package.json.
* Renamed flashed.hbs to notifications.hbs, modified default.hbs accordingly
* Added function to parse GET variables on client side
2013-08-20 08:15:06 +01:00
Jacob Gable
a1d00b56b2 Trim title and don't allow negative pages
Added a .trim() to the slug generation and redirect to the first page if
the page parameter is parsed as less than 1.
2013-08-19 21:18:39 -05:00
William Dibbern
4f2421fac7 MySQL Support
Closes #364
- Confirmed integration with local mysql installation works.
- Updated fixtures and migration with appropriate schema-conforming
values.
- Updated schema with appropriate defaults and nullable columns.
- Updated fixDates function on model base to appropriately deserialize
values coming from SQLite now that dates are stored as actual DateTime
objects/ISO strings.
- Updated default language to be 'en_US'.
2013-08-19 17:25:02 -05:00
Hannah Wolfe
ae3b1ac635 Merge pull request #435 from cobbspur/url
Ghostdown uses src of url to establish start image for image uploader
2013-08-19 14:03:02 -07:00
Hannah Wolfe
5cb8b640da Merge pull request #454 from skattyadz/login-on-register
Immediately log in when a new user account is created
2013-08-19 13:46:06 -07:00
Hannah Wolfe
29d3fccca6 Merge pull request #460 from cobbspur/dropfile
stops image/file drop onto editor markdown causing havoc
2013-08-19 13:43:59 -07:00
Hannah Wolfe
fd77d4bb04 Merge pull request #420 from jgable/fix412
Redirect to last page of posts
2013-08-19 13:43:26 -07:00
Hannah Wolfe
0024abce28 Merge pull request #457 from matthojo/Mobile-Interactions
Removed swiping from Mobile Interactions
2013-08-19 13:37:48 -07:00
cobbspur
a7feb04894 stops image/file drop onto editor markdown causing havoc
closes #391

 - added dragDrop falsey value to codemirror instance
2013-08-19 20:23:44 +01:00
Matthew Harrison-Jones
431fdc70b1 Markup for 404 page
This needs Javascript to vertically center the page.
2013-08-19 16:34:10 +01:00
John O'Nolan
6300501037 More codemirror syntax highlighting fixes 2013-08-19 17:26:09 +02:00
Matthew Harrison-Jones
31b94e23a3 Removed swiping from Mobile Interactions 2013-08-19 16:13:47 +01:00
Jacob Gable
bbd60a6f23 Redirect to last page of posts
If requesting a page of posts that is above the total number of pages,
redirect to the last page of posts.
2013-08-19 09:35:52 -05:00
Matthew Harrison-Jones
20bcaa4339 Included missing Mac 'code' keyboard shortcut 2013-08-19 15:10:53 +01:00
Adam Howard
6c829a0d63 Immediately log in newly registered users - removing the additional login step 2013-08-19 13:59:30 +01:00
John O'Nolan
e1e5c02152 Merge pull request #451 from cgiffard/whitespace-wrap
Layout: Break long words in markdown preview
2013-08-19 04:05:40 -07:00
Christopher Giffard
823bb6b636 Layout: Break long words in markdown preview
Fixes #427
- Uses hyphenation and word-break to break and wrap long words in markdown
  preview.
2013-08-19 20:57:40 +10:00
John O'Nolan
73cf4ea95c Fixed CodeMirror syntax highlighting bugs.
CodeMirror highlights markdown with fancy colours. This commit overrides those fuckers with black. Like my cold, dead heart.
2013-08-19 12:08:22 +02:00
John O'Nolan
06aed8786a Adjusted responsive image styles within Ghost editor to correctly size images within the preview pane.
Closed #442
2013-08-19 10:29:09 +02:00
John O'Nolan
abd6c0f6cd Removed OTT CSS text indenting on paragraph tags. Closed #445 2013-08-19 09:05:25 +02:00
John O'Nolan
2cb471e97c Added functional user profile url to user dropdown menu. 2013-08-19 08:36:29 +02:00
cobbspur
5dbf1e2d73 Ghostdown uses src of url to establish start image for image uploader
closes #401

- adds src of image in editor if url present
- refactored upload plugin as description was being lost
2013-08-18 23:37:02 +01:00
Hannah Wolfe
892adf68d7 Merge pull request #430 from jgable/fix414
Show validation error when saving post
2013-08-18 15:05:32 -07:00
Hannah Wolfe
a78736413f Merge pull request #431 from cobbspur/events
Added error handling
2013-08-18 14:53:52 -07:00
cobbspur
2ea472d003 Added error handling
- refactored to build dropzone elements individually
- reduced markdown in ghostdown file
- added Try again button on failure of image upload
2013-08-18 21:37:03 +01:00
Jacob Gable
d41d002467 Show validation error when saving post
Show the model.validationError if one is present and also coalesce the
empty title for a more meaningful message.  Also, reset the button text
after failure.
2013-08-18 15:01:21 -05:00
Hannah Wolfe
fd33b276a0 Merge pull request #419 from jgable/postPermissions
Edit Post Permissions
2013-08-18 12:11:55 -07:00
Jacob Gable
53061a4c04 Fix multiple title slug generation
Change slug generation to not append multiple hyphens
2013-08-18 13:23:15 -05:00
Jacob Gable
bbe5105048 Edit Post Permissions 2013-08-18 12:28:05 -05:00
Hannah Wolfe
e765af4633 Merge pull request #404 from matthojo/mobile-interactions
Mobile interactions
2013-08-18 09:19:06 -07:00
Hannah Wolfe
e794e8de7a Merge pull request #393 from matthojo/Modal-Fixes
Several Modal Fixes
2013-08-18 09:05:49 -07:00
Gabor Javorszky
f6d164b5d8 Current user added
Closes #340. Closes #375
* Replaced session with id of current user
* Added method to ghostlocals to always send profile picture and full name to templates (template checks if falsy)
* Modified user saving (`forge().set(new).save()` died on me, `forge().save(new)` didn't)
* If user has profile picture, that will be used
* If user has name, that will be used
* Password changing doesn't care about your email. Uses cookies. Tasty!
* User pane uses current user id. Had to set path to me, otherwise goes to `browse` instead of `read`.
* Added logic to user api to check for `id === 'me'`, and then use the cookie value
* User data saves are now correct
* There is no logout error
2013-08-17 22:02:46 +01:00
Matthew Harrison-Jones
39df7a74f7 Add in CasperJS test to check if Dashboard Widgets are moveable
Requires .time-widget
2013-08-16 12:44:33 +01:00
Matthew Harrison-Jones
6170acb670 Improved mobile interactions
This is simply a commit which improves the mobile interactions. This does not fix UI problems on mobiles.

New interactions;

Menu
* Swipe right on header to show sidebar
* Swipe left on sidebar to hide

Content
* Tap / Swipe left on item to show preview
* Swipe right to show content list

Settings
* Tap / Swipe left on link to show settings
* Swipe right on settings to show links
2013-08-16 12:44:11 +01:00
Gabor Javorszky
1d9b2d916e Passive notifications are dismissed on settings pane change
Closes #342.
It would be totally cool if we could have a Ghost.PubSub so we could hurl events there and pick them up somewhere else. For some reason all the backbone bits work on models, like `trigger` and `listenTo` and `delegateEvents`.
2013-08-15 23:18:10 +01:00
Matthew Harrison-Jones
6bd3333d6d Improved modals styling and code formatting
Solves:
* max-height 120px less than height of viewport
* fade-in a dark overlay as well as blur
* animation speeds/transitions should be smoother
* modal sizing fucks up when viewport is resized

Also improves Modal code compliance to Ghost Backbone coding patterns
2013-08-14 14:49:16 +01:00
Matthew Harrison-Jones
28937f9426 Improved several keyboard shortcuts behaviour to more closely match Mou
These include Headings, Lists and inserted dates
2013-08-14 14:49:16 +01:00
Matthew Harrison-Jones
6ca6758995 Bug Fix: Corrected wrong Keyboard Shortcuts in help modal 2013-08-14 14:49:16 +01:00
cobbspur
66278534dc fixes extensions bug for image uploader
- extensions set to lowercase
- changed navigation images to hyphenated names and corrected references
2013-08-13 21:04:07 +01:00
Hannah Wolfe
c9ec5df9d6 Merge pull request #394 from ErisDS/path-rejig
Improving the use of paths in Ghost
2013-08-12 08:10:31 -07:00
Hannah Wolfe
0e5277c6ad Merge pull request #388 from gotdibbs/Fixed-word-count-grammar
Fixed word count grammar
2013-08-12 08:09:05 -07:00
Hannah Wolfe
cbcd3c8efe Improving the use of paths in Ghost
fixes #392

- adds appRoot, and uses this to calculate other paths
- removes path calculations from loader
- remove the themedir setting in config.. completely unnecessary
- highlights just how important #360 is
2013-08-12 15:37:23 +01:00
William Dibbern
b92980ce6d Fixed word count grammar
Closes #349
- Added utility function to pluralize when appropriate.
2013-08-11 11:55:42 -05:00
John O'Nolan
8762f531a7 Removed my personal information from fixtures as Ghost is starting to get deployed more frequently now for testing purposes.
Don't want random test sites accidentally ranking in search engines for my name.
2013-08-10 15:42:54 +02:00
Christopher Giffard
e484d9224e Themes: Added truncation to hbs content helper
Fixes #256

- Developed and linked new module, downsize, for tag-safe truncation
- Altered existing content handler to accept options for truncation
- Added tests for handler

Using truncation:

{{content words=10}}
{{content characters=256}}
2013-08-07 19:45:37 +10:00
Hannah Wolfe
2f11f053ab Minor code cleanup, docs and other bits & pieces 2013-08-06 22:24:40 +01:00
Hannah Wolfe
eac3047d45 Merge pull request #339 from javorszky/iss282
Users can change password
2013-08-06 01:17:43 -07:00
Hannah Wolfe
226e641602 Merge pull request #338 from cobbspur/upload-plugin
Added image upload reusable plugin
2013-08-06 01:02:30 -07:00
Hannah Wolfe
4537843359 Fixing unused variables 2013-08-06 09:00:12 +01:00
Hannah Wolfe
a56b77f733 Minor update to notification frontend api
- motivation was an error message on the settings screen
 - now requires slightly less code to add a notification
2013-08-06 08:55:47 +01:00
Gabor Javorszky
071f9769c6 Users can change password
Closes #282
* Added a new route
* Added new methods
* Triple security!
* Passwords are actually changed
* Also added a change password button, because 'save' has too much baggage.

On security: checks whether you're logged in. Then checks whether your old password is actually the one that belongs to you (gets value from the email field for the email, see caveat no2). Checks the new passwords for === and length > 6 on client and server side as well. And THEN changes passwords.

Caveats:
* didn't add a test, as mocha fails spectacularly on my machine. SQLITE_CORRUPT: database disk image is malformed. Cute, huh?
* Because we don't have / I'm not aware of / could not find a "currentuser" variable, I need to get the email address of the user we want to change from the email field. Theoretically if they replace that with another user's email address, and supply their pw, they will change THEIR password instead of their own.
2013-08-06 00:49:06 +01:00
cobbspur
558c9d6caa Added image upload reusable plugin
issue #40 and issue #280

- Adds uploader jquery plugin
- includes settings for enabling/disabling upload progress bar
- adds routing for image uploads
- adds directories by year and month based on upload date
- Implements plugin on settings - general pane
- Implements plugin on editor
- adjusted general tab to save uploaded image src

TODO:
- Add error handling
- Storing information on editor
- Add events
2013-08-05 23:01:48 +01:00
Hannah Wolfe
1815656778 Merge pull request #267 from jgable/pluginApi
Initial Plugin API Implementation
2013-08-05 12:29:19 -07:00
Hannah Wolfe
52dc22c952 Editable user profiles in settings screen
closes #276

 - settings screen now loads a model when a pane is requested, rather than when the whole screen is requested
 - added browse, read and edit methods and routes for users to the API
 - added user model & template to client and wired everything up.
 - provided default images for cover and profile picture
2013-08-05 18:26:44 +01:00
Jacob Gable
0238909281 Initial Plugin API Implementation
Implements basic functionality described in #227 for loading plugins
from a specific directory and having a specific workflow with an init()
method and a disable() method.
2013-08-05 11:15:17 -05:00
ErisDS
8d7336a1fb Persistent notifications should not fade out
issue #333
- css fix
2013-08-05 13:56:30 +01:00
Gabor Javorszky
6c48505701 Fixed persistent success notifications
Closes #333
* Refactored the Ghost.Notifications View bundle
* Added a new initialization of the NotificationCollection (hacky, but at least satisfies JSLint). This was needed as the reason the persistent success notification couldn't be dismissed was that prerendered DOM elements weren't picked up as BB Views beforehand, and thus no events were bound to them.
2013-08-05 13:56:30 +01:00
Hannah Wolfe
338109c762 Data models import, export, and reset for 002
- added line to index.js to set node_env to development if it is not set
 - fixed a small bug with the persistent notifications and used them on debug page from server side
 - added 002 files to manage export and import for 002
 - 002 import is somewhat smarter than 001, merging settings (except version), replacing user & clearing primary keys
 - added reset to models and migration, which does the down operation the same way that init does the up operation
 - import and reset clear session & redirect to login / signup
 - additional unit tests
2013-08-05 13:56:30 +01:00
ErisDS
2a5e7ad516 Data model additions for post tags, custom data and uploads
closes #171, closes #314, closes #315

- added settings for blog logo and icon
- all other settings will need to be added as needed as it's impossible to guess what the default value should be
- added tables for post tags
- added tables for post custom data
- added location column to users
- fixeed minor bug in migrations
2013-08-05 13:56:30 +01:00
Jacob Gable
9393a956f4 Magnificent Migrations of Magical Majesty 2013-08-05 13:56:30 +01:00
Hannah Wolfe
11be64c544 Merge pull request #336 from matthojo/Delete-modals
Moved delete post confirm alert to new modal format
2013-08-05 03:49:16 -07:00
ErisDS
ec3c322652 Casper tests for CodeMirror editor
There are still some issues surrounding spaces and new lines which will need to be worked out, but we can at least start to test some of the markdown.
2013-08-05 10:31:04 +01:00
Matthew Harrison-Jones
6b791a4c10 Moved delete post confirm alert to new modal format 2013-08-05 10:16:31 +01:00
Hannah Wolfe
ec1ced9089 Bugfix for signup screen
caused by issue #326
 - implementing fade in and center on signup form by applying the functionality to a shared view
 - login and signup now both extend the shared view
2013-08-03 19:24:06 +01:00
Hannah Wolfe
2d8b5ea8c1 Backbone template cleanup
- Ghost.View now extends Ghost.TemplateView giving all views access to subviews and templates
- Views which implemented templates no longer need to
- Some views needed to re-override render which is a bit annoying
- Settings screen now has sub-templates for each pane and for the sidebar
- Additional Casper tests for settings screen
2013-08-03 16:37:06 +01:00
Hannah Wolfe
bb9a5226a8 Merge pull request #331 from jgable/overrideTemplates
Allow theme partials to override helper templates
2013-08-03 07:21:57 -07:00
Hannah Wolfe
c30187ad20 Merge pull request #326 from matthojo/admin-temp-removal
Removed `admin-ui-temp.js` and moved code to it's relative places
2013-08-03 07:21:10 -07:00
Jacob Gable
d40c08218e Allow theme partials to override helper templates
Added an existence check to the loadTemplates function
2013-08-02 13:36:37 -05:00
Hannah Wolfe
373f64a2bd Revert "Merge pull request #318 from matthojo/mobile-interactions"
This reverts commit f18c7f22c3, reversing
changes made to 4ea9d77b11.
2013-08-01 22:19:20 +01:00
Matthew Harrison-Jones
41aa2b9012 Removed admin-ui-temp.js and moved code to it's relative places 2013-08-01 15:28:13 +01:00
Hannah Wolfe
46ed73ee86 Merge pull request #325 from matthojo/Dashboard-Padding
Bug Fix: Dashboard now has correct bottom padding
2013-08-01 06:24:26 -07:00
Hannah Wolfe
a15210d2dc Merge pull request #323 from javorszky/iss278
Login / Signup forms now use Backbone
2013-08-01 06:20:05 -07:00
Matthew Harrison-Jones
3cb0af1f8f Bug Fix: Dashboard now has correct bottom padding 2013-08-01 13:34:14 +01:00
Hannah Wolfe
f18c7f22c3 Merge pull request #318 from matthojo/mobile-interactions
Improved mobile interactions
2013-08-01 00:12:25 -07:00
Christopher Giffard
d72dab071c Added simple unit tests for ghostdown extensions
(RE: discussion in pull #317)

-   Unit tests enforce well formedness of ghostdown processor function
    and what it returns.
-   Ensures image markup is recognised and replaced accurately.
2013-08-01 16:04:42 +10:00
Christopher Giffard
09ada68d9b Updated Ghostdown image regex
Updated dropzone regex to capture existing URL flag. Also supports the shorter markdown image syntax, and corrects issues with special characters in the alt field, fixing issue #146.
2013-08-01 15:53:31 +10:00
Gabor Javorszky
f36dc3c942 Login / Signup forms now use Backbone
* Moved most of control code to `core/client`
* Implemented ajax checks
2013-08-01 02:11:45 +01:00
Hannah Wolfe
68cc640d23 Merge pull request #319 from ErisDS/test-playground
Added functional tests for Ghost Admin UI using Casperjs
2013-07-31 05:14:26 -07:00
Matthew Harrison-Jones
efeede877d Improved the semantics of the Settings page
This introduces a new class of `.form-group` to replace the label containing the elements.

I have also included `name=""` attributes to inputs where there were non.
2013-07-31 12:40:46 +01:00
Hannah Wolfe
6a2851e9ca JSLint fixes for new version
- forgot to force install
- had to clean up grunt task now we no longer need the 'm' alias
- cleaned up a couple of issues it wasn't picking up before
2013-07-31 09:21:22 +01:00
Hannah Wolfe
2b9be5376e Added functional tests for Ghost Admin UI using Casperjs
Hacky implementation of a suite of casper tests. This is here so that we can start to build up some tests.
Main thing missing is being able to simulate keypresses for CodeMirror
Making the tests run nicely with grunt, travis and be independent rather than interdependent can all come later.
- See tests/functional/base.js for full usage instructions & implementation notes
2013-07-31 08:33:28 +01:00
Matthew Harrison-Jones
27b85744f1 Improved mobile interactions
This is simply a commit which improves the mobile interactions. This does not fix UI problems on mobiles.

New interactions;

Menu
* Swipe right on header to show sidebar
* Swipe left on sidebar to hide

Content
* Tap / Swipe left on item to show preview
* Swipe right to show content list

Settings
* Tap / Swipe left on link to show settings
* Swipe right on settings to show links
2013-07-30 15:27:38 +01:00
Hannah Wolfe
97eb827d47 Replaced user menu label with current Ghost version no
closes #286
- added current version as an app.local variable available on both client and server
- swapped out the user menu label for the version no
2013-07-30 12:56:16 +01:00
Matthew Harrison-Jones
b089e67154 Improved modal creation, now includes info and action types. 2013-07-26 15:32:44 +01:00
Matthew Harrison-Jones
3057945b70 Refactored menu fading to be a plugin for extendability.
Need to find suitable place for the `.overlay` hideAway function call.
2013-07-26 12:32:26 +01:00
Hannah Wolfe
8b0763ee9c Merge pull request #311 from matthojo/copy-to-html-modal
First pass at creating a usuable modal for the copy to HTML keyboard shortcut.
2013-07-25 10:42:18 -07:00
Matthew Harrison-Jones
0786ec5862 First pass at creating a usuable modal for the copy to HTML keyboard shortcut.
Has an issue where Google Chrome does not persist to keep code selected.
2013-07-25 16:00:41 +01:00
Matthew Harrison-Jones
17c582ce51 Fixed modal max-height not working 2013-07-25 11:53:19 +01:00
Matthew Harrison-Jones
62486acfd1 Improved Markdown help modal 2013-07-25 11:49:02 +01:00
ErisDS
273e2172cb Bugfix: data export path wasn't changed during restructure 2013-07-24 23:22:33 +01:00
Ricardo Tomasi
814a3d66b7 Move shared third-party libraries to /shared/vendor 2013-07-24 23:21:57 +01:00
Matthew Harrison-Jones
680bb7a5ab Reworked modals to take content from modal content templates.
This also includes the example modal, which needs to be replaced with content.
2013-07-24 11:29:20 +01:00
Matthew Harrison-Jones
d59f0809cd Started a jQuery utilities file for Ghost jQuery plugins and helpers 2013-07-24 11:15:10 +01:00
Matthew Harrison-Jones
7111960fac Added in Modals 2013-07-24 11:15:09 +01:00
Hannah Wolfe
c2ac06cf0c Merge pull request #298 from matthojo/Markdown-Fixes
Additional Keyboard Shortcuts and improvements to text highlighting
2013-07-23 11:44:14 -07:00
Hannah Wolfe
7188c385d1 Merge pull request #297 from matthojo/Editor-Scrolling
Debounce scrolling on editor
2013-07-22 08:00:15 -07:00
Matthew Harrison-Jones
3a8b01dbcb Move notification dismissal events to Backbone
Also removes stray notification alert comments
2013-07-22 14:41:28 +01:00
ErisDS
2e0d2c73d6 Bug Fix: title of deleted post in content view notification is now correct 2013-07-22 14:41:28 +01:00
Matthew Harrison-Jones
94ae164086 Success notifications now fade out after 3 seconds 2013-07-22 14:41:28 +01:00
Matthew Harrison-Jones
32b245c53c Fix notification positions
Also fixes the previous editor notification fixes to not include `calc()`
2013-07-22 14:41:27 +01:00
Gabor Javorszky
f10343079b Fixes undefined this in settings.js
Because this and self. Missed it from previous commit :/
2013-07-22 14:41:27 +01:00
Gabor Javorszky
5a1c02b5d7 Adding notifications to settings and content pages
Closes #290. In theory.
* moved flashviews to base.js, renamed to notifications
* added failures to post editor screen
* added notifications to settings (success, failure)
* added notifications when deleting posts

Most of these are not visible due to CSS rules, as overhauling that
is a task in and of itself. The notifications do show up in the inspector
though, so all is well.
2013-07-22 14:41:27 +01:00
Matthew Harrison-Jones
e7cea72935 Fixes wrong positioning of notifications. 2013-07-22 14:41:27 +01:00
Gabor Javorszky
55e0d11f87 Adding notification.hbs
Simply because I was an 1d10t
2013-07-22 14:41:27 +01:00
Gabor Javorszky
b77a8fd0d9 Notifications on front end
Should close #37. There are persistent and passive notifications.

Persistent ones:
* are stored on `ghost.notifications`.
* have an api made to add / remove them with client side ajax logic (probably not the most elegant, but works)
* uses a modified `flashes.hbs` template
* will only disappear if user closes the bar
* stack

Passive
* added with backbone view / collection combo
* stack
* disappears on navigation and when user closes it
2013-07-22 14:41:27 +01:00
Matthew Harrison-Jones
4b5932bef2 Added the ability to copy as HTML. 2013-07-22 13:50:50 +01:00
John O'Nolan
d337e16afe Merge pull request #296 from matthojo/Plugin-Management
First pass at Plugin Management design conversion
2013-07-22 04:22:37 -07:00
John O'Nolan
ae348edbdb Merge pull request #293 from matthojo/Remove-Codemirror-CSS
Removed CodeMirror Stylesheet file and moved over required CSS
2013-07-22 04:22:19 -07:00
Matthew Harrison-Jones
f85bbd5422 Improve title casing 2013-07-18 14:42:16 +01:00
Matthew Harrison-Jones
9fd653738d Additional Keyboard Shortcuts and improvements to text highlighting
This fixes the event where text would be selected after manipulation from shortcut, the cursor is now placed after the text. On links and images the url field text is highlighted.
Additional shortcuts;

* Ctrl+U: Make text uppercase
* Ctrl+Shift+U: Make text lowercase
* Ctrl+Alt+Shift+U: Make text titlecase
* Ctrl+Alt+W: Select word
* Ctrl+L: Make into list
2013-07-18 14:02:54 +01:00
Matthew Harrison-Jones
f3462245d5 Debounce scrolling on editor 2013-07-18 12:06:52 +01:00
Matthew Harrison-Jones
482da669aa First pass at Plugin Management design conversion 2013-07-18 11:36:37 +01:00
ErisDS
4fd9556904 Fixing up validation and tests for pagination helper where prev and next are undefined by default, rather than null. 2013-07-17 14:37:52 +01:00
Hannah Wolfe
061c3d6176 Merge pull request #274 from cobbspur/unittesting
improves unit testing for pagination
2013-07-16 12:06:51 -07:00
cobbspur
115996b88d improves unit testing for pagination and fixes pagination partial template (removed extra </nav>)
removes console logs for error handling in testing and travis environments
2013-07-16 19:57:19 +01:00
Hannah Wolfe
6e4755c183 Merge pull request #264 from matthojo/Login-Cursor
Automatically focus on first login input
2013-07-16 06:14:12 -07:00
Matthew Harrison-Jones
ce8ed96348 Removed CodeMirror Stylesheet file and moved over required CSS
Fixes #6.
2013-07-16 12:14:17 +01:00
Matthew Harrison-Jones
0d06484b01 Automatically focus on first login input 2013-07-16 10:18:40 +01:00
Hannah Wolfe
92bb75dfdf Merge pull request #285 from matthojo/Settings-Back-Fix
Fixes back button breaking settings panels
2013-07-15 14:29:49 -07:00
Matthew Harrison-Jones
b0c5d7e63a Fixes back button breaking settings panels 2013-07-15 18:09:10 +01:00
Matthew Harrison-Jones
7904819556 Initial pass at the user profile page
Fixes #148.
2013-07-15 15:54:13 +01:00
Hannah Wolfe
cffc158ea4 Merge pull request #262 from matthojo/User-Menu-Highlighting
Fixes persistent menu highlighting
2013-07-13 03:10:26 -07:00
Matthew Harrison-Jones
4d77d2f7bc Fixed 'G' button not working
Fixes #218.
2013-07-12 17:13:40 +01:00
Matthew Harrison-Jones
390d3cc538 Fixes persistent menu highlighting
Fixes #259
2013-07-12 16:50:21 +01:00
ErisDS
51d75aec9b Docs and tests - closes #235
- fixed the test that the fixture change broke (sort of). We should be using separate fixtures for tests really, unless we want to test something about a Ghost install.
- updated readme with better docs
2013-07-11 23:42:50 +01:00
ErisDS
b3b296f003 New fixture
- added new getting started fixture
- closes issue #13
2013-07-11 23:10:19 +01:00
Hannah Wolfe
3d3d42bd7c issue #245
hbs templates not building with correct paths
missed a couple of assets paths in settings
2013-07-11 21:00:41 +01:00
Hannah Wolfe
30b4eb07f7 App restructure - closes #245
- This is a first pass at getting a more logical structure. The focus is on moving from admin/frontend to client/server.
- The location of the databases is highly important, this isn't expected to change again
In the future
- client/assets should probably become public/
- more stuff should be shared (helpers etc)
- cleanup some confusion around tpl and views
2013-07-11 20:23:34 +01:00
Hannah Wolfe
316a50b7ff Issue #246 part 12
-  renamed single.hbs to post.hbs
- casper updated to match
2013-07-11 17:57:12 +01:00
Hannah Wolfe
2b132f32b1 Content helper - closes #254
- return content as a safe string so triple taches are not required
- test for content helper
2013-07-11 17:21:42 +01:00
Hannah Wolfe
6b3f835cfb Rename content fields - closes #253
- rename "content" to "content_raw"
- rename "content_raw" to "content"
- change all references
2013-07-11 16:27:19 +01:00
Hannah Wolfe
5948a3f246 Test cleanup
- redoing test failures with .then(null, done) so that any errors which happen in the previous then are properly caught.
2013-07-11 13:50:31 +01:00
ErisDS
6f8752aa22 HTML helpers refactor - issue #246 items 2 and 5.
- moved template logic out of individual helpers and into Ghost
- simplified template-driven helpers into closures which maintain the context of handlebars
- with handlebars context we have access to data, so don't need to pass data in
- check data to test that it is a simple object and not a function
- moved helpers back into index.js
- provided tests for both template functions in ghost and the nav helper so we are back to where we were
2013-07-11 01:30:29 +01:00
ErisDS
0dd0d20678 Nav helper bug - home page always marked as current
- fixed a bug whereby once you visit the homepage the homepage menu item is always marked as the active page
- this was due to passing the config object being done by reference rather than by value, and therefore setting the selected item was persisted.
2013-07-11 01:30:29 +01:00
ErisDS
53fe5e3ba3 HTML helpers work with double taches - issue #246 item 1.
- updated navigation and pagination helpers to use SafeString
- nav and pagination don't need triple taches any more
- nav tests updated, and renamed to match helper name
2013-07-11 01:30:29 +01:00
ErisDS
6113a7da90 Test fixes & cleanup
- Removing mocha-as-promised as this seemed to cause problems with later tests.
- Making failure mode for tests consistent.
- increasing timeout for pagination - would love to know why this is needed
2013-07-11 00:01:42 +01:00
Jacob Gable
8545f5806e Switch to grunt-mocha-cli
The grunt-mocha-test task seems to be causing problems with our
beforeEach handlers in some cases. The grunt-mocha-cli task runs the
mocha command using grunt.util.spawn for more consistent results
2013-07-09 18:34:19 -05:00
Hannah Wolfe
221345ff99 issue #234 - date bug
- updated fixtures so that even short-term we have valid data
- added methods to the base model that marshall the data in and out of the db so it is always an RFC 2822 date never ISO 8601
- turned off SQL debugging now the bug is resolved
- minor change to the date listing template, as we don't need to check for updated_at now that the data is correct - but should use published date anyway
2013-07-08 12:39:11 +01:00
Hannah Wolfe
85535ae000 issue #228 - slug generation
Some more bits for slug generation
- fixes a bug in generation and some tests
- makes sure that deduplicated slugs get a hyphen before the number
- added %<>|^~£"  to reserved chars
- added a few extra comments
2013-07-08 09:12:23 +01:00
Gabor Javorszky
a6b3851491 Removing multiple hyphens
Closes #228. Also deals with the fact that if there's a trailing hyphen, it no longer removes one extra character.
2013-07-08 08:12:51 +01:00
Jacob Gable
d8d88f40cd Fix slug multiple hyphens and short words
Should close #228 and #238
2013-07-08 07:37:38 +01:00
Hannah Wolfe
49e4e777b9 Merge branch 'config-naming' into version-0.2.0 2013-07-07 19:48:19 +01:00
Hannah Wolfe
605cd85f0b Merge branch 'ffc-fix' into version-0.2.0 2013-07-07 19:41:28 +01:00
Hannah Wolfe
d27f32fb4d Bug fix - unable to publish
- The addition of published/draft statuses to the post model on the frontend was being returned to the server.
- These additional properties are client-side only and are now unset before the model is saved
2013-07-07 19:41:05 +01:00
Hannah Wolfe
b70867c973 Filters should not stop execution.
- added a try-catch & error logging to filters so that they can be debugged and do not stop execution
2013-07-07 19:02:26 +01:00
Hannah Wolfe
3d2b56b6a9 Config and naming
- issue #154, issue #224 and issue #220
- change port number from 3333 to 2368
- change main file name from app.js to index.js
- update README & package.json to match
2013-07-07 16:50:50 +01:00
Hannah Wolfe
b37f542448 Merge pull request #241 from matthojo/Menu-Fix
Fixes 'All Posts' menu not being the right location and also not hiding properly
2013-07-07 06:26:51 -07:00
Hannah Wolfe
c0070bb36b Merge pull request #242 from matthojo/Remove-Unused-Icons
Removed settings icon in editor
2013-07-07 06:15:19 -07:00
Matthew Harrison-Jones
56b64aa6d5 Removed settings icon in editor
See #188
2013-07-05 10:31:53 +01:00
Matthew Harrison-Jones
3badc2d3d0 Fixes 'All Posts' menu not being the right location and also not hiding properly
See #188
2013-07-05 10:26:21 +01:00
cobbspur
8bbacd9ec9 closes #195 posts date on content page
- adds dateFormat handlebars helper for client side with extra option to format in time since style
- adds this extra dateFormat option to existing server side helper.
- adds scss for draft and scheduled status
- adds true/false values to post for draft  and published to validate in handlebars
- changes admin>content post collection query to order posts by updated_at values in router.js
- adds minified moment.js and links to moment.js and helper.js for clientside
2013-07-04 19:42:49 +01:00
Hannah Wolfe
3b96c7d591 Merge pull request #233 from ErisDS/plugins-2
issue #186 - load plugins (v2)
2013-07-02 22:49:44 -07:00
cobbspur
1d0bd6dda4 closes #201 changing font
- changes Lato for Open Sans
- adds link for Open Sans and removes Lato link
2013-07-01 20:31:12 +01:00
Hannah Wolfe
5c15c2d4b0 issue #186 - load plugins
- Adding activePlugins array to config.js
- Adding a loadPlugins function to ghost.js
- Tweaking fancyFirstChar.js so that it works again, getting rid of the function wrapper and constructor
2013-07-01 20:24:48 +01:00
Gabor Javorszky
6ab8109f40 Getting rid of adminnavbar filter and console.logs
Closes #219. Self-explanatory, look at the code.
2013-06-30 16:50:26 +01:00
Jacob Gable
7498b520e4 Increment slug if duplicate
Refactored the generateSlug method to return a promise and check for
existing posts with matching slugs.

Should close #221
2013-06-25 20:48:48 -05:00
Hannah Wolfe
30bc4d8434 Fix for WOFF files
- get express to return the correct mime type for woff files
2013-06-25 22:47:29 +01:00
Hannah Wolfe
199d15133b Navigation Helper
- renamed helper from ghostNav to nav and file from ghostNav to navigation
- switched template to use current-menu-item as per the styles
- cleaned up several unused items from config, and removed default link to admin
- updated tests
2013-06-25 22:44:34 +01:00
Hannah Wolfe
289a40e031 Cleaning up res.locals
- closes #124
- added new middleware to detect if a route should be admin or not
- updated ghostLocals to use this and return different locals
- updated ghost.js#initTheme to use the same test
2013-06-25 22:36:53 +01:00
Hannah Wolfe
4ed73edc62 fixes #202 - urls contain reserved chars
- further updates to the slugging function to check for certain words
- TODO: handle duplicates #221
2013-06-25 22:27:38 +01:00
Hannah Wolfe
2a7423c620 issue #136 - login redirects
Fixing logical error if there is no redirect
Also removing console log
2013-06-25 21:06:50 +01:00
Hannah Wolfe
7993cc22ab fixes #202 - urls contain reserved chars
- added all reserved chars and \ to the list of chars which get filtered out
- added documentation
2013-06-25 19:07:19 +01:00
Hannah Wolfe
1005be472a Fixing up some inconsistent TODO: items. 2013-06-25 17:58:26 +01:00
Hannah Wolfe
9e1191ae1e Cleaner login redirects
- closes #136
- stripped /ghost/ out of all redirects
- changed redirect=  to r=
2013-06-25 17:51:26 +01:00
cobbspur
376cf647e5 closes #197 & closes #196 pagination wiring and helper
- adds routes for homepage pagination
- adds helper function to compile template file for pagination
- adds next and prev to post for next and previous page
- adds handlebars template for pagination
2013-06-25 16:13:19 +01:00
Hannah Wolfe
afde1f7390 Merge pull request #214 from matthojo/Menu-Fixes
Fixed menus not hiding when clicking away.
2013-06-25 06:45:30 -07:00
Hannah Wolfe
588152898c issue #58 - frontend jslint
Improvements to consistency
2013-06-25 13:47:48 +01:00
Hannah Wolfe
ba810fb0bb issue #58 - removing the iiwf
Function wrapper and use strict pragma removed from all node files
2013-06-25 13:46:50 +01:00
Hannah Wolfe
2c7245e0e5 issue #58 - removing the iiwf
In order to remove the iiwf we need to be able to lint backend and frontend code separately.
Changed our devDependency for grunt-jslint to use a fork which has multiTask (PR sent to main repo)
Updated Gruntfile with split rules for the jslint tasks
As a result, a few files failed to pass the new rules, these have been fixed and added to the commit
2013-06-25 13:38:41 +01:00
Matthew Harrison-Jones
3b63eb78dc Fixed menus not hiding
Also fixed `.dropdown` usage on menu bar.
2013-06-25 12:30:00 +01:00
Hannah Wolfe
ade3327a2a Merge pull request #210 from matthojo/Remove-Profanities
Removing John's filth closes #208
2013-06-25 02:55:37 -07:00
Matthew Harrison-Jones
d45291d9a0 Removing John's filth
Removed frontend profanaties.
2013-06-25 10:46:03 +01:00
Matthew Harrison-Jones
d0f5fe6ddb Removed functionally not working settings menu links. 2013-06-25 10:17:28 +01:00
Hannah Wolfe
3713cc4755 Merge pull request #207 from matthojo/Widget-Fixes
Widget Bug Fixes
2013-06-24 08:49:03 -07:00
Hannah Wolfe
8f322f0ecf Merge pull request #205 from jgable/fixSettingsMultiSave
Fix settings multi save closes #174
2013-06-24 08:47:58 -07:00
Hannah Wolfe
59e150be5a Merge branch 'master' into version-0.2.0 2013-06-24 16:47:19 +01:00
John O'Nolan
c4505b2457 Add link to Ghost VIP/Developer homepage on "G" in navbar 2013-06-24 14:32:02 +02:00
Matthew Harrison-Jones
0edeaeb17d Widget Bug Fixes
Fixes bug with Ghost Widget and also fixes wrong active size option being shown in settings.
2013-06-24 13:11:02 +01:00
Jacob Gable
4810f410c4 Fix settings multi save
We were not undelegating our events on the element which was causing the
view to live on indefinitely in the background with its events still
bound.
2013-06-23 16:25:34 -05:00
Jacob Gable
2b7d0f054d Import and Export UI
Added a basic UI and implementation for importing and exporting data.
Hooked up the routes and tested importing and exporting a version 001
file.

Slipped in the TemplateView in base.js but didn't end up using it.  I
think it will encapsulate common logic for template views pretty well.

Should close #175.
2013-06-23 16:06:57 -05:00
cobbspur
bf9c55a6fb closes #187 foreach column parameter
- adds keys @rowStart and @rowEnd in foreach helper based on an argument passed in for the number of columns desired
- added setKeys function to remove  duplication code
2013-06-23 16:46:02 +01:00
cobbspur
d1351dc8a3 closes #153 tabindex bug
- fixes tabindex issue on editor page
2013-06-23 11:49:30 +01:00
Hannah Wolfe
b7c1ed2aef Merge pull request #191 from matthojo/template-moving
Updated reference to templates in Backbone views
2013-06-22 09:57:39 -07:00
Matthew Harrison-Jones
23d317ed3e Updated reference to templates in Backbone views 2013-06-22 16:50:59 +01:00
Gabor Javorszky
07cbe984ae Fix forge returning null on empty fetch
Closes #184. It got broken because of a9c4a5409e
2013-06-22 13:49:32 +01:00
Hannah Wolfe
ecde2f078a Merge pull request #189 from javorszky/iss184
Fix forge returning null on empty fetch
2013-06-22 05:44:38 -07:00
Gabor Javorszky
e40eb12a51 Fix forge returning null on empty fetch
Closes #184. It got broken because of a9c4a5409e
2013-06-22 13:43:01 +01:00
Hannah Wolfe
c643976bab Merge pull request #181 from matthojo/Input-Border-Fix
Fixes transitions on input elements and other globals not working in Firefox
2013-06-19 14:42:01 -07:00
Hannah Wolfe
28574e29c7 Merge pull request #183 from jgable/renameTmpl
Rename tmpl directory to tpl and remove content level. closes #137
2013-06-19 14:29:04 -07:00
Hannah Wolfe
5cb2f60cc5 Merge pull request #180 from matthojo/Notification-Dismissal
Notifications can now be dismissed via click / tap
2013-06-19 14:23:58 -07:00
Jacob Gable
ccdb63cc71 Rename tmpl directory to tpl and remove content level
Should close #137.
2013-06-19 15:24:07 -05:00
Matthew Harrison-Jones
26d57fbb17 Fixes transitions on input elements and other globals not working in Firefox
Removed unnecessary :focus transition style and updated actual transitions to Bourbon syntax.
2013-06-18 13:37:16 +01:00
Hannah Wolfe
d15f1f8961 closes #101 - data model updates
Further changes to the data model to ensure created_by, author_id and updated_by are all set to user 1
Updated settings such that the default type is always 'general', and changed the types in the fixtures to be slightly more useful
Added additional assertions to tests to cover more assumptions about data
2013-06-17 23:59:08 +01:00
Hannah Wolfe
50eb91fe51 issue #165 - reloading settings
- ghost.js - split the settings loading out of ghost.init, so that we have a function for loading / reloading settings
- api.js - implemented a new requestHandler, the cachedSettingsRequestHandler which handles all aspects of local caching for settings when making requests
- app.js - updated the settings api routes to use the new cached request handler
2013-06-17 23:24:05 +01:00
Hannah Wolfe
32bbf2ba57 issue #165, issue #124 - cleaning up ghostGlobals
- ghost.js - globals/globalConfig has become settings / settingsCache to make it clearer
- app.js - the ghostGlobals local cache is gone, and the use of res.locals has been cleaned up and simplified, although this needs to be properly split into frontend and admin locals (to be finished in #124)
- frontend/index.js - doesn't need to be passed globals and nav properties as res.locals does this for us
2013-06-17 23:12:13 +01:00
Matthew Harrison-Jones
b46ac790ab Fixes wrong conversion from Compass to Bourbon. 2013-06-17 14:49:37 +01:00
Hannah Wolfe
f58c8eb6c3 Merge pull request #163 from jgable/exportData
Data import and export
2013-06-17 01:19:48 -07:00
Hannah Wolfe
8d8a6e0949 Wiring up the content settings panel to save blog description
Also cleaned up a bit of broken markup
2013-06-16 22:47:10 +01:00
Hannah Wolfe
0d5b6e8915 Added consistent error handling throughout the models 2013-06-16 22:36:28 +01:00
Matthew Harrison-Jones
14aabec80c Notifications can now be dismissed via click / tap 2013-06-16 19:45:16 +01:00
Hannah Wolfe
0f0769ab2b issue #157 - init ordering and error handling
reordering init so that settings are always loaded after the db is initialised
adding error handling to promises
2013-06-16 17:14:01 +01:00
Hannah Wolfe
382da5daf0 Adding a test for published at. 2013-06-16 16:09:54 +01:00
cobbspur
b9e1ddcb2e Adds handlerbars helper 'foreach'
Function allows you to iterate through an array or object  in handlebars
Sets Key Values for @first/ @last entry and @odd/@even to true/false
2013-06-16 14:12:28 +01:00
ErisDS
17c8c02eae closes #117 - published order
Fixes the knex query so that posts are correctly returned in the order of published_at, desc
2013-06-16 12:21:49 +01:00
Hannah Wolfe
49999a7f15 Merge pull request #162 from javorszky/iss132
/register/ => /signup/
2013-06-16 01:45:57 -07:00
John O'Nolan
b278ed6aa7 Merge pull request #152 from matthojo/Users-Settings
Refactored users settings page - see #147
2013-06-16 01:33:51 -07:00
Hannah Wolfe
49f6cc92d4 Merge pull request #161 from tgriesser/published_at
Setting published_at when post changes to published status.
2013-06-16 01:33:24 -07:00
Tim Griesser
fad7087cd1 Setting published_at when post changes to published status 2013-06-15 19:24:27 -04:00
Jacob Gable
0c4ccc284b Data import and export 2013-06-15 20:52:32 +00:00
Gabor Javorszky
78cbaf0387 /register/ => /signup/
Fixes issue #132. Also added `js-login-container` class to the
signup box, as it wasn't faded in due to javascript not picking
up the element.
2013-06-15 19:16:15 +01:00
Jacob Gable
a63690a471 Fix relative paths for deployment
In order to run with forever / supervisorctl, the relative paths need to
be converted to full ones based on the __dirname.
2013-06-15 10:54:49 -05:00
Hannah Wolfe
b816225dca Merge pull request #159 from jgable/fixRequireTree
Error check and default set for require-tree.
2013-06-15 08:48:51 -07:00
Jacob Gable
b4b8be2bb8 Error check and default set for require-tree. 2013-06-15 09:22:50 -05:00
Tim Griesser
a5b9274bb5 adding uuid's for the posts, users, settings 2013-06-15 10:16:20 -04:00
Gabor Javorszky
b0b11573f6 Restricting Admin user creation
Solves #138.
* Removed user and user_roles from fixture
* Restricted user creation to one user. That user is id 1, is admin
* Changed tests so they accommodate for this fact
* Can not create new user (fails on test, flashes on signup)
2013-06-15 10:10:26 +01:00
Gabor Javorszky
81d317a122 Replaced config.blogData with settings
Solves #112
* Removed config.blogData
* Changed Ghost.init() to accommodate new settings bits
* (data was already in the fixtures)
2013-06-15 00:39:27 +01:00
Matthew Harrison-Jones
0d75b737b8 Refactored users settings page
Improved standards of CSS and also refactored HTML markup. Search bar
also is implemented, with a prototype animation for displaying input
field.
2013-06-14 14:01:33 +01:00
John O'Nolan
1fab45669e Adjusting form styles and animations for checkboxes. Fixes #7 2013-06-13 14:31:16 +02:00
John O'Nolan
43db602b41 Merge pull request #145 from matthojo/Checkbox-Styling
Removed the need for iCheck CSS dependency. See #7
2013-06-13 05:04:47 -07:00
John O'Nolan
5215387e07 Minor tweaks to login form animations and styles - fixes #134 2013-06-13 13:58:37 +02:00
Matthew Harrison-Jones
8d66cbd6e8 Removed the need for iCheck CSS dependency.
Made all iCheck images into CSS and removed the iCheck CSS stylesheet.
2013-06-13 12:54:57 +01:00
Matthew Harrison-Jones
de09e7d19c Fixes login box being off centred on small screens
Accounted for top offset to keep login container centred. Login container fades in on load.
Tested on a variety of window sizes and appears to be centred on all of them (measured it to make sure).
2013-06-13 09:38:40 +01:00
Matthew Harrison-Jones
94c8c94ad1 Fixes login staying centred
Now included in `$(window).resize();` to update location of Login
container. The login is now more of a visually 'true' centre, with the offset being more towards the top.
Centring on resize, wasn't in original commit to remove one extra event listener.
2013-06-11 18:56:25 +01:00
John O'Nolan
2be5ce72ae Merge pull request #140 from matthojo/Login-Screen
Vertically center login form, fixes #134
2013-06-11 09:56:47 -07:00
Matthew Harrison-Jones
fbd54942b5 Center Login container 2013-06-11 17:42:56 +01:00
John O'Nolan
bdd29fafaf Appearance => Theme 2013-06-11 17:57:02 +02:00
John O'Nolan
1267f91935 Refactor + Restyle login/register screens. See #134 2013-06-11 16:45:42 +02:00
John O'Nolan
7e1bd2922e Reducing overzealous sass indenting for performance. 2013-06-11 15:32:56 +02:00
John O'Nolan
501e8695f2 Correcting login screen markup/styling issues, fixes #133 2013-06-11 15:01:02 +02:00
Hannah Wolfe
0a0039820d Merge pull request #127 from matthojo/Keyboard-Shortcuts
Added Keyboard Shortcuts to change Post Status and Save.
2013-06-11 05:24:36 -07:00
Hannah Wolfe
320bb311bc Merge pull request #131 from javorszky/iss82-2
Registration no longer hangs on duplicate emails
2013-06-11 04:41:22 -07:00
Hannah Wolfe
06b5ab86fb Merge branch 'pr119-merged'
Conflicts:
	core/admin/views/settings.hbs
2013-06-11 11:56:01 +01:00
Hannah Wolfe
493cf6ea7f Merge branch 'pr/126' 2013-06-11 10:30:00 +01:00
Matthew Harrison-Jones
44575cdb25 Added Keyboard Shortcuts to change Post Status and Save.
This also includes the updated Header tag shortcuts.
Also fixes keyboard shortcuts being broken due to `this` not being passed into shortcut each function.
2013-06-10 22:52:24 +01:00
Gabor Javorszky
e0caddeee7 Registration no longer hangs on duplicate emails
There was a return missing. This closes #82 again.
2013-06-10 21:26:20 +01:00
cobbspur
40d8b0321c implements #38 html and scss for uploader
- Fixed broken html
- Added file input to html
- Styling for hidden file input button
- Styling for progress bar and loading
- Added javascript classes for hooking file upload
- Added loading image (cat)
2013-06-10 20:07:34 +01:00
John O'Nolan
4a630af54a Removing box-shadow() mixin references that are deprecated in Bourbon, missed in previous commit. See #44 2013-06-10 09:51:49 +02:00
Ricardo Tomasi
cc6bb94e74 remove default .active tab from template. fixes #125 2013-06-09 19:56:47 -03:00
Hannah Wolfe
b3775feba0 Merge branch 'pr/119'
Conflicts:
	core/admin/assets/js/router.js
	core/admin/views/default.hbs
	core/admin/views/settings.hbs
	core/shared/data/fixtures/001.js
2013-06-09 21:41:07 +01:00
Gabor Javorszky
e271c6402f Directory scanning on contents/themes and plugins
This implements #106.
* Added require-tree which is based off of @ricardobeat's module. Fully async.
* I've moved active theme and active directory to settings from config as well.
* Modified settings.hbs and settings.js to display the raw json under Settings/Appearance
2013-06-09 20:17:54 +01:00
Hannah Wolfe
1df9b6e90a Merge pull request #121 from jgable/filterPriority
Filter priorities
2013-06-09 12:12:04 -07:00
Hannah Wolfe
d3ac1c7fc7 Merge pull request #120 from jgable/permissable
Implement a permissable interface on models
2013-06-09 12:00:03 -07:00
Jacob Gable
55d8ff75b4 Filter priorities
Add the ability to specify a priority level when registering filters.
Also change doFilter to execute filters in priority order.

Closes #86
2013-06-09 11:16:25 -05:00
Hannah Wolfe
c733a1ac62 Merge pull request #114 from matthojo/Backbone-Widgets
Initial Backbone Widgets
2013-06-09 06:24:08 -07:00
Matthew Harrison-Jones
2e44a1f845 Converted static Widgets to Backbone.
Moved static HTML Widgets to Backbone.

Might need to move Widget data else where to keep it clean.
Will need to also implement API for future use.
2013-06-09 10:56:10 +01:00
Jacob Gable
1effc4e772 Implement a permissable interface on models
Added checks to the canThis process for a `permissable()` function
that would allow Models to override the permissions process.
2013-06-08 18:39:24 -05:00
Ricardo Tomasi
e2b3c40a34 Migrate settings page to Backbone 2013-06-08 19:36:54 -03:00
Ricardo Tomasi
c82e5976cc Changes to Settings Model
- add email default setting to fixture
- make settings a single model
- create UNIQUE index on setting keys
2013-06-08 19:24:21 -03:00
Ricardo Tomasi
dc714611a9 move Ghost.View out of init, refactor 2013-06-07 23:16:28 -03:00
Hannah Wolfe
aa659d29b6 JSLint updates - function spacing consistency
- updating grunt-jslint to the latest version
- fixing up function spacing
2013-06-06 21:38:12 +01:00
Hannah Wolfe
60d90967e1 issue 101 - updating the data model
Added & removed many properties as required & fixed tests
Updated & also cleaned up the fixtures, inc images
Added order by published to the findPage query
2013-06-06 21:36:17 +01:00
Jacob Gable
e6f7c706cb Permissions / ACL
- Created Role model
- Created Permission model
- Linked Users->Roles with a belongsToMany relationship
- Linked Permissions to Users and Roles with a belongsToMany relationship
- Created permissions helper with functions for initializing and
  checking permissions (canThis)
- Unit tests for lots of things
2013-06-06 08:15:10 +01:00
Matthew Harrison-Jones
c4f19af62f Dashboard widget functionality
Intial widget layout, with packery for drag and drop support.
Adds ability to save the order of widgets in localstorage
2013-06-06 07:26:25 +01:00
Tim Griesser
c4f6c99ca1 moving handlebars compile target, adding notification when saving post, using Ghost.View rather than modifying Backbone.View's prototype 2013-06-04 08:41:25 -04:00
Tim Griesser
524462e164 Merge branch 'master' into client-post
* master:
  Adding proper copyright info for Ghost Foundation
  Amending pagination test to have a longer timeout until #110 is done
  server half of #83, posts are draft by default, browse shows published by default
  Adding proper copyright info for Ghost Foundation
2013-06-04 08:03:51 -04:00
ErisDS
278e0cf877 Amending pagination test to have a longer timeout until #110 is done 2013-06-03 10:08:31 +01:00
Tim Griesser
e5ce70e175 Added models & collections for various pieces
Saving post as draft, or publishing
Added HBS parser for some client tmpls
Parsing paginated posts
Added grunt watch for hbs parsing on updates
2013-06-03 00:56:57 -04:00
Tim Griesser
30bd89587f server half of #83, posts are draft by default, browse shows published by default 2013-06-03 00:56:17 -04:00
Tim Griesser
b7064185d4 server half of #83, posts are draft by default, browse shows published by default 2013-06-01 15:42:11 -04:00
Tim Griesser
c55a96083a server side half of #83 2013-06-01 15:30:42 -04:00
Tim Griesser
983c171fb0 simplifying the model structure, again 2013-06-01 11:14:05 -04:00
Gabor Javorszky
f783adbe7f Issue #98, #4 Implemented countable.js 2013-06-01 12:52:20 +01:00
John O'Nolan
cf2d777ca4 Killing grid reference in main sass file 2013-06-01 11:20:38 +02:00
John O'Nolan
300d665e4a Killing grid. This isn't used currently and the only place it will likely ever be used is in the Dashboard, which will have its own specifically tailored grid. 2013-05-31 15:38:12 +02:00
John O'Nolan
e7307f7f63 Cleaning 2013-05-31 15:36:55 +02:00
ErisDS
185eee2a6b Implementing backbone for the blog / content view
closes #64 - adds a full example of using backbone on the frontend
remembered to squash this one!
2013-05-31 06:58:20 +01:00
Jacob Gable
a8bf3c962f Ghost.init()
- Modified jsonDataProvider to return promises for findAll and save
- Move the dataProvider initialization into the Ghost.init() function.
- Created basic unit test
2013-05-30 23:39:02 +01:00
Gabor Javorszky
ce5e757672 moved config into init function 2013-05-30 23:39:02 +01:00
Gabor Javorszky
e7c0d13f7c #73: Remap app.locals done 2013-05-30 23:39:02 +01:00
ErisDS
237af40f2e Revert "Merge branch 'fat-models' of github.com:tgriesser/Ghost into tgriesser-fat-models"
This reverts commit 611e6a49ef, reversing
changes made to a89dc1d123.
2013-05-30 23:34:53 +01:00
ErisDS
611e6a49ef Merge branch 'fat-models' of github.com:tgriesser/Ghost into tgriesser-fat-models
Conflicts:
	core/admin/assets/sass/layouts/dashboard.scss
	core/admin/views/dashboard.hbs
	core/shared/models/dataProvider.bookshelf.js
2013-05-30 22:23:18 +01:00
Matthew Harrison-Jones
826d20a902 New Widgets 2013-05-30 12:10:15 +01:00
John O'Nolan
c0f6f03f3b Adding new icons: reply, repost, weather (sun/partial/cloud/rain/snow) for Dashboard. See #65 2013-05-30 11:39:14 +02:00
Tim Griesser
7cbbb3af4e lint fixes & bcrypt-nodejs 2013-05-29 21:58:59 -04:00
Tim Griesser
cf9c2462fa lint fixes 2013-05-29 18:28:24 -04:00
Tim Griesser
091790a525 merging with master 2013-05-29 18:26:10 -04:00
ErisDS
4083592724 Merge branch 'jquery' of github.com:JohnONolan/Ghost into JohnONolan-jquery 2013-05-29 22:16:02 +01:00
Jacob Gable
d81d408eab Fix Travis Errors
- affects #91
- Move dataProvider initialization outside constructor
- Add travis sqlite config that enables debug
- Add grunt-cli installation to travis before_script
2013-05-29 13:32:38 -05:00
John O'Nolan
74ed10eee2 Bumping jQuery to 2.0 as we're not supporting <IE9 anyway. See also: #93 2013-05-29 17:16:51 +02:00
Matthew Harrison-Jones
2fc0a6a02e Initial Dashboard UI conversion 2013-05-29 11:05:06 -04:00
John O'Nolan
1de39b21ce Merge pull request #78 from matthojo/Dashboard-Widgets
Initial Dashboard UI conversion, see #65
2013-05-29 05:10:06 -07:00
Matthew Harrison-Jones
92de86bff3 Initial Dashboard UI conversion 2013-05-29 13:04:14 +01:00
ErisDS
077c602d61 Merge branch 'master' of github.com:javorszky/Ghost into javorszky-master
Conflicts:
	app.js
2013-05-29 08:26:57 +01:00
Gabor Javorszky
9a7e153549 #25: admin navbar and filter 2013-05-29 01:10:39 +01:00
Jacob Gable
13ea1ddf5c Merge branch 'master' of github.com:TryGhost/Ghost into frontEndMenu 2013-05-28 17:41:37 -05:00
Jacob Gable
e60fa79bae Merging from upstream 2013-05-28 17:41:28 -05:00
Hannah Wolfe
148f7f3cd9 Merge pull request #60 from matthojo/Keyboard-Shortcuts
Add keyboard shortcuts
2013-05-28 15:08:55 -07:00
Matthew Harrison-Jones
c6734ebbf6 Moved shortcut initialisation over to interation
Currently using jQuery.each not _.each. Can be easily changed with
```
_.each(MarkdownShortcuts, function(short) {
    shortcut.add(short.key, function () {
         return editor.addMarkdown({style: short.style});
    });
});
```
2013-05-28 14:23:01 +01:00
Matthew Harrison-Jones
d91c93f939 Converted from Jquery plugin to Codemirror function 2013-05-28 13:54:55 +01:00
Gabor Javorszky
8ffa03f775 Duplicate user, error handling, password in fixture 2013-05-27 23:04:09 -05:00
Jacob Gable
c699121049 Add ghostNav helper and filter for themes; closes #47 2013-05-27 22:59:01 -05:00
Hannah Wolfe
446da0c1e3 Removing unused bookshelf 2013-05-27 22:46:09 +01:00
Hannah Wolfe
5358331ad7 Merge pull request #85 from javorszky/master
User authentication / registration, fixture fix closes #82
2013-05-27 14:45:12 -07:00
Gabor Javorszky
29bfcd3a3f Duplicate user, error handling, password in fixture 2013-05-27 22:03:13 +01:00
Jacob Gable
47f49bbb4b Add ghostNav helper and filter for themes; closes #47 2013-05-27 14:48:16 -05:00
Tim Griesser
a204a96cda a bit of organizing/simplifying/fattening the models 2013-05-27 13:30:03 -04:00
Hannah Wolfe
f4368a2744 Merge pull request #76 from tgriesser/pagination
Pagination
2013-05-27 10:27:38 -07:00