782 Commits

Author SHA1 Message Date
Shawn Erquhart
e54dee4220 allow links to be wrapped in marks 2017-09-26 14:50:56 -04:00
Shawn Erquhart
cd111f3a3d distinguish between newline and soft break in editor 2017-09-26 14:50:56 -04:00
Darrel O'Pry
1f06885a69 Add code coverage output generation to npm test (#610) 2017-09-20 12:23:40 -07:00
Shawn Erquhart
1def72e93b Merge pull request #601 from tech4him1/upgrade-gray-matter
Switch back to `gray-matter` for front-matter parsing.
2017-09-19 12:38:51 -04:00
Shawn Erquhart
1fa949395f Add branch selection support for git gateway (#618) 2017-09-18 14:56:49 -07:00
Caleb
2c8e8bece0 Fix collections breaking if folder has trailing slash. 2017-09-18 08:27:49 -06:00
Caleb
9f40edaf52 Re-add ability to parse frontmatter like ---json. 2017-09-15 19:22:04 -06:00
Caleb
335dd15e6d Fix JSON parser for gray-matter. 2017-09-15 19:22:04 -06:00
Caleb
ebf91a9800 Switch back to gray-matter for front-matter parsing. 2017-09-15 19:22:04 -06:00
Caleb
ab8226ce63 Infer front-matter type on our own. 2017-09-15 19:22:04 -06:00
Shawn Erquhart
d349c3d3b1 Merge pull request #590 from netlify/update-depreciated-deps
Upgrade Depreciated React Dependencies
2017-09-15 16:18:24 -04:00
Shawn Erquhart
63b874e295 Merge pull request #576 from netlify/entry-disable-save
Disable "Save" button when entry has not been changed.
2017-09-15 16:12:34 -04:00
Benaiah Mischenko
9f4951fcf2 Fix entry deletion on non-master branches 2017-09-14 17:32:18 -07:00
Caleb
6e356e81da Update tests for EntryEditorToolbar 2017-09-11 14:25:23 -06:00
Caleb
87f942e73b Rename hasChanged to enableSave for the editor Save button. 2017-09-11 14:08:07 -06:00
Caleb
5e9112ec71 Upgrade to seperate create-react-class library.
`React.createClass` was split off/depreciated as of 15.5.0:
https://facebook.github.io/react/blog/2017/04/07/react-v15.5.0.html#migrating-from-react.createclass
2017-09-09 20:18:02 -06:00
Caleb
654f844b86 Upgrade to seperate React prop-types library.
`propTypes` was seperated/depreciated from React as of 15.5.0:
https://facebook.github.io/react/blog/2017/04/07/react-v15.5.0.html#migrating-from-react.proptypes
2017-09-09 20:16:19 -06:00
Caleb
df3d8754c8 Show user avatar for git-gateway backend as well. 2017-09-08 09:02:48 -06:00
Shawn Erquhart
cd6162c3d2 git gateway implementation tweaks 2017-09-06 18:28:20 -07:00
Mathias Biilmann Christensen
bea470518e Make sure we always set a name on commits 2017-09-06 18:14:59 -07:00
Mathias Biilmann Christensen
2e4dfb33b6 Add explicit sign in button for netlify identity 2017-09-06 17:58:32 -07:00
Mathias Biilmann Christensen
aaa9d2ab95 Make Neltify CMS work with Netlify Identity Widget
When Netlify CMS uses the git-gateway backend, it will check for a

  window.netlifyIdentity

object and use that to handle the whole auth flow.

This also sets defaults for the git-gateway endpoint, that means it
can be used in templates with zero configuration and fit with a
one-click deploy to Netlify approach.

Netlify Identity itself is based on our open-source GoTrue microservice,
and Netlify's Git Gateway project is completely open-source as well.

The git-gateway backend will work with Netlify without any setup, but can
also be configured to work with any selfhosted GoTrue and Git Gateway
instances.
2017-09-06 13:52:11 -07:00
Mathias Biilmann Christensen
36f2596a9e Use netlify identity widget for auth if present 2017-09-06 13:50:02 -07:00
Shawn Erquhart
128588fd69 auth and asset setup tweaks 2017-09-06 09:35:31 -07:00
Mathias Biilmann Christensen
0b793cbc65 Fix reference to window.identity 2017-09-05 19:30:03 -07:00
Mathias Biilmann Christensen
1a25b2c6b3 Better handling of roles and names 2017-09-05 16:48:51 -07:00
Mathias Biilmann Christensen
a6b1b3f0a7 Fix open tag in auth page 2017-09-05 14:15:40 -07:00
Mathias Biilmann Christensen
bba34e5979 Use identity widget for auth if present 2017-09-05 14:07:56 -07:00
Mathias Biilmann Christensen
890ee3d7e3 Update old netlify-auth-js to gotrue-js 2017-09-05 13:24:16 -07:00
Mathias Biilmann Christensen
d6443036df Fix asset store uploads with no file type 2017-09-04 23:26:25 -07:00
Mathias Biilmann Christensen
30aa880ed2 Make sure there's a form so enter logs in for netlify auth 2017-09-04 23:24:57 -07:00
Caleb
75aa52a650 Disable Save button when entry has not been changed. 2017-09-02 19:24:37 -06:00
Shawn Erquhart
75023d9f74 close rte heading block on enter keydown 2017-09-01 15:16:51 -04:00
Shawn Erquhart
c25a7c4abb debounce markdown editor change handler 2017-09-01 15:16:51 -04:00
Shawn Erquhart
4821959951 remove markdown widget serializers 2017-09-01 15:16:51 -04:00
Shawn Erquhart
6ed11a7da7 update markdown parsing tests 2017-08-31 12:06:54 -04:00
Shawn Erquhart
e408dcc27e add markdown editor soft break support 2017-08-31 11:03:08 -04:00
Shawn Erquhart
e43edf67b9 Merge pull request #567 from netlify/escape-markdown
escape markdown entities entered as literal text
2017-08-30 10:44:43 -04:00
bruce-one
5dfc0f0f24 Number editor return number. (#541)
Adding support for `min`, `max`, `step` on the input element and adding
`valueType` for specifying the return type, so the `NumberControl` can
return actual numbers.
2017-08-29 19:30:05 -07:00
Shawn Erquhart
8e805cabd8 escape markdown entities entered as literal text 2017-08-29 17:54:52 -04:00
Caleb
74662cb4bd Do not close entry if it failed to save or delete. 2017-08-29 12:22:48 -06:00
Shawn Erquhart
0ea62e0f9d fix rte pasted links with leading/trailing spaces 2017-08-25 16:45:01 -04:00
Shawn Erquhart
317a876891 fix html paste for visual editor 2017-08-25 16:36:24 -04:00
Shawn Erquhart
9c0b7262ef fix small code issues in RTE implementation 2017-08-25 16:36:22 -04:00
Shawn Erquhart
3d83325afc add node type check to avoid errors in rte 2017-08-25 16:35:25 -04:00
Shawn Erquhart
2bb67321f9 fix visual editor heading line height 2017-08-25 16:35:24 -04:00
Shawn Erquhart
18b98fc1c9 remove superfluous deps, update yarn.lock 2017-08-25 16:35:23 -04:00
Shawn Erquhart
d84b156b0a update existing serialization tests 2017-08-25 16:31:09 -04:00
Shawn Erquhart
cf2b7be25f refactor and document rte serializers 2017-08-25 16:31:09 -04:00
Shawn Erquhart
406ae57d3e add blockquote rte button 2017-08-25 16:31:09 -04:00
Shawn Erquhart
9dcda7b0b9 organize serializers 2017-08-25 16:31:09 -04:00
Shawn Erquhart
dd51f6365c improve visual editor content styling 2017-08-25 16:31:09 -04:00
Shawn Erquhart
1d654662d2 improve shortcode handling in visual editor 2017-08-25 16:31:09 -04:00
Shawn Erquhart
ca60a6b8c9 update Slate shortcode handling to include paragraph 2017-08-25 16:31:09 -04:00
Shawn Erquhart
9174e56414 refactor remarkToRehypeShortcodes 2017-08-25 16:31:09 -04:00
Shawn Erquhart
be7385de29 refactor remark-shortcodes plugin 2017-08-25 16:31:07 -04:00
Shawn Erquhart
6377d8c73e initial refactor, some bugfixes 2017-08-25 16:30:39 -04:00
Shawn Erquhart
1f961d36cf display images inserted through rte 2017-08-25 16:30:39 -04:00
Shawn Erquhart
336cab2592 fix html whitespace truncation 2017-08-25 16:30:39 -04:00
Shawn Erquhart
750fbf5e3d re-implement visual editor link button 2017-08-25 16:30:39 -04:00
Shawn Erquhart
28ee67c35e eliminate unnecessary editor renders 2017-08-25 16:30:39 -04:00
Shawn Erquhart
de1e36108d allow yaml frontmatter parsing 2017-08-25 16:30:39 -04:00
Shawn Erquhart
7a744bef84 improve list handling 2017-08-25 16:30:39 -04:00
Shawn Erquhart
ae7bd79c7a re-implement visual editor html paste 2017-08-25 16:30:39 -04:00
Shawn Erquhart
82d9bdd7ae port history shortcuts from Slate, force focus 2017-08-25 16:30:39 -04:00
Shawn Erquhart
4ac63954ca fix focus update on toolbar block click 2017-08-25 16:30:39 -04:00
Shawn Erquhart
6443f5d808 allow enter key to make space around void nodes 2017-08-25 16:30:39 -04:00
Shawn Erquhart
fbecc887b8 require images to be parsed as shortcodes 2017-08-25 16:30:39 -04:00
Shawn Erquhart
dbf14a8f7b re-enable shortcode insertion via toolbar 2017-08-25 16:30:38 -04:00
Shawn Erquhart
b7379b019e re-implement shortcode parsing to/from mdast 2017-08-25 16:30:38 -04:00
Shawn Erquhart
c95f06138a fix soft break side effects 2017-08-25 16:30:38 -04:00
Shawn Erquhart
842c2935e9 use mdast instead of html for rte local model
markdown is currently serialized to html at load time,
which makes it near impossible to support arbitrary html
in the markdown. This also means we're stringifying to
html on every change.

This commit moves to Remark's MDAST for local serialization,
including parsing from MDAST to Slates's Raw AST. It brings
much more control over the editing experience and full
support for processing unescaped HTML.
2017-08-25 16:30:37 -04:00
Shawn Erquhart
93687d9157 add shortcodes through rte toolbar 2017-08-25 16:28:18 -04:00
Shawn Erquhart
469a50afa4 add idempotent markdown/html shortcode handling 2017-08-25 16:28:18 -04:00
Shawn Erquhart
63e93d79ca improve rte list handling 2017-08-25 16:28:18 -04:00
Shawn Erquhart
31c997897f fix inline code serializing to blocks 2017-08-25 16:28:18 -04:00
Shawn Erquhart
0e50210dcf close blocks on backspace 2017-08-25 16:28:18 -04:00
Shawn Erquhart
09751efe41 allow raw html in markdown 2017-08-25 16:28:18 -04:00
Shawn Erquhart
f22d09b781 add smart soft breaks for visual editor 2017-08-25 16:28:18 -04:00
Shawn Erquhart
fe3d04b722 streamline raw editor pasting 2017-08-25 16:28:18 -04:00
Shawn Erquhart
24caeadfa4 add list and code toolbar buttons 2017-08-25 16:28:17 -04:00
Shawn Erquhart
ae56ef6dda convert raw editor to Slate 2017-08-25 16:28:17 -04:00
Shawn Erquhart
719c105844 remove logic from raw markdown editor 2017-08-25 16:28:17 -04:00
Shawn Erquhart
b08a9fcaa8 improve Dropbox Paper paste handling 2017-08-25 16:28:17 -04:00
Shawn Erquhart
c49d84b2eb add empty node and Paper emoji unified plugins 2017-08-25 16:28:17 -04:00
Shawn Erquhart
a8fe57e5d6 pre-process visual editor pastes w/ unified 2017-08-25 16:28:17 -04:00
Shawn Erquhart
5a664f8be1 remove prosemirror, reuse unified pipelines 2017-08-25 16:28:17 -04:00
Shawn Erquhart
cba631ba1a improve visual/raw editor consistency 2017-08-25 16:25:30 -04:00
Shawn Erquhart
5cbc76da68 improve rte pasting 2017-08-25 16:24:13 -04:00
Shawn Erquhart
54e77bd80c fix raw editor formatting controls 2017-08-25 16:24:13 -04:00
Shawn Erquhart
faec38ac19 fix raw editor paste parsing 2017-08-25 16:24:13 -04:00
Shawn Erquhart
e0ca24c6d3 add unified config module 2017-08-25 16:24:13 -04:00
Shawn Erquhart
09e631ded7 allow nested widget previews to update 2017-08-25 16:24:13 -04:00
Shawn Erquhart
84ed450ac6 add visual editor serializer source doc 2017-08-25 16:24:13 -04:00
Shawn Erquhart
ffbd8d22cc expose widgetValueSerializer registry 2017-08-25 16:24:13 -04:00
Shawn Erquhart
1c0bb6a877 implement widget data serialization for rte perf 2017-08-25 16:24:13 -04:00
Shawn Erquhart
bc721337de set rte focus after toolbar click 2017-08-25 16:24:13 -04:00
Shawn Erquhart
22a8da11a4 fix rte link serialization 2017-08-25 16:24:13 -04:00
Shawn Erquhart
e682189410 only render editor page controls/previews on change 2017-08-25 16:24:13 -04:00
Shawn Erquhart
e01c077efb fix empty initial state for rte 2017-08-25 16:24:12 -04:00
Shawn Erquhart
9c869be8fa migrate visual editor from prosemirror to slate 2017-08-25 16:24:12 -04:00
Shawn Erquhart
49b3a62823 attempt prosemirror update, troubleshooting 2017-08-25 16:24:12 -04:00
Shawn Erquhart
e7ac3a7671 switch remark options to use gfm, fences 2017-08-25 16:24:12 -04:00
Shawn Erquhart
b293b235bb fix link creation in visual editor 2017-08-25 16:24:12 -04:00
Shawn Erquhart
bd767308cd fix visual editor tests, parse/serialize consistency 2017-08-25 16:24:12 -04:00
Shawn Erquhart
b22323201d handle raw editor html pastes with unified 2017-08-25 16:24:12 -04:00
Shawn Erquhart
b5e0be43f2 split off markdownToProseMirror plugin 2017-08-25 16:24:12 -04:00
Shawn Erquhart
361c3d5284 improve prosemirror parser, fix new doc creation 2017-08-25 16:24:12 -04:00
Shawn Erquhart
8bb18452e8 implement initial unified/remark preview update 2017-08-25 16:24:12 -04:00
Shawn Erquhart
5048c7ca1d convert editor component registry to Map 2017-08-25 16:24:12 -04:00
Shawn Erquhart
adcb215fbd replace remark with unified for docs and extensibility 2017-08-25 16:24:12 -04:00
Shawn Erquhart
514fbb30b8 render plugins on visual editor load 2017-08-25 16:24:12 -04:00
Shawn Erquhart
e401f7ef9b remove unrelated code style improvements 2017-08-25 16:24:12 -04:00
Shawn Erquhart
f93aa34105 fix rebase incongruencies 2017-08-25 16:24:12 -04:00
Kyle Mathews
8763666570 Update parser to support remaining node types + add inline styled text support 2017-08-25 16:24:12 -04:00
Kyle Mathews
0eb109cb73 Convert markdown-prosemirror parser/compiler to Remark 2017-08-25 16:24:12 -04:00
Kyle Mathews
24c0a1bdb4 Replace markup-it with Remark for rendering markdown in the editor preview 2017-08-25 16:24:12 -04:00
Shawn Erquhart
0dd173a83f rename isCollaborator to hasWriteAccess 2017-08-20 16:02:57 -04:00
Caleb
6df35a2f30 Fix denied login for users with many repos.
`isCollaborator` was created in #491 to block login if a user did not have write (push) permissions to a repo, by going through the list of a users repos until it found the right one. It did not institute pagination, however, so if a user had enough repos that the one in question was on another page, the CMS would assume that they did not have permission and block the login.

This commit fixes the problem by calling the API for the specific repo instead of getting the whole list.
2017-08-19 18:07:09 -06:00
Caleb
37f6e7bac5 Fix deletion for the test-repo backend.
Deletion was added in #485, but the function for the `test-repo` backend
was `deleteEntry` instead of `deleteFile` like it was supposed to be.

Also, setting the key for a deleted file to `undefined` did not really
remove that file from the object, so there were then errors stating
`file.content` is not defined. `delete`ing the "file" from the object
fixes this bug.
2017-08-17 13:25:54 -06:00
Shawn Erquhart
5020d3d0e5 Merge pull request #528 from netlify/fix-confusing-yaml-vs-yml-format-distinction
Fix confusing "yaml/yml" distinction in formats.js
2017-08-17 13:09:47 -04:00
Shawn Erquhart
14be00be90 Merge pull request #507 from netlify/fix-post-save-error
Fix runtime error on saving post in editorial workflow
2017-08-17 11:52:54 -04:00
Benaiah Mischenko
30dcc2bdf0 Fix confusing "yaml/yml" distinction in formats.js
Makes "yml" and "yaml" synonyms for both file extensions and format
settings.
2017-08-15 14:42:55 -07:00
Benaiah Mischenko
b3b13d311c Make GitHub repo name comparison case-insensitive (fixes #510) 2017-08-11 12:19:01 -07:00
tortilaman
6805a6936d Prevent unauthorized CMS access (#323) and enable use of GitHub Enterprise (#491)
* Prevent unauthorized CMS access and enable use of GitHub Enterprise
2017-08-01 20:28:03 -07:00
Benaiah Mischenko
fda2f2269d Fix runtime error on saving post in editorial workflow
The removed `dispatch(closeEntry)` is handled in the code that's been
erroring out (located in `containers/EntryPage.js`). User-visible
functionality is identical.
2017-08-01 19:48:15 -07:00
Damien Van Der Windt
b294110db7 Stopped the pluralization of collection name (#503) 2017-07-27 11:13:34 -07:00
Shawn Erquhart
56e63b6573 Merge pull request #493 from Dammmien/fix_list_item_reordering
Fix list item reordering #437
2017-07-25 08:45:23 -04:00
Damien Duhamel
1b3aec4ebf Add some comments 2017-07-25 10:28:35 +02:00
Damien Duhamel
4d2ed6b1ea Check editor value after update 2017-07-23 19:38:05 +02:00
Benaiah Mischenko
dac57c60a0 Entry deletion for the simple workflow (#485) 2017-07-21 23:40:33 -07:00
Shawn Erquhart
aebf28b881 allow registered widget controls to be reused 2017-07-10 15:01:02 -04:00
Shawn Erquhart
72a661d132 pass more contextual data to preview components 2017-07-10 15:01:01 -04:00
Shawn Erquhart
324340135b lengthen relation search debounce to reduce lag 2017-07-10 15:01:01 -04:00
Jerry Holmes
cc93ad87dc Encode URI of image path for card view vs. normalizePath replace (#474) 2017-07-10 10:36:07 -07:00
Drian Hillman
4c35e39a59 Refactors a portion to access this Data Structure more effectively 2017-07-03 20:37:19 -04:00
Drian Hillman
a8ebba2cf2 adds context to new list item button 2017-07-01 13:52:46 -04:00
Shawn Erquhart
66a683bef1 hide hidden widget in object and list controls 2017-06-28 16:12:35 -04:00
Eamonn Bell
e51071abf4 Change .find() predicate to not reject field names based on spurious whitespace. 2017-06-22 21:49:31 +01:00
Eamonn Bell
3e105b3089 Fix indentation. 2017-06-22 21:39:32 +01:00
Eamonn Bell
a4e324201d Refactor indentifer field find and validation. 2017-06-22 21:25:30 +01:00
Eamonn Bell
eaa43488e5 Remove case sensitivity of names of fields used in slug construction 2017-06-22 14:05:22 +01:00
Benaiah Mischenko
25225121ed [WIP] Upgrade to Webpack 2 2017-06-13 15:30:21 -07:00
Mathias Biilmann
546ca5917e Add cache buster to all GitHub API calls (#449)
This should solve issues like #308 and the issues with cached
API responses after deleting an entry
2017-06-12 13:01:53 -07:00
Shawn Erquhart
3a2e5eb988 refactor nested widget preview logic 2017-06-08 14:12:40 -04:00
Shawn Erquhart
3a7c45f34e fix list widget preview 2017-06-08 14:12:36 -04:00
Shawn Erquhart
d526c27669 fix object previews
The `widgetFor` functionality needs to be shared between
the object and list previews, as well as being exposed to
preview template authors, so deriving widget components
within the ObjectPreview is being removed in this commit.
2017-06-07 23:23:10 -04:00
Shawn Erquhart
0589934169 update file widget to match image widget 2017-06-07 23:23:10 -04:00
Shawn Erquhart
3176fa1b3f fix entry editor bugs in kitchen sink entry 2017-06-07 23:23:09 -04:00
Shawn Erquhart
e36e1880d0 print file parsing errors to console 2017-06-07 16:42:27 -04:00