86 lines
1.9 KiB
Markdown
86 lines
1.9 KiB
Markdown
|
format should change permalink
|
||
|
date
|
||
|
show file path
|
||
|
show prod url
|
||
|
show dev url
|
||
|
|
||
|
|
||
|
POST tests
|
||
|
create a title and delete it (no error)
|
||
|
change the format. does the permalink change? (yes)
|
||
|
change the permalink. change the title. does the permalink stay? (yes)
|
||
|
|
||
|
change the format. does the permalink change? (yes)
|
||
|
change the format in the frontmatter permalink. does the format change? (yes)
|
||
|
|
||
|
create a description and delete it (no error)
|
||
|
create a description. does the frontmatter change? (yes)
|
||
|
|
||
|
|
||
|
protection
|
||
|
Don't allow changing the uuid, original_url, or original_date
|
||
|
|
||
|
TODO
|
||
|
---
|
||
|
|
||
|
check that no other post uses the same permalink
|
||
|
|
||
|
|
||
|
|
||
|
default data-model 'ruhoh@2.2'
|
||
|
other data-model 'desirae@1.0'
|
||
|
|
||
|
Widgets
|
||
|
=======
|
||
|
|
||
|
All widgets should export an object with a `create(widgetConf, desiState)` function that returns a promise.
|
||
|
|
||
|
```yaml
|
||
|
widgets:
|
||
|
foogizmo:
|
||
|
# only stuff that is intensely specific to foogizmo goes here
|
||
|
# stuff like google ad and disqus ids should go in config.yml or data.yml
|
||
|
config:
|
||
|
foobeep: boop
|
||
|
|
||
|
handle:
|
||
|
- html
|
||
|
- markdown
|
||
|
handlers:
|
||
|
post: fooposter
|
||
|
page: foopager
|
||
|
```
|
||
|
|
||
|
```javascript
|
||
|
'use strict';
|
||
|
|
||
|
module.exports.Foogizmo.create = function (foogizmoConf, desiState) {
|
||
|
return new Promise(function (resolve) {
|
||
|
|
||
|
function pager(desiPageState) {
|
||
|
// Do processing
|
||
|
|
||
|
return Promise.resolve();
|
||
|
}
|
||
|
|
||
|
function poster(desiPostState) {
|
||
|
// Do processing
|
||
|
|
||
|
desiPostState.fooembedinator = function (fooval) {
|
||
|
// figure out what type of link fooval is and return iframe html
|
||
|
return '<iframe src="http://embedinator.com/"' + foovalProcessed + '></iframe>'
|
||
|
}
|
||
|
}
|
||
|
|
||
|
resolve({ foopager: pager, fooposter: poster });
|
||
|
});
|
||
|
}
|
||
|
```
|
||
|
|
||
|
Overlays
|
||
|
--------
|
||
|
|
||
|
For any config a widget uses, it should also check on post.fooconfig and theme.fooconfig to make sure that they don't override the foogizmo.config.fooconfig
|
||
|
|
||
|
|