Commit Graph

308 Commits

Author SHA1 Message Date
John O'Nolan
f4675bf910 Removed Typeplate dependency
Closes #480
2013-08-21 09:36:49 +02:00
John O'Nolan
27c6779304 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
e6937d189b 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
a7f0fe093f 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
24673b4943 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
6bb5fdd757 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
da0416ff16 Merge pull request #456 from matthojo/Keyboard-Shortcut-Improvements
Keyboard shortcut improvements
2013-08-20 07:05:41 -07:00
Matthew Harrison-Jones
3d69fb50e5 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
80e7ffd9b0 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
ac5f668dab 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
af4fbc1f3b Removed Chrome's native form validation from login
See #465
2013-08-20 11:33:49 +02:00
Hannah Wolfe
4e1b5a8e09 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
af99779688 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
e2ef9e5ade 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
3e086d9c46 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
7f4226839d Merge pull request #453 from matthojo/404-Page
First pass at 404 page
2013-08-20 00:58:27 -07:00
Gabor Javorszky
2f6098d653 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
Hannah Wolfe
d39d43bc47 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
375aab9424 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
b0430d98d3 Merge pull request #457 from matthojo/Mobile-Interactions
Removed swiping from Mobile Interactions
2013-08-19 13:37:48 -07:00
cobbspur
faa38a31b4 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
a38c0fafc5 Markup for 404 page
This needs Javascript to vertically center the page.
2013-08-19 16:34:10 +01:00
John O'Nolan
fb90751ea6 More codemirror syntax highlighting fixes 2013-08-19 17:26:09 +02:00
Matthew Harrison-Jones
6bff38d1c2 Removed swiping from Mobile Interactions 2013-08-19 16:13:47 +01:00
Matthew Harrison-Jones
211f0ff9c6 Included missing Mac 'code' keyboard shortcut 2013-08-19 15:10:53 +01:00
John O'Nolan
a0bb95ffb6 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
6546c49201 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
aa7f02c571 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
c811811695 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
aa404348fb Removed OTT CSS text indenting on paragraph tags. Closed #445 2013-08-19 09:05:25 +02:00
cobbspur
f7e172b097 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
072a3ebf61 Merge pull request #430 from jgable/fix414
Show validation error when saving post
2013-08-18 15:05:32 -07:00
Hannah Wolfe
08174b8e35 Merge pull request #431 from cobbspur/events
Added error handling
2013-08-18 14:53:52 -07:00
cobbspur
2f4d29bf72 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
a1dd8ef26c 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
Jacob Gable
59984c2df8 Edit Post Permissions 2013-08-18 12:28:05 -05:00
Hannah Wolfe
b59575d26b Merge pull request #404 from matthojo/mobile-interactions
Mobile interactions
2013-08-18 09:19:06 -07:00
Hannah Wolfe
f097e89f39 Merge pull request #393 from matthojo/Modal-Fixes
Several Modal Fixes
2013-08-18 09:05:49 -07:00
Gabor Javorszky
b114c8cfef 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
9d6a4f52e1 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
3c16fc909b 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
76357947e9 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
73860afff6 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
885225f00b Bug Fix: Corrected wrong Keyboard Shortcuts in help modal 2013-08-14 14:49:16 +01:00
cobbspur
d38f33bf39 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
William Dibbern
5d9f19fa80 Fixed word count grammar
Closes #349
- Added utility function to pluralize when appropriate.
2013-08-11 11:55:42 -05:00
Hannah Wolfe
cd5c954aae Minor code cleanup, docs and other bits & pieces 2013-08-06 22:24:40 +01:00
Hannah Wolfe
10f4bd0311 Merge pull request #339 from javorszky/iss282
Users can change password
2013-08-06 01:17:43 -07:00
Hannah Wolfe
ae7921104d Merge pull request #338 from cobbspur/upload-plugin
Added image upload reusable plugin
2013-08-06 01:02:30 -07:00
Hannah Wolfe
1e954aace0 Fixing unused variables 2013-08-06 09:00:12 +01:00
Hannah Wolfe
559edb10a6 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
54415baf37 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
8030aca3fd 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
4bc3af4039 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
ErisDS
c7fe2967b8 Persistent notifications should not fade out
issue #333
- css fix
2013-08-05 13:56:30 +01:00
Gabor Javorszky
50c807cb9a 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
Matthew Harrison-Jones
98dbf8e7ce Moved delete post confirm alert to new modal format 2013-08-05 10:16:31 +01:00
Hannah Wolfe
30a64b0a4d 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
4cd6ff903f 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
09cd68e43c 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
Hannah Wolfe
e219090fc3 Revert "Merge pull request #318 from matthojo/mobile-interactions"
This reverts commit 143b1d56eaf9b6f27671278a85904604c4076d7d, reversing
changes made to 9d97a8930a6b2d2b9aaa579ada21a7509120b693.
2013-08-01 22:19:20 +01:00
Matthew Harrison-Jones
4a319d3103 Removed admin-ui-temp.js and moved code to it's relative places 2013-08-01 15:28:13 +01:00
Hannah Wolfe
c671081c2f 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
5c0367c0d7 Merge pull request #323 from javorszky/iss278
Login / Signup forms now use Backbone
2013-08-01 06:20:05 -07:00
Matthew Harrison-Jones
781ef73e05 Bug Fix: Dashboard now has correct bottom padding 2013-08-01 13:34:14 +01:00
Hannah Wolfe
bca0f86b05 Merge pull request #318 from matthojo/mobile-interactions
Improved mobile interactions
2013-08-01 00:12:25 -07:00
Christopher Giffard
333a9288a1 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
d62f0d4a61 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
Matthew Harrison-Jones
26028a111b 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
Matthew Harrison-Jones
5969aa3919 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
Matthew Harrison-Jones
2a44225994 Improved modal creation, now includes info and action types. 2013-07-26 15:32:44 +01:00
Matthew Harrison-Jones
26cc072e6e 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
0d01b730b9 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
e85c53bb07 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
38b128c9b7 Fixed modal max-height not working 2013-07-25 11:53:19 +01:00
Matthew Harrison-Jones
73e01aafdc Improved Markdown help modal 2013-07-25 11:49:02 +01:00
Ricardo Tomasi
721a92f949 Move shared third-party libraries to /shared/vendor 2013-07-24 23:21:57 +01:00
Matthew Harrison-Jones
950f2690e7 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
6adbc0a36e Started a jQuery utilities file for Ghost jQuery plugins and helpers 2013-07-24 11:15:10 +01:00
Matthew Harrison-Jones
e545cba8e1 Added in Modals 2013-07-24 11:15:09 +01:00
Hannah Wolfe
0219e8f292 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
7031ce1169 Merge pull request #297 from matthojo/Editor-Scrolling
Debounce scrolling on editor
2013-07-22 08:00:15 -07:00
Matthew Harrison-Jones
d76bdcaeb9 Move notification dismissal events to Backbone
Also removes stray notification alert comments
2013-07-22 14:41:28 +01:00
ErisDS
56fc1ce25b Bug Fix: title of deleted post in content view notification is now correct 2013-07-22 14:41:28 +01:00
Matthew Harrison-Jones
db1d9104ad Success notifications now fade out after 3 seconds 2013-07-22 14:41:28 +01:00
Matthew Harrison-Jones
35d96e1560 Fix notification positions
Also fixes the previous editor notification fixes to not include `calc()`
2013-07-22 14:41:27 +01:00
Gabor Javorszky
ef2570e082 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
1421bbc675 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
eca3917d2e Fixes wrong positioning of notifications. 2013-07-22 14:41:27 +01:00
Gabor Javorszky
f80b579b91 Adding notification.hbs
Simply because I was an 1d10t
2013-07-22 14:41:27 +01:00
Gabor Javorszky
6086f9e6f0 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
cd1835a3cf Added the ability to copy as HTML. 2013-07-22 13:50:50 +01:00
John O'Nolan
dec4b23374 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
e0dac0d4df 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
3fccf8ad5d Improve title casing 2013-07-18 14:42:16 +01:00
Matthew Harrison-Jones
f6f095b381 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
2ed9a17a66 Debounce scrolling on editor 2013-07-18 12:06:52 +01:00
Matthew Harrison-Jones
be77eed093 First pass at Plugin Management design conversion 2013-07-18 11:36:37 +01:00
Hannah Wolfe
bf1bb25d06 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
115e391df2 Removed CodeMirror Stylesheet file and moved over required CSS
Fixes #6.
2013-07-16 12:14:17 +01:00
Matthew Harrison-Jones
495fc7e400 Automatically focus on first login input 2013-07-16 10:18:40 +01:00
Hannah Wolfe
45a452c0fb 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
892c343cd0 Fixes back button breaking settings panels 2013-07-15 18:09:10 +01:00
Matthew Harrison-Jones
14803f100e Initial pass at the user profile page
Fixes #148.
2013-07-15 15:54:13 +01:00
Hannah Wolfe
f699750295 Merge pull request #262 from matthojo/User-Menu-Highlighting
Fixes persistent menu highlighting
2013-07-13 03:10:26 -07:00
Matthew Harrison-Jones
3de0d66b2d Fixed 'G' button not working
Fixes #218.
2013-07-12 17:13:40 +01:00
Matthew Harrison-Jones
4d1e445dc0 Fixes persistent menu highlighting
Fixes #259
2013-07-12 16:50:21 +01:00
Hannah Wolfe
624680bb93 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