Skip to content

Revamp Notion plugin #220

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 36 commits into
base: main
Choose a base branch
from

Conversation

madebyisaacr
Copy link
Contributor

@madebyisaacr madebyisaacr commented May 3, 2025

Description

This pull request adds many improvements and bug fixes to the Notion plugin.

General:

  • Update to framer-plugin 3.1.0

Design:

  • Increased default plugin UI size to 600 x 500 to prevent field names from being cut off.
  • Changed accent color to match Notion theme (black and white)
  • Improve design of unsupported fields.
  • All field type labels now match the name of fields in Framer (e.g. Toggle instead of Boolean)
  • Made “Next” and "Log In" buttons have the primary style.
  • Added the title of the Notion database to the top of the config UI, which links to the database on Notion.
  • Only rows with more than 1 field type are shown as a dropdown. This makes it easy to know which fields can have their type changed.

Features:

  • The page cover image can now be imported as an image field.
  • Added support for formula, rollup, phone number, unique ID, people, created by and last edited by Notion properties. People fields are imported as the user's name.
  • The title field is now always first.
  • Added support for blockquotes and YouTube videos in page content.
  • Improved the detection of code block languages in page content.
  • Select fields with will now use the first enum case instead of causing an error. This matches the Airtable plugin's behavior.
  • Allow syncing relation fields as a single reference field.
  • Phone number and email can now be imported as link fields.
  • URLs can now be imported as image and file fields.

Bug Fixes:

  • Fix email, image and number fields causing an error if they are empty. Empty number fields are imported as 0.
  • Fixed status fields. Status fields now work the same way as select fields.
  • Non-image files (such as txt files) are now skipped when importing as images.
  • Removed the option to import page content as string instead of formatted text. It let you do this before, but it didn't really work because it still converted the content to HTML.

To-Do:

image image

There's a lot of changes in this PR, but I decided it would be better to submit them all as a single PR instead of splitting into multiple, just to make it easier to review. Each feature/change is in a separate commit.

Once this is approved, I will do the same updates for the Airtable and Google Sheets plugins.

Please leave any feedback and comments you have!


Before:
image

After (almost all field types supported):
image

@madebyisaacr madebyisaacr force-pushed the notion-plugin-updates branch from e608280 to 7998b9b Compare May 3, 2025 19:56
@madebyisaacr madebyisaacr marked this pull request as ready for review May 3, 2025 20:42
@madebyisaacr
Copy link
Contributor Author

This pull request is ready for review now.

@madebyisaacr
Copy link
Contributor Author

Based on @triozer's suggestions, I added a few more updates to bring some changes to the Airtable plugin (#196) into Notion:

  • Phone number and email can now be imported as link fields.
  • URLs can now be imported as image and file fields.
  • When a Notion item is missing a select value, it uses the first enum case instead of null (which causes an error)
  • Relation can now be imported as a reference field (only multi-reference was supported before). It imports the first item from the relation only.

Also, a small UI improvement is that field types only show as a dropdown when there are multiple types available. This way you can easily tell which fields can have their type changed.
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant