diff options
author | Steve Manuel <nilslice@gmail.com> | 2017-06-10 17:09:47 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-10 17:09:47 -0600 |
commit | e3fb3aba33645ef1c7ba1d1556c806d7c0eb853b (patch) | |
tree | e65b5a0dc7579b0af904c487570c5c5ade742f7b /docs/src/Content/Extending-Content.md | |
parent | 427dff52c3db481dff38dd1eee83f93e54ea8065 (diff) | |
parent | 4d767c13f15b24fdbfcb610589e757a98c931d70 (diff) |
Merge pull request #159 from ponzu-cms/ponzu-dev
[cli] adding documentation server for local use
Diffstat (limited to 'docs/src/Content/Extending-Content.md')
-rw-r--r-- | docs/src/Content/Extending-Content.md | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/docs/src/Content/Extending-Content.md b/docs/src/Content/Extending-Content.md new file mode 100644 index 0000000..91a32a0 --- /dev/null +++ b/docs/src/Content/Extending-Content.md @@ -0,0 +1,44 @@ +title: Extending Content through built-in Interfaces and optional Addons + +Extending your Content types with more features and functionality within the system +is done by implementing the various built-in interfaces provided by Ponzu. To learn +more about interfaces, see [A Tour of Go - Interfaces](https://tour.golang.org/methods/10). + +It is also common to add more advanced functionality to Content types using Addons. Refer to the [Addon documentation](/Ponzu-Addons) for more information about how to use and create Ponzu Addons. + +## [Item Interfaces](/Interfaces/Item) + +All Content types which embed an `item.Item` will implicitly [implement](#) its many +interfaces. In Ponzu, the following interfaces are exported from the `system/item` +package and have a default implementation which can be overridden to change your +content types' functionality within the system. + +- [`item.Pushable`](/Interfaces/Item#itempushable) +- [`item.Hideable`](/Interfaces/Item#itemhideable) +- [`item.Omittable`](/Interfaces/Item#itemomittable) +- [`item.Hookable`](/Interfaces/Item#itemhookable) +- [`item.Identifiable`](/Interfaces/Item#itemidentifiable) +- [`item.Sortable`](/Interfaces/Item#itemsortable) +- [`item.Sluggable`](/Interfaces/Item#itemsluggable) + +## [API Interfaces](/Interfaces/API) + +To enable 3rd-party clients to interact with your Content types, you can extend your types with the API interfaces: + +- [`api.Createable`](/Interfaces/API/#apicreateable) +- [`api.Updateable`](/Interfaces/API/#apiupdateable) +- [`api.Deleteable`](/Interfaces/API/#apideleteable) +- [`api.Trustable`](/Interfaces/API/#apitrustable) + +## [Editor Interfaces](/Interfaces/Editor) + +To manage how content is edited and handled in the CMS, use the following Editor interfaces: + +- [`editor.Editable`](/Interfaces/Editor/#editoreditable) +- [`editor.Mergeable`](/Interfaces/Editor/#editormergeable) + +## [Search Interfaces](/Interfaces/Search) + +To enable and customize full-text search on your content types, use the following interfaces: + +- [`search.Searchable`](/Interfaces/Search/#searchsearchable)
\ No newline at end of file |