49 Commits

Author SHA1 Message Date
Erez Rokah
ab685e8594
fix: change getAsset to not return a promise (#3232)
* fix: change getAsset to not return a promise

* fix: update markdown widget per getAsset changes

* test: fix editor component image test

* docs: update getAsset docs
2020-02-12 19:12:36 -05:00
Erez Rokah
c4125625f9
Feat: Allow using subfields as identifier field (#3219) 2020-02-12 08:30:44 +02:00
Erez Rokah
97bc0c8dc4
feat: field based media/public folders (#3208) 2020-02-10 11:05:47 -05:00
Erez Rokah
a215cfbe3a
fix: allow absolute paths for collection media folder (#3160) 2020-01-28 10:33:21 -08:00
Erez Rokah
cf57da223d Feat: media folders templates (#3116)
* refactor: typescript backendHelper

* test: add string templating tests

* test: add createPreviewUrl invalid date test

* refactor: move all formatters to one file

* feat: support media folders templating

* feat: add filename and extension template variables

* feat: support paths in string templates

* docs: add media folder templating docs

* style(docs): remove line break
2020-01-22 13:42:24 -05:00
Erez Rokah
6f221ab3c1 Feat: editorial workflow bitbucket gitlab (#3014)
* refactor: typescript the backends

* feat: support multiple files upload for GitLab and BitBucket

* fix: load entry media files from media folder or UI state

* chore: cleanup log message

* chore: code cleanup

* refactor: typescript the test backend

* refactor: cleanup getEntry unsued variables

* refactor: moved shared backend code to lib util

* chore: rename files to preserve history

* fix: bind readFile method to API classes

* test(e2e): switch to chrome in cypress tests

* refactor: extract common api methods

* refactor: remove most of immutable js usage from backends

* feat(backend-gitlab): initial editorial workflow support

* feat(backend-gitlab): implement missing workflow methods

* chore: fix lint error

* feat(backend-gitlab): support files deletion

* test(e2e): add gitlab cypress tests

* feat(backend-bitbucket): implement missing editorial workflow methods

* test(e2e): add BitBucket backend e2e tests

* build: update node version to 12 on netlify builds

* fix(backend-bitbucket): extract BitBucket avatar url

* test: fix git-gateway AuthenticationPage test

* test(e2e): fix some backend tests

* test(e2e): fix tests

* test(e2e): add git-gateway editorial workflow test

* chore: code cleanup

* test(e2e): revert back to electron

* test(e2e): add non editorial workflow tests

* fix(git-gateway-gitlab): don't call unpublishedEntry in simple workflow

gitlab git-gateway doesn't support editorial workflow APIs yet. This change makes sure not to call them in simple workflow

* refactor(backend-bitbucket): switch to diffstat API instead of raw diff

* chore: fix test

* test(e2e): add more git-gateway tests

* fix: post rebase typescript fixes

* test(e2e): fix tests

* fix: fix parsing of content key and add tests

* refactor: rename test file

* test(unit): add getStatues unit tests

* chore: update cypress

* docs: update beta docs
2020-01-14 17:15:14 -05:00
Erez Rokah
0a50efda8e feat: support per collection public_folder (#3069)
* feat: support per collection public_folder

* test: improve tests readability
2020-01-14 13:02:53 -05:00
Mauro Bieg
24a81ef9b7 Add media_library.config.max_file_size option (#3028)
* feat: add media_library.config.max_file_size option
2020-01-09 19:56:11 +02:00
Erez Rokah
2b41d8a838 feat: bundle assets with content (#2958)
* fix(media_folder_relative): use collection name in unpublished entry

* refactor: pass arguments as object to AssetProxy ctor

* feat: support media folders per collection

* feat: resolve media files path based on entry path

* fix: asset public path resolving

* refactor: introduce typescript for AssetProxy

* refactor: code cleanup

* refactor(asset-proxy): add tests,switch to typescript,extract arguments

* refactor: typescript for editorialWorkflow

* refactor: add typescript for media library actions

* refactor: fix type error on map set

* refactor: move locale selector into reducer

* refactor: add typescript for entries actions

* refactor: remove duplication between asset store and media lib

* feat: load assets from backend using API

* refactor(github): add typescript, cache media files

* fix: don't load media URL if already loaded

* feat: add media folder config to collection

* fix: load assets from API when not in UI state

* feat: load entry media files when opening media library

* fix: editorial workflow draft media files bug fixes

* test(unit): fix unit tests

* fix: editor control losing focus

* style: add eslint object-shorthand rule

* test(cypress): re-record mock data

* fix: fix non github backends, large media

* test: uncomment only in tests

* fix(backend-test): add missing displayURL property

* test(e2e): add media library tests

* test(e2e): enable visual testing

* test(e2e): add github backend media library tests

* test(e2e): add git-gateway large media tests

* chore: post rebase fixes

* test: fix tests

* test: fix tests

* test(cypress): fix tests

* docs: add media_folder docs

* test(e2e): add media library delete test

* test(e2e): try and fix image comparison on CI

* ci: reduce test machines from 9 to 8

* test: add reducers and selectors unit tests

* test(e2e): disable visual regression testing for now

* test: add getAsset unit tests

* refactor: use Asset class component instead of hooks

* build: don't inline source maps

* test: add more media path tests
2019-12-18 11:16:02 -05:00
Erez Rokah
af61245360
fix: don't show progress when loading preview status (#2974) 2019-12-17 08:30:08 +02:00
Shawn Erquhart
18c579d0e9 feat: Code Widget + Markdown Widget Internal Overhaul (#2828)
* wip - upgrade to slate 0.43

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* finish list handling logic

* add plugins directory

* tests wip

* setup testing

* wip

* add selection commands

* finish list testing

* stuff

* add codemirror

* abstract codemirror from slate

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* codemirror mostly working, some bugs

* upgrade to slate 46

* upgrade to slate 47

* wip

* wip

* progress

* wip

* mostly working links with surrounding marks

* wip

* tests passing

* add test

* fix formatting

* update snapshots

* close self closing tag in markdown html output

* wip - commonmark

* hold on commonmark work

* all tests passing

* fix e2e specs

* ignore tests in esm builds

* break/backspace plugins wip

* finish enter/backspace spec

* fix soft break handling

* wip - editor component deletion

* add insertion points

* make insertion points invisible

* fix empty mark nodes output to markdown

* fix pasting

* improve insertion points

* add static bottom insertion point

* improve click handling at insertion points

* restore current table functionality

* add paste support for Slate fragments

* support cut/copy markdown, paste between rich/raw editor

* fix copy paste

* wip - paste/select bug fixing

* fixed known slate issues

* split plugins

* fix editor toggles

* force text cursor in code widget

* wip - reorg plugins

* finish markdown control reorg

* configure plugin types

* quote block adjacent handling with tests

* wip

* finish quote logic and tests

* fix copy paste plugin migration regressions

* fix force insert before node

* fix trailing insertion point

* remove empty headers

* codemirror working properly in markdown widget

* return focus to codemirror on lang select enter

* fix state issues for widgets with local state

* wip - vim working, just need to work out distribution

* add settings pane

* wip - default modes

* fix deps

* add programming language data

* implement linguist langs in code widget

* everything built in

* remove old registration code, fix focus styling

* fix/update linting setup

* fix js lint errors

* remove stylelint from format script

* fix remaining linting errors

* fix reducer test failures

* chore: update commitlint for worktree support

* chore: fix remaining tests

* chore: drop unused monaco plugin

* chore: remove extraneous global styles rendering

* chore: fix failing tests

* fix: tests

* fix: quote/list nesting (tests still broken)

* fix: update quote tests

* chore: bring back code widget test config

* fix: autofocus

* fix: code blocks without the code widget

* fix: code editor component state issues

* fix: error

* fix: add code block test, few fixes

* chore: remove notes

* fix: [wip] update stateful shortcodes on undo/redo

* fix: support code styled links, handle unknown langs

* fix: few fixes

* fix: autofocus on insert, focus on all clicks

* fix: linting

* fix: autofocus

* fix: update code block fixture

* fix: remove unused cypress snapshot plugin

* fix: drop node 8 test, add node 12

* fix: use lodash.flatten instead of Array.flat

* fix: remove console logs
2019-12-16 19:17:37 +02:00
Bartholomew
d180bffb44 feat: duplicate entry (#2956) 2019-12-10 20:33:02 -05:00
Erez Rokah
afcfe5b6d5 feat: content in sub folders (#2897) 2019-11-27 22:39:33 -05:00
Erez Rokah
ead46af194
chore(deps): update dependency prettier to v1.19.1 (#2893)
* chore(deps): update dependency prettier to v1.19.1

* style: format files after prettier upgrade
2019-11-18 17:51:51 +02:00
Erez Rokah
6515dee871
feat: commit media with post (#2851)
* feat: commit media with post - initial commit

* feat: add draft media indication

* feat: sync UI media files with GitHub on entry load

* feat: bug fixes

* feat: delete media files from github when removed from library

* test: add GitHub backend tests

* test: add unit tests

* fix: meta data object files are not updated

* feat: used nested paths when update a tree instead of recursion

* feat(test-backend): update test backend to persist media file with entry

* test(e2e): re-record fixtures data

* chore: code cleanup

* chore: code cleanup

* fix: wait for library to load before adding entry media files

* chore: code cleanup

* fix: don't add media files on entry when not a draft

* fix: sync media library after draft entry was published

* feat: update media library card draft style, add tests

* test: add Editor unit tests

* chore: test code cleanup

* fix: publishing an entry from workflow tab throws an error

* fix: duplicate media files when using test backend

* refactor: fix lodash import

* chore: update translations and yarn file after rebase

* test(cypress): update recorded data

* fix(test-backend): fix mapping of media files on publish
2019-11-17 11:51:50 +02:00
Ananthakumar
542a7acfe6 fix(workflow): label file collection entries in Workflow (#2566) 2019-11-08 18:28:17 -05:00
Erez Rokah
d38d4665c4
test(cleanup): remove/reintorduce skipped tests (#2788) 2019-10-23 13:22:48 +03:00
polemius
04b371825e chore: fix the typos in comments (#2679) 2019-09-24 16:16:09 -04:00
melbourne2991
8bdfea4728 fix: prevent deletion of file collection entries by default (#2627) 2019-09-05 18:08:07 -04:00
Benaiah Mischenko
34e1f09105 Open Authoring bugfixes and pagination improvements (#2523)
* Fix handling of displayURLs which are strings

* Add fromFetchArguments to unsentRequest

* Add parseLinkHeader to backendUtil

* Handle paginated endpoints in GitHub API

* Rename fork workflow to Open Authoring across the whole repo

* Fixes for bugs in GitHub API introduced by Open Authoring changes

* Fix getDeployPreview

* Fix incorrect auth header formatting GitHub implementation

cf. https://github.com/netlify/netlify-cms/pull/2456#discussion_r309633387

* Remove unused and broken method from GitHub API

cf. https://github.com/netlify/netlify-cms/pull/2456#discussion_r308687145

* Fix editorialWorkflowGit method in GitHub API

* Request published entry content from origin repo

* Better error when deleting a published post in Open Authoring

* Rename to Open Authoring in fork request message

Also adds a note to the fork request message that an existing fork of
the same repo will be used automatically.

* fix linting
2019-08-24 13:54:59 -04:00
Benaiah Mischenko
edf0a3afdc feat(backend-github): Open Authoring (#2430)
* Make filterPromises resolve entries before filtering

* Add filterPromisesWith & onlySuccessfulPromises to utility library

* Memoize user method in GitHub API

* Make storeMetadata safe to call concurrently in GitHub API

* Fork workflow: startup and authentication

* Fork workflow: backend support

* Fork workflow: disable unused UI elements

* Fork workflow: docs

* Fork workflow: fix deploy previews

* Suggested edits for fork workflow doc

* Change future tense to present

* Fork workflow: add beta status to docs

* remove debug statement

* rename fork workflow to Open Authoring
2019-07-24 18:20:41 -04:00
Bartholomew
0ce995d78c fix(core): ensure against slug overwrite (#2139) 2019-04-10 16:38:53 -04:00
Austin Devine
573ad8816d feat(core): allow custom summary on entry cards (#2140) 2019-03-29 14:30:38 -04:00
Tony Alves
e04f6bec1d fix: fix umd builds (#2214) 2019-03-18 15:47:57 -04:00
Shawn Erquhart
ccef446d72
feat: upgrade to Emotion 10 (#2166) 2019-03-15 10:19:57 -04:00
Shawn Erquhart
686504adee
feat(core): recover entry after unexpected quit (#2129) 2019-02-28 13:30:23 -05:00
Benaiah Mischenko
da2249c651 Netlify Large Media integration (#2124) 2019-02-26 13:11:15 -05:00
Shawn Erquhart
49195fdb1a
enhancement(collections): use identifier field in collections view (#2058) 2019-02-19 16:14:37 -05:00
Shawn Erquhart
15d221d4a4
feat(workflow): add deploy preview links (#2028) 2019-02-08 12:26:59 -05:00
Bartholomew
627e600d29 fix(netlify-cms-core): validate nested fields (#1873) 2019-02-05 17:27:34 -05:00
Bartholomew
cedcbf89a5 fix(netlify-cms-core): avoid partially loaded collection list (#1964) 2018-12-19 15:28:45 -05:00
Shawn Erquhart
1fc2f50499
feat: add cloudinary support (#1932) 2018-12-04 17:04:52 -05:00
Steve Lathrop
d5f4c99002 fix(netlify-cms-core): fix identifier field validation (#1907) 2018-11-26 20:31:14 -05:00
Matt Kane
12418dd7f0 feat(config): add support for setting custom identifier field (#1543) 2018-11-01 14:02:11 -04:00
Shawn Erquhart
0596904e0b
feat(media): add external media library support, Uploadcare integration (#1602) 2018-08-30 16:24:28 -04:00
Benaiah Mischenko
83d2adc0be fix(gitlab): fetch media library images through API (#1433) 2018-08-22 15:28:51 -04:00
Caleb
f801b19221 chore: add code formatting and linting (#952) 2018-08-07 16:46:54 -04:00
Caleb
8cc6dc78ec improvement(validation): use config schema definition for validation (#1363) 2018-08-07 12:31:17 -04:00
Caleb
88f7dca328 chore(lint): cleanup unused variables in code (#1563) 2018-08-07 11:53:31 -04:00
jimmycleveland-clearlink
77fbc041bb fix(relation): fix relation widget selection bug (#1572) 2018-08-07 11:51:47 -04:00
jimmycleveland-clearlink
4d8e176797 chore(redux): change isFetching to consistently be boolean (#1570) 2018-08-02 11:12:16 -04:00
Caleb
5a27fb8b9d chore: fix miscellaneous errors from linters (#1555) 2018-07-31 17:03:46 -04:00
Caleb
95c744ee3e fix: only trim periods from file extensions (#1554) 2018-07-31 15:48:42 -04:00
Caleb
4f6e8cea44 chore: remove unused imports (#1534) 2018-07-28 16:33:42 -04:00
Caleb
6632e5d152 fix: bug fixes from linters (#1524) 2018-07-27 11:13:52 -04:00
Shawn Erquhart
2f95d8c4fc use webpack for all builds 2018-07-25 21:17:57 -04:00
Shawn Erquhart
040dd6859c fix build, migrate test backend 2018-07-25 21:17:57 -04:00
Shawn Erquhart
2e7406862e fix various bugs 2018-07-25 21:17:57 -04:00
Shawn Erquhart
768fcbaa1d begin scaffolding for lerna 2018-07-25 21:17:57 -04:00