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.
There were a couple issues with the original version of
`resolvePromiseProperties`:
- The wrapper promise was unnecessary, since we can just return the
`Promise.all`. Fixing this allows us to remove a wrapping function,
reduce indentation, remove the `resolve` and `reject` calls, and
remove the now unnecessary `.catch` line.
- There was inadvertent mutation in the `Object.assign` call - the
first parameter to `Object.assign` is mutated, so to call it without
mutating existing objects the first parameter should be a literal
`{}`. This is now fixed.
`resolvePromiseProperties` takes on object and returns a promise which
resolves to a copy of the object. This copy has all its immediate
properties which were Promises replaced with the resolved value of
those promises. Promises are run with `Promise.all`. Errors are passed
up to the outer promise chain.
Example usage:
```js
resolvePromiseProperties({
promise: Promise.resolve("this property will resolve to this string"),
nonPromise: "this will remain the same",
// you can nest the function
nestedPromiseInside: resolvePromiseProperties({
nestedPromise: Promise.resolve("this will resolve"),
nestedNonPromise: "this stays the same",
}),
})
.then(obj => console.log(obj))
```
That will produce the following output:
```js
{
promise: "this property will resolve to this string",
nonPromise: "this will remain the same",
nestedPromiseInside: {
nestedPromise: "this will resolve",
nestedNonPromise: "this stays the same",
},
}
```
* infer card title
* Infer entry body & image
* infer image
* Better terminology: EntryListing accept a single Collection
* remove log
* Refactored Collections VO into selectors
* use selectors when showning card
* fixed size cards
* Added 'bio' and 'biography' to collection description inference synonyms
* Removed unused card file
* throw error instance
* bugfix for file based collections
* lint
* moved components with css to own folder
* Search Bugfix: More than one collection might be returned
* Changed sidebar implementation. Closes#104 & #152
* Show spinning loading for unpublished entries
* Refactored Sidebar into a separate container
* Make preview widgets more robust