Bridgetown Notions CMS Plugin
A Bridgetown plugin to pull content directly out of a Notion database. Each page in the Notion database is added to your posts collection in Bridgetown.
Installation
- Run this command to add this plugin to your site's Gemfile:
$ bundle add bridgetown_notion- Add the following to your site's
config/initializers.rb:
Bridgetown.configure do |config|
init :bridgetown_notion do
notion_key '<your-notion-connection-key>'
notion_db_id '<your-notion-db-id>'
end
endYou should consider using environment variables to store the notion_key and notion_db_id.
It is generally a bad practice to store credentials in version control.
Usage
Notion Setup
bridgetown_notion assumes that you have a Notion database table with the following fileds:
| Field | Type |
|---|---|
| title (required | Title |
| published_at (required) | Date |
| published | Checkbox |
| categories | Multi-selet |
| tags | Multi-selet |
| author | Select |
Note the case of the fields as this is important.
You would also need to create a Notion connection that provides read access to the specific database. You can find the instructions for adding a connection over here.
Testing
- Run
bundle exec rake testto run the test suite - Or run
script/cibuildto validate with Rubocop and Minitest together.
Contributing
- Fork it (https://github.com/username/my-awesome-plugin/fork)
- Clone the fork using
git cloneto your local development machine. - Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create a new Pull Request