
Security News
pnpm 10.12 Introduces Global Virtual Store and Expanded Version Catalogs
pnpm 10.12.1 introduces a global virtual store for faster installs and new options for managing dependencies with version catalogs.
vue-notion
Advanced tools
An unofficial Notion renderer
A Vue renderer for Notion pages. Use Notion as CMS for your blog, documentation or personal site.
vue-notion was ported to Vue from react-notion (developed by Splitbee ๐ โ a fast, reliable, free, and modern analytics for any team)
This package doesn't handle the communication with the API. Check out notion-api-worker from Splitbee for an easy solution.
Created by Jannik Siebert
๐ฏ Accurate โ Results are almost identical
๐จ Custom Styles โ Styles are easily adaptable. Optional styles included
๐ SSR / Static Generation Support โ Functions to work with Nuxt and other frameworks
npm install vue-notion
Check out a demo at vue-notion.now.sh โจ
The full NotionRenderer
specification and more information on the Notion API and integration with Nuxt can be found at docs/
.
This example is hosted at vue-notion.now.sh/welcome.
<template>
<NotionRenderer :blockMap="blockMap" fullPage />
</template>
<script>
import { NotionRenderer, getPageBlocks } from "vue-notion";
export default {
components: { NotionRenderer },
data: () => ({ blockMap: null }),
async created() {
// get Notion blocks from the API via a Notion pageId
this.blockMap = await getPageBlocks("8c1ab01960b049f6a282dda64a94afc7");
},
};
</script>
<style>
@import "vue-notion/src/styles.css"; /* optional Notion-like styles */
</style>
The example above uses a simple wrapper around the notion-api-worker.
It is also possible to store and use plain .json
objects received from the Notion API.
โ ๏ธ Use with caution. The
getPageBlocks
andgetPageTable
are based on the private Notion API. We can not gurantee it will stay stable. The private API is warpped by notion-api-worker. If you use these methods a lot, please consider hosting you own instance, as described indocs#notion-api
.
A full working example using Nuxt and static generation can be found inside the example
directory.
Add issues, request features and upvote block types that you want to see next!
List of pages that are using this library.
vue-notion
, we'd be happy to feature you hereMost common block types are supported. We happily accept pull requests to add support for the missing blocks.
Block Type | Supported | Notes |
---|---|---|
Text | โ Yes | |
Heading | โ Yes | |
Image | โ Yes | |
Image Caption | โ Yes | |
Bulleted List | โ Yes | |
Numbered List | โ Yes | |
Quote | โ Yes | |
Callout | โ Yes | |
Column | โ Yes | |
iframe | โ Yes | |
Video | โ Yes | Only embedded videos |
Divider | โ Yes | |
Link | โ Yes | |
Code | โ Partially | Highlighting coming soon |
Web Bookmark | โ Soon | |
Toggle List | โ Yes | |
Page Links | โ Yes | |
Header | โ Yes | Enable with fullPage |
Databases | โ Not planned | |
Checkbox | โ Not planned | |
Table Of Contents | โ Not planned |
Please, feel free to open an issue if you notice any missing blocks or anything wrong with existing blocks.
MIT ยฉ๏ธ Jannik Siebert
FAQs
A Vue renderer for Notion pages
The npm package vue-notion receives a total of 598 weekly downloads. As such, vue-notion popularity was classified as not popular.
We found that vue-notion demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.ย It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
pnpm 10.12.1 introduces a global virtual store for faster installs and new options for managing dependencies with version catalogs.
Security News
Amaro 1.0 lays the groundwork for stable TypeScript support in Node.js, bringing official .ts loading closer to reality.
Research
A deceptive PyPI package posing as an Instagram growth tool collects user credentials and sends them to third-party bot services.