refactor(core): onboarding using new transformer api (#5412)

Use new `transformer` to import onboarding json templates.

The json files are generated via this gist
https://gist.github.com/pengx17/ef92c305ac23123803a1a6a20e31f822

Not using the all-in-one `ZipTransformer` to import onboarding via a zip file.
1. The main concerns is that we still need to serve the blob resources via CDN to reduce user's blob usage. Otherwise the user will get the onboarding images being uploaded to cloud server every time he creates a new workspace. In this PR we extracted parts of the code from `ZipTransformer` in blocksuite and mute some code for uploading blobs.
2. it maybe not necessary to use zip for loading snapshots.

This PR is a short term solution. whether or not to tune the transformer api design may need further discussions.

fix TOV-264
This commit is contained in:
Peng Xiao 2023-12-28 13:59:21 +00:00
parent 954b751e7c
commit 3978b2dfd2
No known key found for this signature in database
GPG Key ID: 23F23D9E8B3971ED
41 changed files with 23414 additions and 10325 deletions

View File

@ -16,6 +16,8 @@ packages/frontend/i18n/src/i18n-generated.ts
packages/frontend/graphql/src/graphql/index.ts
tests/affine-legacy/**/static
.yarnrc.yml
packages/frontend/templates/templates.gen.ts
packages/frontend/templates/onboarding
# auto-generated by NAPI-RS
# fixme(@joooye34): need script to check and generate ignore list here

View File

@ -12,6 +12,7 @@
"dependencies": {
"@affine/debug": "workspace:*",
"@affine/env": "workspace:*",
"@affine/templates": "workspace:*",
"@blocksuite/blocks": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/global": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/store": "0.11.0-nightly-202312220916-e3abcbb",

View File

@ -1,10 +1,17 @@
import { assertExists } from '@blocksuite/global/utils';
import type { Page, PageMeta, Workspace } from '@blocksuite/store';
import type {
JobMiddleware,
Page,
PageMeta,
PageSnapshot,
Workspace,
WorkspaceInfoSnapshot,
} from '@blocksuite/store';
import { Job } from '@blocksuite/store';
import type { createStore, WritableAtom } from 'jotai/vanilla';
import { nanoid } from 'nanoid';
import { Map as YMap } from 'yjs';
import { getLatestVersions } from '../migration/blocksuite';
import { replaceIdMiddleware } from './middleware';
export async function initEmptyPage(page: Page, title?: string) {
await page.load(() => {
@ -22,7 +29,10 @@ export async function initEmptyPage(page: Page, title?: string) {
*/
export async function buildShowcaseWorkspace(
workspace: Workspace,
options: {
{
store,
atoms,
}: {
atoms: {
pageMode: WritableAtom<
undefined,
@ -33,239 +43,72 @@ export async function buildShowcaseWorkspace(
store: ReturnType<typeof createStore>;
}
) {
const prototypes = {
tags: {
options: [
{
id: 'icg1n5UdkP',
value: 'Travel',
color: 'var(--affine-tag-gray)',
},
{
id: 'Oe5dSe1DDJ',
value: 'Quick summary',
color: 'var(--affine-tag-green)',
},
{
id: 'g1L5dXKctL',
value: 'OKR',
color: 'var(--affine-tag-purple)',
},
{
id: 'q3mceOl_zi',
value: 'Streamline your workflow',
color: 'var(--affine-tag-teal)',
},
{
id: 'ze07JVwBu4',
value: 'Plan',
color: 'var(--affine-tag-teal)',
},
{
id: '8qcYPCTK0h',
value: 'Review',
color: 'var(--affine-tag-orange)',
},
{
id: 'wg-fBtd2eI',
value: 'Engage',
color: 'var(--affine-tag-pink)',
},
{
id: 'QYFD_HeQc-',
value: 'Create',
color: 'var(--affine-tag-blue)',
},
{
id: 'ZHBa2NtdSo',
value: 'Learn',
color: 'var(--affine-tag-yellow)',
},
],
},
};
workspace.meta.setProperties(prototypes);
const edgelessPage1 = nanoid();
const { store, atoms } = options;
store.set(atoms.pageMode, edgelessPage1, 'edgeless');
const { onboarding } = await import('@affine/templates');
const pageMetas = {
'9f6f3c04-cf32-470c-9648-479dc838f10e': {
createDate: 1691548231530,
tags: ['ZHBa2NtdSo', 'QYFD_HeQc-', 'wg-fBtd2eI'],
updatedDate: 1691676331623,
favorite: true,
jumpOnce: true,
},
'0773e198-5de0-45d4-a35e-de22ea72b96b': {
createDate: 1691548220794,
tags: [],
updatedDate: 1691676775642,
favorite: false,
},
'59b140eb-4449-488f-9eeb-42412dcc044e': {
createDate: 1691551731225,
tags: [],
updatedDate: 1691654611175,
favorite: false,
},
'7217fbe2-61db-4a91-93c6-ad5c800e5a43': {
createDate: 1691552082822,
tags: [],
updatedDate: 1691654606912,
favorite: false,
},
'6eb43ea8-8c11-456d-bb1d-5193937961ab': {
createDate: 1691552090989,
tags: [],
updatedDate: 1691646748171,
favorite: false,
},
'3ddc8a4f-62c7-4fd4-8064-9ed9f61e437a': {
createDate: 1691564303138,
tags: [],
updatedDate: 1691646845195,
},
'22163830-8252-43fe-b62d-fd9bbeaa4caa': {
createDate: 1691574859042,
tags: [],
updatedDate: 1691648159371,
},
'b7a9e1bc-e205-44aa-8dad-7e328269d00b': {
createDate: 1691575011078,
tags: ['8qcYPCTK0h'],
updatedDate: 1691645074511,
favorite: false,
},
'646305d9-93e0-48df-bb92-d82944ceb5a3': {
createDate: 1691634722239,
tags: ['ze07JVwBu4'],
updatedDate: 1691647069662,
favorite: false,
},
'0350509d-8702-4797-b4d7-168f5e9359c7': {
createDate: 1691635388447,
tags: ['Oe5dSe1DDJ'],
updatedDate: 1691645873930,
},
'aa02af3c-5c5c-4856-b7ce-947ad17331f3': {
createDate: 1691636192263,
tags: ['q3mceOl_zi', 'g1L5dXKctL'],
updatedDate: 1691645102104,
},
} satisfies Record<string, Partial<PageMeta>>;
const data = [
[
'9f6f3c04-cf32-470c-9648-479dc838f10e',
import('@affine/templates/v1/getting-started.json'),
nanoid(),
],
[
'0773e198-5de0-45d4-a35e-de22ea72b96b',
import('@affine/templates/v1/preloading.json'),
edgelessPage1,
],
[
'59b140eb-4449-488f-9eeb-42412dcc044e',
import('@affine/templates/v1/template-galleries.json'),
nanoid(),
],
[
'7217fbe2-61db-4a91-93c6-ad5c800e5a43',
import('@affine/templates/v1/personal-home.json'),
nanoid(),
],
[
'6eb43ea8-8c11-456d-bb1d-5193937961ab',
import('@affine/templates/v1/working-home.json'),
nanoid(),
],
[
'3ddc8a4f-62c7-4fd4-8064-9ed9f61e437a',
import('@affine/templates/v1/personal-project-management.json'),
nanoid(),
],
[
'22163830-8252-43fe-b62d-fd9bbeaa4caa',
import('@affine/templates/v1/personal-knowledge-management.json'),
nanoid(),
],
[
'b7a9e1bc-e205-44aa-8dad-7e328269d00b',
import('@affine/templates/v1/annual-performance-review.json'),
nanoid(),
],
[
'646305d9-93e0-48df-bb92-d82944ceb5a3',
import('@affine/templates/v1/brief-event-planning.json'),
nanoid(),
],
[
'0350509d-8702-4797-b4d7-168f5e9359c7',
import('@affine/templates/v1/meeting-summary.json'),
nanoid(),
],
[
'aa02af3c-5c5c-4856-b7ce-947ad17331f3',
import('@affine/templates/v1/okr-template.json'),
nanoid(),
],
] as const;
const idMap = await Promise.all(data).then(async data => {
return data.reduce<Record<string, string>>(
(record, currentValue) => {
const [oldId, _, newId] = currentValue;
record[oldId] = newId;
return record;
},
{} as Record<string, string>
);
const info = onboarding['info.json'] as WorkspaceInfoSnapshot;
const migrationMiddleware: JobMiddleware = ({ slots, workspace }) => {
slots.afterImport.on(payload => {
if (payload.type === 'page') {
workspace.schema.upgradePage(
info?.pageVersion ?? 0,
info?.blockVersions ?? {},
payload.page.spaceDoc
);
}
});
};
const job = new Job({
workspace,
middlewares: [replaceIdMiddleware, migrationMiddleware],
});
// Import page one by one to prevent workspace meta race condition problem.
for (const [id, promise, newId] of data) {
const { default: template } = await promise;
let json = JSON.stringify(template);
Object.entries(idMap).forEach(([oldId, newId]) => {
json = json.replaceAll(oldId, newId);
});
json = JSON.parse(json);
await workspace
.importPageSnapshot(structuredClone(json), newId)
.catch(error => {
console.error('error importing page', id, error);
});
const page = workspace.getPage(newId);
assertExists(page);
await page.load();
workspace.schema.upgradePage(
0,
{
'affine:note': 1,
'affine:bookmark': 1,
'affine:database': 2,
'affine:divider': 1,
'affine:image': 1,
'affine:list': 1,
'affine:code': 1,
'affine:page': 2,
'affine:paragraph': 1,
'affine:surface': 3,
},
page.spaceDoc
);
}
job.snapshotToWorkspaceInfo(info);
// for now all onboarding assets are considered served via CDN
// hack assets so that every blob exists
// @ts-expect-error - rethinking API
job._assetsManager.writeToBlob = async () => {};
const pageSnapshots: PageSnapshot[] = Object.entries(onboarding)
.filter(([key]) => {
return key.endsWith('snapshot.json');
})
.map(([_, value]) => value as unknown as PageSnapshot);
await Promise.all(
pageSnapshots.map(snapshot => {
return job.snapshotToPage(snapshot);
})
);
// The showcase building will create multiple pages once, and may skip the version writing.
// https://github.com/toeverything/blocksuite/blob/master/packages/store/src/workspace/page.ts#L662
workspace.doc.getMap('meta').set('pageVersion', 2);
const newVersions = getLatestVersions(workspace.schema);
workspace.doc
.getMap('meta')
.set('blockVersions', new YMap(Object.entries(newVersions)));
Object.entries(pageMetas).forEach(([oldId, meta]) => {
const newId = idMap[oldId];
workspace.setPageMeta(newId, meta);
});
// todo: find better way to do the following
// perhaps put them into middleware?
{
// the "AFFiNE - not just a note-taking app" page should be set to edgeless mode
const edgelessPage1 = (workspace.meta.pages as PageMeta[])?.find(
p => p.title === 'AFFiNE - not just a note-taking app'
)?.id;
if (edgelessPage1) {
store.set(atoms.pageMode, edgelessPage1, 'edgeless');
}
// should jump to "Getting Started" by default
const gettingStartedPage = (workspace.meta.pages as PageMeta[])?.find(p =>
p.title.startsWith('Getting Started')
)?.id;
if (gettingStartedPage) {
workspace.setPageMeta(gettingStartedPage, {
jumpOnce: true,
});
}
}
}

View File

@ -0,0 +1,142 @@
/* eslint-disable @typescript-eslint/ban-ts-comment */
/* eslint-disable @typescript-eslint/no-restricted-imports */
/* eslint-disable @typescript-eslint/no-non-null-assertion */
// @ts-nocheck
// TODO: remove this file after blocksuite exposed it
import type {
DatabaseBlockModel,
ListBlockModel,
ParagraphBlockModel,
} from '@blocksuite/blocks/dist/models.js';
import { assertExists } from '@blocksuite/global/utils';
import type { DeltaOperation, JobMiddleware } from '@blocksuite/store';
export const replaceIdMiddleware: JobMiddleware = ({ slots, workspace }) => {
const idMap = new Map<string, string>();
slots.afterImport.on(payload => {
if (
payload.type === 'block' &&
payload.snapshot.flavour === 'affine:database'
) {
const model = payload.model as DatabaseBlockModel;
Object.keys(model.cells).forEach(cellId => {
if (idMap.has(cellId)) {
model.cells[idMap.get(cellId)!] = model.cells[cellId];
delete model.cells[cellId];
}
});
}
// replace LinkedPage pageId with new id in paragraph blocks
if (
payload.type === 'block' &&
['affine:paragraph', 'affine:list'].includes(payload.snapshot.flavour)
) {
const model = payload.model as ParagraphBlockModel | ListBlockModel;
let prev = 0;
const delta: DeltaOperation[] = [];
for (const d of model.text.toDelta()) {
if (d.attributes?.reference?.pageId) {
if (prev > 0) {
delta.push({ retain: prev });
}
delta.push({
retain: d.insert.length,
attributes: {
reference: {
...d.attributes.reference,
pageId: idMap.get(d.attributes.reference.pageId)!,
},
},
});
prev = 0;
} else {
prev += d.insert.length;
}
}
if (delta.length > 0) {
model.text.applyDelta(delta);
}
}
});
slots.beforeImport.on(payload => {
if (payload.type === 'page') {
const newId = workspace.idGenerator('page');
idMap.set(payload.snapshot.meta.id, newId);
payload.snapshot.meta.id = newId;
return;
}
if (payload.type === 'block') {
const { snapshot } = payload;
if (snapshot.flavour === 'affine:page') {
const index = snapshot.children.findIndex(
c => c.flavour === 'affine:surface'
);
if (index !== -1) {
const [surface] = snapshot.children.splice(index, 1);
snapshot.children.push(surface);
}
}
const original = snapshot.id;
let newId: string;
if (idMap.has(original)) {
newId = idMap.get(original)!;
} else {
newId = workspace.idGenerator('block');
idMap.set(original, newId);
}
snapshot.id = newId;
if (snapshot.flavour === 'affine:surface') {
// Generate new IDs for images and frames in advance.
snapshot.children.forEach(child => {
const original = child.id;
if (idMap.has(original)) {
newId = idMap.get(original)!;
} else {
newId = workspace.idGenerator('block');
idMap.set(original, newId);
}
});
Object.entries(
snapshot.props.elements as Record<string, Record<string, unknown>>
).forEach(([_, value]) => {
switch (value.type) {
case 'connector': {
let connection = value.source as Record<string, string>;
if (idMap.has(connection.id)) {
const newId = idMap.get(connection.id);
assertExists(newId, 'reference id must exist');
connection.id = newId;
}
connection = value.target as Record<string, string>;
if (idMap.has(connection.id)) {
const newId = idMap.get(connection.id);
assertExists(newId, 'reference id must exist');
connection.id = newId;
}
break;
}
case 'group': {
const json = value.children.json as Record<string, unknown>;
Object.entries(json).forEach(([key, value]) => {
if (idMap.has(key)) {
delete json[key];
const newKey = idMap.get(key);
assertExists(newKey, 'reference id must exist');
json[newKey] = value;
}
});
break;
}
default:
break;
}
});
}
}
});
};

View File

@ -25,7 +25,6 @@
"@affine-test/kit": "workspace:*",
"@affine/env": "workspace:*",
"@affine/native": "workspace:*",
"@affine/templates": "workspace:*",
"@blocksuite/blocks": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/lit": "0.11.0-nightly-202312220916-e3abcbb",
"@blocksuite/presets": "0.11.0-nightly-202312220916-e3abcbb",

View File

@ -1,25 +0,0 @@
# AFFiNE Docs
This repo is the source for AFFiNE documentation.
The published documentation is at:
- https://docs.affine.pro
Please [file an issue](https://github.com/toeverything/AFFiNE-docs/issues) if you can't find what you are looking for.
## Get Started
This repo is split into folders - with each folder being a separate category of documentation.
You can browse the folders to view the pages within each category.
Please note: Some pages may not display correctly on GitHub, be sure to check the corresponding page on GitBook.
### Asset Naming
All assets should be stored in `.gitbook/assets/`.
The asset should be named according to where it will be used.
If an image is needed for `/developer-docs/coding/setup.md` the expected filename would be `developer-docs_coding_setup` where `_` separates each folder/file. And if multiple images are required a unique filename can be appeneded, such as `_01`.

View File

@ -1,53 +0,0 @@
## AFFiNE - not just a note taking app
There are lots of apps out there, so why chose AFFiNE?
AFFiNE is **feature-rich** - offering a wide-range of _blocks_ that _empower_ your docs
AFFiNE is **privacy focused** - with a local-first approach, keep control of your data
AFFiNE is **open**\-**source** - you can check us out on[GitHub: toeverything/AFFiNE](https://github.com/toeverything/affine)
---
## Let's **Write**, **Draw** and **Plan** with **AFFiNE**
### Create Your Workspace
Creating a workspace in AFFiNE is easy! With just a few clicks, you can create a new workspace and start organising your content in a clean, user-friendly interface.
![](https://cdn.affine.pro/94d27d73c5767986d26b81a0ced25ac6ab16686971734ba0d9c0987c.gif)
### Organise Your Pages
Manage your favourites and add links between your pages to easily navigate between them. This makes it easy to keep track of your content, and ensures that you always know where everything is.
![](https://cdn.affine.pro/1326bc48553a572c6756d9ee1b30a0dfdda26222fc2d2c872b14e609.gif)
### Write Your Content
Easily create rich, interactive pages that combine text, images, and other media to create a dynamic, engaging experience.
![](https://cdn.affine.pro/5fa80ab814f052d259ed6863a336a719eef746ed1bdd9b973750ce0c.gif)
### Draw and Be Creative
Our Edgeless Mode can be utilised as a whiteboard, allowing you to create content that extends beyond the boundaries of a traditional page - limited only by your imagination.
![](https://cdn.affine.pro/cf5d44d36ec3167519e6d6518914d28acaf426f001da717c1e98e760.gif)
### Plan Effectively and Efficiently
With powerful databases you can create your content inside of tables but leverage powerful features. From adding due dates, tracking progress, adding tags and status labels.
![](https://cdn.affine.pro/eb9832e551551d480f38b70145b28b7552e2a9f899ddfa6d813049a9.gif)
---
## More support?
There are some useful resources in the Help and Feedback section.
![](https://cdn.affine.pro/601da8e8231a9845f03215ffe63ae71f0bc58c1cdeb5af3d47b770ed.gif)
If you are looking for more support, you can come and join the awesome [AFFiNE Community](https://community.affine.pro) . Whether you want to share new ideas or interact with other like minded individuals - we look forward to having you.

View File

@ -0,0 +1,30 @@
# @affine/templates
Manages template files for use in AFFiNE. For now we only support onboarding templates.
## How to update
Before we offer a better solution, to update the onboarding templates:
1. run AFFiNE core locally (dev mode)
2. expose `ZipTransformer` to window. e.g., `import {ZipTransformer} from '@blocksuite/blocks'; window.ZipTransformer = ZipTransformer;`
3. run the following script
```js
(async () => {
// make sure ZipTransformer is imported and attached to window
const { ZipTransformer } = window;
await Promise.all([...currentWorkspace.blockSuiteWorkspace.pages.values()].map(p => p.load()));
// wait for a few more seconds
await new Promise(resolve => setTimeout(resolve, 5000));
const zipblob = await ZipTransformer.exportPages(currentWorkspace.blockSuiteWorkspace, [...currentWorkspace.blockSuiteWorkspace.pages.values()]);
const url = URL.createObjectURL(zipblob);
const a = document.createElement('a');
a.setAttribute('href', url);
a.setAttribute('download', `${currentWorkspace.id}.affine.zip`);
a.click();
a.remove();
URL.revokeObjectURL(url);
})();
```
4. unzip the file, replace the json files into onboarding folder (no need to include the `assets`)
5. run `yarn postinstall` to update the `templates.gen.ts` file

View File

@ -1,66 +0,0 @@
# Welcome to AFFiNE Abbey Alpha Wood
We've been working hard on improving the user experience and have made several new features live for you to use.
If you are looking for **support**, would like to **suggest** your ideas, and keep on top of all the **latest updates**. We suggest you visit the [AFFiNE Community](https://community.affine.pro/home) site.
Let us know what you think of this latest version.
**AFFiNE Alpha brings:**
1. A much smoother editing experience, with much greater stability;
2. More complete Markdown support and improved keyboard shortcuts;
3. New features such as dark mode; Switch between view styles using the ☀ and 🌙.
4. Clean and modern UI/UX design.
5. You can self-host locally with Docker.
```basic
docker run -it --name affine -d -v [YOUR_PATH]:/app/data -p 3000:3000 ghcr.io/toeverything/affine-self-hosted:alpha-abbey-wood
```
**Looking for Markdown syntax or keyboard shortcuts?**
- Find the (?) in the bottom right, then the ️⌨️, to view a full list of Keyboard Shortcuts
### In this release, you can now:
- Manage your pages from the collapsible **sidebar**, which allows you to add **favorites** and restore deleted files from the **trash**
- Search through all your content with the quick search - activate with `Ctrl/⌘ + K`
- A friendly Reminder:
- In the case of unselected text, `Ctrl/⌘ + K` activates quick search;
- In the case of selected text, `Ctrl/⌘ + K` will firstly ask to add a hyperlink, and then using `Ctrl/⌘ + K` again activates the quick search
- Quickly format text with the **pop-up toolbar** (highlight any text to give it a try)
- Copy and paste **images** into your pages, resize them and add captions
- Add horizontal line dividers to your text with `---` and `***`
- Changes are saved **locally**, but we still recommend you export your data to avoid data loss
- Insert code blocks with syntax highlighting support using `````
### Playground:
[] Try a horizontal line: `---`
[] What about a code block? `````
```JavaScript
console.log('Hello world');
```
[] Can you resize this image?
![](https://cdn.affine.pro/694fdbab78e0da3ed7922eba7d506dcf12f57308e1904dd694f53eb2.jpg)
**How about page management?**
[] Create a new page
[] Send a page to trash
[] Favorite a page
**Have an enjoyable editing experience !!!** 😃
Have some feedback or just want to get in touch? Use the (?), then 🎧 to get in touch and join our communities.
**Interested in AFFiNE cloud?**
Head over to [general](https://community.affine.pro/c/general-discussion/) in our community and post what interests you about AFFiNE!

View File

@ -1,43 +0,0 @@
# Welcome to AFFiNE Alpha Downhills
Welcome,
Thank you for checking out **AFFiNE**. We've put together a playground below for you to try out the app. If you are looking for more **support**, offer your **ideas** and **feedback**, or find the l**atest updates** don't forget to head over to our [AFFiNE Community](https://community.affine.pro/home) site.
###### Playground
There are common styling options from such as **bold**, _italics,_ <u>underline</u> and strikethrough. As well as `in-line code blocks`. These can all be applied throughout your text, just highlight some text - you can try it here.
> Let's explore some different blocks and features of AFFiNE. Such as this quote block
Or maybe we can list the latest features:
- Drag Handle
- Easily select, drag and rearrange your blocks.
- Find the `⬦` to the left of your blocks and interact with it!
- Block Hub
- A convenient home for all blocks that can empower your doc.
- Find it in the lower right, look for the `□+`.
- Slash Menu
- Want a convenient way to edit and empower your doc without the mouse?
- Try activating this feature with just the `/` key.
- Workspaces
- Further improved, with cloud support, collaboration and publishing.
- Explore more features from the `Settings` in the sidebar.
Let's explore how to collaborate with an image:
![](https://cdn.affine.pro/81edf5adca8f4c0d6552d0b2a54248e88054b8f8831732fc13dc03da.png)
```JavaScript
// We can also write code in a code block
let scrambled = "V2VsY29tZSB0byBBRkZpTkU="
// To-do - function to unscramble
```
And for some future features and updates, let's make a to-do list:
- [ ] Database Block
- [ ] Desktop and mobile clients
- [ ] Edgeless update (whiteboard mode)

View File

@ -1,31 +0,0 @@
# Welcome to AFFiNE
# 👋 Quick Start
> Your content should be as feature-rich as you like. We offer you an easy and simple approach to writing your content, with advanced tools that stay out of the way when you don't need them.
## AFFiNE - not just a note taking app
There are lots of apps out there, so why choose AFFiNE?
AFFiNE is **easy** - _create_ a workspace, _collaborate_ with others and _share_ it online
AFFiNE is **feature-rich** - offering a wide-range of _blocks_ that _empower_ your docs
AFFiNE is **privacy focused** - with a local-first approach, keep control of your data
AFFiNE is **open source** - you can check us out on [GitHub: toeverything/AFFiNE](https://github.com/toeverything/affine)
## Let's get started!
- Create a new page and begin editing - in `Paper` or `Edgeless`
![](https://cdn.affine.pro/38928b822e78a8cf6cc1278c3cd7563967dfefcf744c2517a60c7bfe.gif)
- Head over to `Workspace Settings` to find your `General` settings, enable multiplayer with `Collaboration`, share your docs with `Publish` and download your data with `Export`
![](https://cdn.affine.pro/34043644b47f7bab79255a80e1b11d6cb173ec9d2eb0e3208c7badd2.png)
## Looking for more support?
Why not come and join the awesome [AFFiNE Community](https://community.affine.pro)? Whether you want to share new ideas or interact with other like minded individuals - we look forward to having you.

View File

@ -1,61 +0,0 @@
# Welcome to the AFFiNE Alpha
The AFFiNE Alpha is here! You can also view our [Official Website](https://affine.pro/)!
**What's different in AFFiNE Alpha?**
1. A much ~smoother editing~ experience, with much ~greater stability~;
2. More complete ~Markdown~ support and improved ~keyboard shortcuts~;
3. New features such as ~dark mode~;
- **Switch between view styles using the****and** 🌙.
4. ~Clean and modern UI/UX~ design.
**Looking for Markdown syntax or keyboard shortcuts?**
- Find the (?) in the bottom right, then the ️⌨️, to view a full list of `Keyboard Shortcuts`
**Have an enjoyable editing experience !!!** 😃
Have some feedback or just want to get in touch? Use the (?), then 🎧 to get in touch and join our communities.
**Still in development**
There are also some things you should consider about this AFFiNE Alpha including some ~limitations~:
- Single page editing - currently editing multiple docs/pages is not supported;
- Changes are not automatically stored, to save changes you should export your data. Options can be found by going to the top right and finding the `⋮` icon;
- Without an import/open feature you are still able to access your data by copying it back in.
**Keyboard Shortcuts:**
1. Undo: `⌘+Z` or `Ctrl+Z`
2. Redo: `⌘+⇧+Z` or `Ctrl+Shift+Z`
3. Bold: `⌘+B` or `Ctrl+B`
4. Italic: `⌘+I` or `Ctrl+I`
5. Underline: `⌘+U` or `Ctrl+U`
6. Strikethrough: `⌘+⇧+S` or `Ctrl+Shift+S`
7. Inline code: `⌘+E` or `Ctrl+E`
8. Link: `⌘+K` or `Ctrl+K`
9. Body text: `⌘+⌥+0` or `Ctrl+Shift+0`
10. Heading 1: `⌘+⌥+1` or `Ctrl+Shift+1`
11. Heading 2: `⌘+⌥+2` or `Ctrl+Shift+2`
12. Heading 3: `⌘+⌥+3` or `Ctrl+Shift+3`
13. Heading 4: `⌘+⌥+4` or `Ctrl+Shift+4`
14. Heading 5: `⌘+⌥+5` or `Ctrl+Shift+5`
15. Heading 6: `⌘+⌥+6` or `Ctrl+Shift+6`
16. Increase indent: `Tab`
17. Reduce indent: `⇧+Tab` or `Shift+Tab`
**Markdown Syntax:**
1. Bold: `**text**`
2. Italic: `*text*`
3. Underline: `~text~`
4. Strikethrough: `~~text~~`
5. Inline code: `` `text` ``
6. Heading 1: `# text`
7. Heading 2: `## text`
8. Heading 3: `### text`
9. Heading 4: `#### text`
10. Heading 5: `##### text`
11. Heading 6: `###### text`

View File

@ -0,0 +1,30 @@
import fs from 'fs';
import * as glob from 'glob';
import path from 'path';
// purpose: bundle all json files into one json file in onboarding folder
const __dirname = new URL('.', import.meta.url).pathname;
const jsonFiles = glob.sync('./*.json', {
cwd: path.resolve(__dirname, 'onboarding'),
});
const imports = jsonFiles
.map((fileName, index) => {
return `import json_${index} from './onboarding/${fileName}';`;
})
.join('\n');
const exports = `export const onboarding = {
${jsonFiles
.map((fileName, index) => {
return `'${fileName}': json_${index}`;
})
.join(',\n')}
}`;
const template = `/* eslint-disable simple-import-sort/imports */
// Auto generated, do not edit manually
${imports}\n\n${exports}`;
fs.writeFileSync(path.resolve(__dirname, 'templates.gen.ts'), template);

View File

@ -0,0 +1,211 @@
{
"type": "page",
"meta": {
"id": "-P-O4GSfVGTkI16zJRVa4",
"title": "Templates Galleries ",
"createDate": 1691551731225,
"tags": []
},
"blocks": {
"type": "block",
"id": "Tz41kDyemg",
"flavour": "affine:page",
"props": {
"title": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Templates Galleries "
}
]
}
},
"children": [
{
"type": "block",
"id": "PCxQvHuwt1",
"flavour": "affine:surface",
"props": {
"elements": {}
},
"children": []
},
{
"type": "block",
"id": "PMY4JPuq4o",
"flavour": "affine:note",
"props": {
"xywh": "[0,0,800,529]",
"background": "--affine-background-secondary-color",
"index": "a0",
"hidden": false,
"edgeless": {
"style": {
"borderRadius": 8,
"borderSize": 4,
"borderStyle": "solid",
"shadowType": "--affine-note-shadow-box"
}
}
},
"children": [
{
"type": "block",
"id": "1KJadeDAj-",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": []
}
},
"children": []
},
{
"type": "block",
"id": "_a8e4OM_PP",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "No matter if you're "
},
{
"insert": "organizing your personal life",
"attributes": {
"bold": true
}
},
{
"insert": " or "
},
{
"insert": "getting things done at work",
"attributes": {
"bold": true
}
},
{
"insert": ", our templates galleries have got you covered! "
}
]
}
},
"children": []
},
{
"type": "block",
"id": "ndmUz6zEr1",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Here We offer a wide range of resources to meet your unique needs and help you achieve your goals, whether in your personal or professional life."
}
]
}
},
"children": []
},
{
"type": "block",
"id": "yIcapYtWKm",
"flavour": "affine:divider",
"props": {},
"children": []
},
{
"type": "block",
"id": "gPqHv8Whaq",
"flavour": "affine:paragraph",
"props": {
"type": "quote",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Tired of managing your notes or coming up with a effient work plan? Whether you're a student, parent, or have diverse interests, here we provide a few templates to kick off your journey and unlock your true potential with AFFiNE and reap incredible benefits."
}
]
}
},
"children": []
},
{
"type": "block",
"id": "pp12c2slOV",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": " ",
"attributes": {
"reference": {
"type": "LinkedPage",
"pageId": "0nee_XzkrN23Xy7HMoXL-"
}
}
},
{
"insert": " "
}
]
}
},
"children": []
},
{
"type": "block",
"id": "VyoH5kUerc",
"flavour": "affine:paragraph",
"props": {
"type": "quote",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Staying organized and efficient in a dynamic work environment is essential for today's working people. AFFiNE elevates productivity for project managers, software engineers, and professionals alike. We're excited to provide insights into how AFFiNE transforms work life. "
}
]
}
},
"children": []
},
{
"type": "block",
"id": "XvCeZ-f-ib",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": " ",
"attributes": {
"reference": {
"type": "LinkedPage",
"pageId": "nPPyOV0JBNKu5hvW9hE00"
}
}
}
]
}
},
"children": []
}
]
}
]
}
}

View File

@ -0,0 +1,178 @@
{
"type": "page",
"meta": {
"id": "0nee_XzkrN23Xy7HMoXL-",
"title": "Personal Home",
"createDate": 1691552082822,
"tags": []
},
"blocks": {
"type": "block",
"id": "QmQb34xduM",
"flavour": "affine:page",
"props": {
"title": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Personal Home"
}
]
}
},
"children": [
{
"type": "block",
"id": "f4WAKZ67ki",
"flavour": "affine:surface",
"props": {
"elements": {}
},
"children": []
},
{
"type": "block",
"id": "xj7QSmgQgT",
"flavour": "affine:note",
"props": {
"xywh": "[0,0,800,547]",
"background": "--affine-background-secondary-color",
"index": "a0",
"hidden": false,
"edgeless": {
"style": {
"borderRadius": 8,
"borderSize": 4,
"borderStyle": "solid",
"shadowType": "--affine-note-shadow-box"
}
}
},
"children": [
{
"type": "block",
"id": "qlnEliaAwr",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": []
}
},
"children": []
},
{
"type": "block",
"id": "U6w_UTi2p5",
"flavour": "affine:list",
"props": {
"type": "bulleted",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": " ",
"attributes": {
"reference": {
"type": "LinkedPage",
"pageId": "e5cYLNpIRUb-nwpSZGdix"
}
}
},
{
"insert": " "
}
]
},
"checked": false,
"collapsed": false
},
"children": []
},
{
"type": "block",
"id": "YN7S4Pe19c",
"flavour": "affine:paragraph",
"props": {
"type": "quote",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Personal knowledge management (PKM for short) is "
},
{
"insert": "the process of collecting, organizing, and storing information",
"attributes": {
"bold": true
}
},
{
"insert": ", so it's easier to search for, retrieve, share, expand upon, and use later on."
}
]
}
},
"children": []
},
{
"type": "block",
"id": "V9nK8F7B0R",
"flavour": "affine:divider",
"props": {},
"children": []
},
{
"type": "block",
"id": "jj-qOseCj-",
"flavour": "affine:list",
"props": {
"type": "bulleted",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": " ",
"attributes": {
"reference": {
"type": "LinkedPage",
"pageId": "Scod6coKmJJ-waH1-jkiW"
}
}
}
]
},
"checked": false,
"collapsed": false
},
"children": []
},
{
"type": "block",
"id": "hgSgQdYwWJ",
"flavour": "affine:paragraph",
"props": {
"type": "quote",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "An event planning template ",
"attributes": {
"bold": true
}
},
{
"insert": "is an efficient framework that details the steps you and your team need to consider taking to plan and execute a successful event."
}
]
}
},
"children": []
}
]
}
]
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,310 @@
{
"type": "page",
"meta": {
"id": "GWsRbUtMF4Ee6foVg-H9R",
"title": "Meeting Summary ",
"createDate": 1691635388447,
"tags": [
"Oe5dSe1DDJ"
]
},
"blocks": {
"type": "block",
"id": "EYboj1it1i",
"flavour": "affine:page",
"props": {
"title": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Meeting Summary "
}
]
}
},
"children": [
{
"type": "block",
"id": "86K_nlhKXG",
"flavour": "affine:surface",
"props": {
"elements": {}
},
"children": []
},
{
"type": "block",
"id": "q7fYMX90uJ",
"flavour": "affine:note",
"props": {
"xywh": "[0,0,800,1237]",
"background": "--affine-background-secondary-color",
"index": "a0",
"hidden": false,
"edgeless": {
"style": {
"borderRadius": 8,
"borderSize": 4,
"borderStyle": "solid",
"shadowType": "--affine-note-shadow-box"
}
}
},
"children": [
{
"type": "block",
"id": "IuRC73HZLH",
"flavour": "affine:image",
"props": {
"caption": "",
"sourceId": "/static/f9yKnlNMgKhF-CxOgHBsXkxfViCCkC6KwTv6Uj2Fcjw=.png",
"width": 752,
"height": 501.6328125,
"index": "a0",
"xywh": "[0,0,0,0]",
"rotate": 0,
"size": -1
},
"children": []
},
{
"type": "block",
"id": "YuOqeDHzoe",
"flavour": "affine:paragraph",
"props": {
"type": "quote",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Project:"
},
{
"insert": " [Link the project plan]\n",
"attributes": {
"background": "var(--affine-text-highlight-grey)"
}
},
{
"insert": "]Attendees: "
},
{
"insert": "[@mention teammates]",
"attributes": {
"background": "var(--affine-text-highlight-grey)"
}
},
{
"insert": "\nDate & Time:"
},
{
"insert": " [type /today]",
"attributes": {
"background": "var(--affine-text-highlight-grey)"
}
}
]
}
},
"children": []
},
{
"type": "block",
"id": "jPGxHHA_QX",
"flavour": "affine:paragraph",
"props": {
"type": "h1",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Agenda"
}
]
}
},
"children": []
},
{
"type": "block",
"id": "sCk70nT5eX",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Write down the main topic to discuss."
}
]
}
},
"children": []
},
{
"type": "block",
"id": "iKwcxVFpCH",
"flavour": "affine:list",
"props": {
"type": "bulleted",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "E.g. content roadmap"
}
]
},
"checked": false,
"collapsed": false
},
"children": []
},
{
"type": "block",
"id": "RPED0t8fSj",
"flavour": "affine:list",
"props": {
"type": "bulleted",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Get aligned on the main upcoming topics"
}
]
},
"checked": false,
"collapsed": false
},
"children": []
},
{
"type": "block",
"id": "D3Y93H8WvU",
"flavour": "affine:paragraph",
"props": {
"type": "h1",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Notes"
}
]
}
},
"children": []
},
{
"type": "block",
"id": "BfO7S4Gkfm",
"flavour": "affine:paragraph",
"props": {
"type": "quote",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Cover any key information discussed in the meeting."
}
]
}
},
"children": []
},
{
"type": "block",
"id": "Stcz30R0Ad",
"flavour": "affine:paragraph",
"props": {
"type": "h1",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Outcomes"
}
]
}
},
"children": []
},
{
"type": "block",
"id": "YKIkBUmv01",
"flavour": "affine:paragraph",
"props": {
"type": "quote",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Summarize key decisions in a tidy paragraph and communicate them to the team."
}
]
}
},
"children": []
},
{
"type": "block",
"id": "JzAgpzljrp",
"flavour": "affine:paragraph",
"props": {
"type": "h1",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Action items"
}
]
}
},
"children": []
},
{
"type": "block",
"id": "FSkrwB-T33",
"flavour": "affine:list",
"props": {
"type": "todo",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "E.g. @jess review the content roadmap"
}
]
},
"checked": false,
"collapsed": false
},
"children": []
},
{
"type": "block",
"id": "abGz-82vvA",
"flavour": "affine:list",
"props": {
"type": "todo",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "E.g. @mike contact copywriter freelancers"
}
]
},
"checked": false,
"collapsed": false
},
"children": []
}
]
}
]
}
}

View File

@ -0,0 +1,457 @@
{
"type": "page",
"meta": {
"id": "RCpxnWMtBWmUZy5awgJBh",
"title": "OKR Template",
"createDate": 1691636192263,
"tags": [
"q3mceOl_zi",
"g1L5dXKctL"
]
},
"blocks": {
"type": "block",
"id": "0tJt1nfXpr",
"flavour": "affine:page",
"props": {
"title": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "OKR Template"
}
]
}
},
"children": [
{
"type": "block",
"id": "-SeDPuI6pE",
"flavour": "affine:surface",
"props": {
"elements": {}
},
"children": []
},
{
"type": "block",
"id": "gjPKqwOdlZ",
"flavour": "affine:note",
"props": {
"xywh": "[0,0,800,1418]",
"background": "--affine-background-secondary-color",
"index": "a0",
"hidden": false,
"edgeless": {
"style": {
"borderRadius": 8,
"borderSize": 4,
"borderStyle": "solid",
"shadowType": "--affine-note-shadow-box"
}
}
},
"children": [
{
"type": "block",
"id": "syUYSO6Hlw",
"flavour": "affine:image",
"props": {
"caption": "",
"sourceId": "/static/VuXYyM9JUv1Fv_qjg1v5Go4Zksz0r4NXFeh3Na7JkIc=.png",
"width": 752,
"height": 501.2734375,
"index": "a0",
"xywh": "[0,0,0,0]",
"rotate": 0,
"size": -1
},
"children": []
},
{
"type": "block",
"id": "B12ua5IVdH",
"flavour": "affine:paragraph",
"props": {
"type": "quote",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Using "
},
{
"insert": "OKR (Objectives and Key Results)",
"attributes": {
"link": "https://en.wikipedia.org/wiki/Objectives_and_key_results"
}
},
{
"insert": " helps teams work together to create and break down their goals. They also figure out how to reach those goals and use their own ideas and creativity. Every week, the team checks in to make sure everyone understands the goals, shares their thoughts, and makes changes as needed to get the job done well and quickly."
}
]
}
},
"children": []
},
{
"type": "block",
"id": "UWKiht4_yF",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": []
}
},
"children": []
},
{
"type": "block",
"id": "tsqRR7Aqqe",
"flavour": "affine:paragraph",
"props": {
"type": "h2",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "I. Synchronization of team OKR progress "
}
]
}
},
"children": []
},
{
"type": "block",
"id": "TzALQTyjsF",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": []
}
},
"children": []
},
{
"type": "block",
"id": "-RNdJMcB-M",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "All team members collectively update the latest progress and the next step plan for the person responsible for the OKR. These updates are discussed during the weekly Team OKR meeting."
}
]
}
},
"children": []
},
{
"type": "block",
"id": "_E43A1XjkR",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": []
}
},
"children": []
},
{
"type": "block",
"id": "lbLc-rsTQ_",
"flavour": "affine:paragraph",
"props": {
"type": "h1",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "O1: Fourth quarter revenue 1 million "
}
]
}
},
"children": []
},
{
"type": "block",
"id": "IbLsSTqZWu",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": []
}
},
"children": []
},
{
"type": "block",
"id": "LfH4-lvRy1",
"flavour": "affine:database",
"props": {
"views": [
{
"id": "BjTEwK-3iR",
"name": "table",
"mode": "table",
"columns": [
{
"id": "f15PcPjtU8",
"width": 246
},
{
"id": "LfH4-lvRy1",
"hide": false,
"width": 260
},
{
"id": "ftL1qPRgYl",
"hide": false,
"width": 200
},
{
"id": "3s4GtwNZTH",
"hide": false,
"width": 108
},
{
"id": "IwZCoBvV9W",
"hide": false,
"width": 142
}
],
"filter": {
"type": "group",
"op": "and",
"conditions": []
}
}
],
"title": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "KR setting & reviewing "
}
]
},
"cells": {
"C75yOBGfeP": {
"ftL1qPRgYl": {
"columnId": "ftL1qPRgYl",
"value": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "the planning case has been reviewed, see doc for details "
}
]
}
},
"IwZCoBvV9W": {
"columnId": "IwZCoBvV9W",
"value": 85
}
},
"iouBY8Zk33": {
"ftL1qPRgYl": {
"columnId": "ftL1qPRgYl",
"value": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "worning on it "
}
]
}
},
"IwZCoBvV9W": {
"columnId": "IwZCoBvV9W",
"value": 46
},
"3s4GtwNZTH": {
"columnId": "3s4GtwNZTH",
"value": "Qp1kGLAbfE"
}
},
"jRFdpU21Jf": {
"ftL1qPRgYl": {
"columnId": "ftL1qPRgYl",
"value": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "waiting "
}
]
}
},
"IwZCoBvV9W": {
"columnId": "IwZCoBvV9W",
"value": 3
},
"3s4GtwNZTH": {
"columnId": "3s4GtwNZTH",
"value": "yCF1NgLWhh"
}
},
"CLLfj990JA": {
"ftL1qPRgYl": {
"columnId": "ftL1qPRgYl",
"value": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "The planning case has been reviewed, see doc for details "
}
]
}
},
"IwZCoBvV9W": {
"columnId": "IwZCoBvV9W",
"value": 70
},
"3s4GtwNZTH": {
"columnId": "3s4GtwNZTH",
"value": "KHKc4e79W8"
}
}
},
"columns": [
{
"id": "f15PcPjtU8",
"type": "title",
"name": "Key Resluts ",
"data": {}
},
{
"type": "title",
"id": "LfH4-lvRy1",
"name": "Title",
"data": {}
},
{
"type": "progress",
"name": "progress bar ",
"data": {},
"id": "IwZCoBvV9W"
},
{
"type": "rich-text",
"name": "Notes ",
"data": {
"options": []
},
"id": "ftL1qPRgYl"
},
{
"type": "select",
"name": "priority ",
"data": {
"options": [
{
"id": "yCF1NgLWhh",
"value": "not urgent",
"color": "var(--affine-tag-blue)"
},
{
"id": "Qp1kGLAbfE",
"value": "urgent",
"color": "var(--affine-tag-red)"
},
{
"id": "KHKc4e79W8",
"value": "important",
"color": "var(--affine-tag-yellow)"
}
]
},
"id": "3s4GtwNZTH"
}
]
},
"children": [
{
"type": "block",
"id": "CLLfj990JA",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "The campus activity was successfully released, and the exposure was not less than 1 million people"
}
]
}
},
"children": []
},
{
"type": "block",
"id": "iouBY8Zk33",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "describe Key results "
}
]
}
},
"children": []
},
{
"type": "block",
"id": "jRFdpU21Jf",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "KR1: Describe Key results "
}
]
}
},
"children": []
}
]
},
{
"type": "block",
"id": "PmstSRjisx",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": []
}
},
"children": []
}
]
}
]
}
}

View File

@ -0,0 +1,330 @@
{
"type": "page",
"meta": {
"id": "Scod6coKmJJ-waH1-jkiW",
"title": "Brief Event planning ",
"createDate": 1691634722239,
"tags": [
"ze07JVwBu4"
]
},
"blocks": {
"type": "block",
"id": "SMCf2aOH8T",
"flavour": "affine:page",
"props": {
"title": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Brief Event planning "
}
]
}
},
"children": [
{
"type": "block",
"id": "_07_dOaECY",
"flavour": "affine:surface",
"props": {
"elements": {}
},
"children": []
},
{
"type": "block",
"id": "0n7YghSHPc",
"flavour": "affine:note",
"props": {
"xywh": "[0,0,800,527]",
"background": "--affine-background-secondary-color",
"index": "a0",
"hidden": false,
"edgeless": {
"style": {
"borderRadius": 8,
"borderSize": 4,
"borderStyle": "solid",
"shadowType": "--affine-note-shadow-box"
}
}
},
"children": [
{
"type": "block",
"id": "d6Alacwr32",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": []
}
},
"children": []
},
{
"type": "block",
"id": "9slwdYgqgq",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "An event brief outline the goals and key elements needed to plan a successful event. This AFFiNE Event Planning template will help you gain alignment and kick off your event planning. "
}
]
}
},
"children": []
},
{
"type": "block",
"id": "6dH3Amz0rn",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": []
}
},
"children": []
},
{
"type": "block",
"id": "ObsV2gBxUe",
"flavour": "affine:database",
"props": {
"views": [
{
"id": "sfIqqrnI2q",
"name": "table",
"mode": "table",
"columns": [
{
"id": "WtNvmw4ls-",
"width": 186
},
{
"id": "ObsV2gBxUe",
"hide": false,
"width": 246
},
{
"id": "FCYCytB4wx",
"hide": false,
"width": 162
},
{
"id": "mGltZNTJmw",
"hide": false,
"width": 176
},
{
"id": "ozFBusFd0s",
"hide": false,
"width": 200
}
],
"filter": {
"type": "group",
"op": "and",
"conditions": []
}
}
],
"title": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Event Planning"
}
]
},
"cells": {
"pFlIzSXLOj": {
"mGltZNTJmw": {
"columnId": "mGltZNTJmw",
"value": [
"bsTnd_L1aE",
"oU49ElCHCG"
]
},
"FCYCytB4wx": {
"columnId": "FCYCytB4wx",
"value": 100
},
"ozFBusFd0s": {
"columnId": "ozFBusFd0s",
"value": "https://affine.pro/blog/free-event-planning-templates-for-professsional-2023"
}
},
"4XPamQdWpq": {
"mGltZNTJmw": {
"columnId": "mGltZNTJmw",
"value": [
"oU49ElCHCG",
"d6riek6K4d"
]
},
"FCYCytB4wx": {
"columnId": "FCYCytB4wx",
"value": 50
}
},
"3uJL-VNu7K": {
"mGltZNTJmw": {
"columnId": "mGltZNTJmw",
"value": [
"bsTnd_L1aE",
"z3vOXFIT-T"
]
},
"FCYCytB4wx": {
"columnId": "FCYCytB4wx",
"value": 8
}
}
},
"columns": [
{
"id": "WtNvmw4ls-",
"type": "title",
"name": "Title",
"data": {}
},
{
"type": "title",
"id": "ObsV2gBxUe",
"name": "Title",
"data": {}
},
{
"type": "multi-select",
"name": "Tag",
"data": {
"options": [
{
"id": "z3vOXFIT-T",
"value": "not important",
"color": "var(--affine-tag-teal)"
},
{
"id": "ZbJHxXJK3L",
"value": "nit important",
"color": "var(--affine-tag-pink)"
},
{
"id": "d6riek6K4d",
"value": "important",
"color": "var(--affine-tag-yellow)"
},
{
"id": "oU49ElCHCG",
"value": "urgent",
"color": "var(--affine-tag-purple)"
},
{
"id": "bsTnd_L1aE",
"value": "must",
"color": "var(--affine-tag-green)"
},
{
"id": "hHjqAauZu6",
"value": "urgent",
"color": "var(--affine-tag-gray)"
}
]
},
"id": "mGltZNTJmw"
},
{
"type": "progress",
"name": "progress",
"data": {},
"id": "FCYCytB4wx"
},
{
"type": "link",
"name": "additional link ",
"data": {},
"id": "ozFBusFd0s"
}
]
},
"children": [
{
"type": "block",
"id": "pFlIzSXLOj",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "research"
}
]
}
},
"children": []
},
{
"type": "block",
"id": "4XPamQdWpq",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "book accommondation"
}
]
}
},
"children": []
},
{
"type": "block",
"id": "3uJL-VNu7K",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "arrange transportation "
}
]
}
},
"children": []
}
]
},
{
"type": "block",
"id": "xf1m62_pbc",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": []
}
},
"children": []
}
]
}
]
}
}

View File

@ -0,0 +1,750 @@
{
"type": "page",
"meta": {
"id": "b1F2xKjgZ4ISHhXNe1kck",
"title": "Annual Performance Review",
"createDate": 1691575011078,
"tags": [
"8qcYPCTK0h"
]
},
"blocks": {
"type": "block",
"id": "mMBWzZtpvM",
"flavour": "affine:page",
"props": {
"title": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Annual Performance Review"
}
]
}
},
"children": [
{
"type": "block",
"id": "XSMCxudQf4",
"flavour": "affine:surface",
"props": {
"elements": {}
},
"children": []
},
{
"type": "block",
"id": "2xxenQgE1-",
"flavour": "affine:note",
"props": {
"xywh": "[0,0,800,91]",
"background": "--affine-background-secondary-color",
"index": "a0",
"hidden": false,
"edgeless": {
"style": {
"borderRadius": 8,
"borderSize": 4,
"borderStyle": "solid",
"shadowType": "--affine-note-shadow-box"
}
}
},
"children": [
{
"type": "block",
"id": "G7wJk4W9lz",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": []
}
},
"children": []
}
]
},
{
"type": "block",
"id": "ca2-VFQV45",
"flavour": "affine:note",
"props": {
"xywh": "[0,0,800,1719]",
"background": "--affine-background-secondary-color",
"index": "a0",
"hidden": false,
"edgeless": {
"style": {
"borderRadius": 8,
"borderSize": 4,
"borderStyle": "solid",
"shadowType": "--affine-note-shadow-box"
}
}
},
"children": [
{
"type": "block",
"id": "viFZDjrBqJ",
"flavour": "affine:image",
"props": {
"caption": "",
"sourceId": "/static/gZLmSgmwumNdgf0eIfOSW44emctrLyFUaZapbk8eZ6s=.png",
"width": 752,
"height": 422.9140625,
"index": "a0",
"xywh": "[0,0,0,0]",
"rotate": 0,
"size": -1
},
"children": []
},
{
"type": "block",
"id": "XPiPjHYnvE",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Employee Information:",
"attributes": {
"underline": true,
"bold": true
}
}
]
}
},
"children": []
},
{
"type": "block",
"id": "qpyYi7g_c6",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Name:",
"attributes": {
"bold": true
}
},
{
"insert": " "
},
{
"insert": "[Employee Name]",
"attributes": {
"background": "var(--affine-text-highlight-grey)"
}
}
]
}
},
"children": []
},
{
"type": "block",
"id": "NpbigpLTNh",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Department:",
"attributes": {
"bold": true
}
},
{
"insert": " "
},
{
"insert": "[Department Name]",
"attributes": {
"background": "var(--affine-text-highlight-grey)"
}
}
]
}
},
"children": []
},
{
"type": "block",
"id": "e1ax4lVFjW",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Job Title:",
"attributes": {
"bold": true
}
},
{
"insert": " "
},
{
"insert": "[Job Title]",
"attributes": {
"background": "var(--affine-text-highlight-grey)"
}
}
]
}
},
"children": []
},
{
"type": "block",
"id": "rEKXjYtGDR",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Date of Joining:",
"attributes": {
"bold": true
}
},
{
"insert": " "
},
{
"insert": "[Date of Joining]",
"attributes": {
"background": "var(--affine-text-highlight-grey)"
}
}
]
}
},
"children": []
},
{
"type": "block",
"id": "gYcGYxQ88e",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Review Date: ",
"attributes": {
"bold": true
}
},
{
"insert": " "
},
{
"insert": "[Review Date]",
"attributes": {
"background": "var(--affine-text-highlight-grey)"
}
}
]
}
},
"children": []
},
{
"type": "block",
"id": "OyFSyuWbzw",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": []
}
},
"children": []
},
{
"type": "block",
"id": "VcUt-bpjIK",
"flavour": "affine:database",
"props": {
"views": [
{
"id": "bIFdicaEON",
"name": "table",
"mode": "table",
"columns": [
{
"id": "jPry_IOhQt",
"width": 343
},
{
"id": "VcUt-bpjIK",
"hide": false,
"width": 260
},
{
"id": "teyC7JgUni",
"hide": false,
"width": 200
}
],
"filter": {
"type": "group",
"op": "and",
"conditions": []
}
}
],
"title": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Employee's performance "
}
]
},
"cells": {
"VwZ3681tdd": {
"teyC7JgUni": {
"columnId": "teyC7JgUni",
"value": [
"rwjdYVF3jd"
]
}
},
"jT3Oo2XSeJ": {
"teyC7JgUni": {
"columnId": "teyC7JgUni",
"value": [
"4dHxaZ8cKk"
]
}
},
"RviIfLJUPX": {
"teyC7JgUni": {
"columnId": "teyC7JgUni",
"value": [
"wgvB2fzMu6"
]
}
}
},
"columns": [
{
"id": "jPry_IOhQt",
"type": "title",
"name": "Title",
"data": {}
},
{
"type": "title",
"id": "VcUt-bpjIK",
"name": "Title",
"data": {}
},
{
"type": "multi-select",
"name": "score ",
"data": {
"options": [
{
"id": "rwjdYVF3jd",
"value": "awsome",
"color": "var(--affine-tag-yellow)"
},
{
"id": "4dHxaZ8cKk",
"value": "well",
"color": "var(--affine-tag-purple)"
},
{
"id": "wgvB2fzMu6",
"value": "good",
"color": "var(--affine-tag-green)"
},
{
"id": "YGPLhMJkni",
"value": "done",
"color": "var(--affine-tag-pink)"
},
{
"id": "Q1-TuffR-9",
"value": "in progress",
"color": "var(--affine-tag-white)"
}
]
},
"id": "teyC7JgUni"
}
]
},
"children": [
{
"type": "block",
"id": "VwZ3681tdd",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "[List Employee's Performance Goal 1]"
}
]
}
},
"children": []
},
{
"type": "block",
"id": "jT3Oo2XSeJ",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "[List Employee's Performance Goal 2]"
}
]
}
},
"children": []
},
{
"type": "block",
"id": "RviIfLJUPX",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "[List Employee's Performance Goal 3]"
}
]
}
},
"children": []
}
]
},
{
"type": "block",
"id": "a0xWifxvFi",
"flavour": "affine:database",
"props": {
"views": [
{
"id": "MvodpC_iAj",
"name": "table",
"mode": "table",
"columns": [
{
"id": "lvyHgZEelb",
"width": 354
},
{
"id": "a0xWifxvFi",
"hide": false,
"width": 260
},
{
"id": "ZdTyvkjQwz",
"hide": false,
"width": 200
}
],
"filter": {
"type": "group",
"op": "and",
"conditions": []
}
}
],
"title": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Job responsibility "
}
]
},
"cells": {},
"columns": [
{
"id": "lvyHgZEelb",
"type": "title",
"name": "Title",
"data": {}
},
{
"type": "title",
"id": "a0xWifxvFi",
"name": "Title",
"data": {}
},
{
"type": "multi-select",
"name": "Tag",
"data": {
"options": []
},
"id": "ZdTyvkjQwz"
}
]
},
"children": [
{
"type": "block",
"id": "ZEi_-9SS-Y",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "[List Job Responsibility 1]"
}
]
}
},
"children": []
},
{
"type": "block",
"id": "8LPVaagwtP",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "[List Job Responsibility 2]"
}
]
}
},
"children": []
},
{
"type": "block",
"id": "lYnANRxW0A",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "[List Job Responsibility 3]"
}
]
}
},
"children": []
}
]
},
{
"type": "block",
"id": "YiQINiDM6W",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Employee's Signature: "
}
]
}
},
"children": []
},
{
"type": "block",
"id": "Zp-YtzbUUK",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Date: "
}
]
}
},
"children": []
},
{
"type": "block",
"id": "ZMfsmg_5oZ",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": []
}
},
"children": []
},
{
"type": "block",
"id": "XH7xQMlX_0",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Manager's Signature: "
}
]
}
},
"children": []
},
{
"type": "block",
"id": "mBO-_pWGoi",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Date: "
}
]
}
},
"children": []
},
{
"type": "block",
"id": "X_SNf6rQf4",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": []
}
},
"children": []
},
{
"type": "block",
"id": "0LF9mjFcX9",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "[Company Name]",
"attributes": {
"background": "var(--affine-text-highlight-grey)"
}
}
]
}
},
"children": []
},
{
"type": "block",
"id": "d2IrxHbD5D",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "[Address]",
"attributes": {
"background": "var(--affine-text-highlight-grey)"
}
}
]
}
},
"children": []
},
{
"type": "block",
"id": "IdLESwrZ-U",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "[Phone Number]",
"attributes": {
"background": "var(--affine-text-highlight-grey)"
}
}
]
}
},
"children": []
},
{
"type": "block",
"id": "6YwnA2HHQM",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "[Email]",
"attributes": {
"background": "var(--affine-text-highlight-grey)"
}
}
]
}
},
"children": []
}
]
}
]
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,175 @@
{
"type": "info",
"id": "XdwdkEYm8fFZcYAdDa0qT",
"blockVersions": {
"affine:code": 1,
"affine:paragraph": 1,
"affine:page": 2,
"affine:list": 1,
"affine:note": 1,
"affine:divider": 1,
"affine:image": 1,
"affine:surface": 5,
"affine:bookmark": 1,
"affine:frame": 1,
"affine:database": 3,
"affine:surface-ref": 1,
"affine:data-view": 1,
"affine:attachment": 1,
"affine:embed-github": 1,
"affine:embed-html": 1
},
"pageVersion": 2,
"workspaceVersion": 2,
"properties": {
"tags": {
"options": [
{
"id": "icg1n5UdkP",
"value": "Travel",
"color": "var(--affine-tag-gray)"
},
{
"id": "Oe5dSe1DDJ",
"value": "Quick summary",
"color": "var(--affine-tag-green)"
},
{
"id": "g1L5dXKctL",
"value": "OKR",
"color": "var(--affine-tag-purple)"
},
{
"id": "q3mceOl_zi",
"value": "Streamline your workflow",
"color": "var(--affine-tag-teal)"
},
{
"id": "ze07JVwBu4",
"value": "Plan",
"color": "var(--affine-tag-teal)"
},
{
"id": "8qcYPCTK0h",
"value": "Review",
"color": "var(--affine-tag-orange)"
},
{
"id": "wg-fBtd2eI",
"value": "Engage",
"color": "var(--affine-tag-pink)"
},
{
"id": "QYFD_HeQc-",
"value": "Create",
"color": "var(--affine-tag-blue)"
},
{
"id": "ZHBa2NtdSo",
"value": "Learn",
"color": "var(--affine-tag-yellow)"
}
]
}
},
"pages": [
{
"id": "rzyBHDgN5KIlEYzB9oBaD",
"title": "Getting Started👇",
"createDate": 1691548231530,
"tags": [
"ZHBa2NtdSo",
"QYFD_HeQc-",
"wg-fBtd2eI"
],
"updatedDate": 1691676331623,
"favorite": true,
"jumpOnce": false
},
{
"id": "9iIScyvuIB_kUKbs1AYOQ",
"title": "AFFiNE - not just a note-taking app",
"createDate": 1691548220794,
"tags": [],
"updatedDate": 1691676775642,
"favorite": false
},
{
"id": "-P-O4GSfVGTkI16zJRVa4",
"title": "Templates Galleries ",
"createDate": 1691551731225,
"tags": [],
"updatedDate": 1691654611175,
"favorite": false
},
{
"id": "0nee_XzkrN23Xy7HMoXL-",
"title": "Personal Home",
"createDate": 1691552082822,
"tags": [],
"updatedDate": 1691654606912,
"favorite": false
},
{
"id": "nPPyOV0JBNKu5hvW9hE00",
"title": "Working Home",
"createDate": 1691552090989,
"tags": [],
"updatedDate": 1691646748171,
"favorite": false
},
{
"id": "wbXL4bZcblxLKC6ETqcQ1",
"title": "AFFiNE's Personal project management",
"createDate": 1691564303138,
"tags": [],
"updatedDate": 1691646845195
},
{
"id": "e5cYLNpIRUb-nwpSZGdix",
"title": "Personal-Knowledge Management ",
"createDate": 1691574859042,
"tags": [],
"updatedDate": 1691648159371
},
{
"id": "b1F2xKjgZ4ISHhXNe1kck",
"title": "Annual Performance Review",
"createDate": 1691575011078,
"tags": [
"8qcYPCTK0h"
],
"updatedDate": 1691645074511,
"favorite": false
},
{
"id": "Scod6coKmJJ-waH1-jkiW",
"title": "Brief Event planning ",
"createDate": 1691634722239,
"tags": [
"ze07JVwBu4"
],
"updatedDate": 1691647069662,
"favorite": false
},
{
"id": "GWsRbUtMF4Ee6foVg-H9R",
"title": "Meeting Summary ",
"createDate": 1691635388447,
"tags": [
"Oe5dSe1DDJ"
],
"updatedDate": 1691645873930
},
{
"id": "RCpxnWMtBWmUZy5awgJBh",
"title": "OKR Template",
"createDate": 1691636192263,
"tags": [
"q3mceOl_zi",
"g1L5dXKctL"
],
"updatedDate": 1691645102104
}
]
}

View File

@ -0,0 +1,355 @@
{
"type": "page",
"meta": {
"id": "nPPyOV0JBNKu5hvW9hE00",
"title": "Working Home",
"createDate": 1691552090989,
"tags": []
},
"blocks": {
"type": "block",
"id": "qsMt8nCetT",
"flavour": "affine:page",
"props": {
"title": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Working Home"
}
]
}
},
"children": [
{
"type": "block",
"id": "yC-F6Rj9bA",
"flavour": "affine:surface",
"props": {
"elements": {}
},
"children": []
},
{
"type": "block",
"id": "pk_Cjkpyd4",
"flavour": "affine:note",
"props": {
"xywh": "[0,0,800,939]",
"background": "--affine-background-secondary-color",
"index": "a0",
"hidden": false,
"edgeless": {
"style": {
"borderRadius": 8,
"borderSize": 4,
"borderStyle": "solid",
"shadowType": "--affine-note-shadow-box"
}
}
},
"children": [
{
"type": "block",
"id": "IAOXx-DBBz",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": []
}
},
"children": []
},
{
"type": "block",
"id": "5hR-BR03ms",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": " ",
"attributes": {
"reference": {
"type": "LinkedPage",
"pageId": "b1F2xKjgZ4ISHhXNe1kck"
}
}
}
]
}
},
"children": []
},
{
"type": "block",
"id": "zVgCQKWH-c",
"flavour": "affine:paragraph",
"props": {
"type": "quote",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "This "
},
{
"insert": "Annual Performance Review template",
"attributes": {
"bold": true
}
},
{
"insert": " is ideal for businesses seeking a structured and comprehensive approach to evaluating employee performance. By utilizing this template, you will gain clarity on individual strengths and areas for improvement, fostering effective communication and driving professional growth within your organization."
}
]
}
},
"children": []
},
{
"type": "block",
"id": "ym2g48zSU_",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": []
}
},
"children": []
},
{
"type": "block",
"id": "o1UyrWV30t",
"flavour": "affine:divider",
"props": {},
"children": []
},
{
"type": "block",
"id": "1EUiH1t60b",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": " ",
"attributes": {
"reference": {
"type": "LinkedPage",
"pageId": "GWsRbUtMF4Ee6foVg-H9R"
}
}
}
]
}
},
"children": []
},
{
"type": "block",
"id": "HmzMXKFaci",
"flavour": "affine:paragraph",
"props": {
"type": "quote",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Meeting minutes are an official record of a meeting",
"attributes": {
"bold": true
}
},
{
"insert": " for its participants. They're also sources of information for teammates who were unable to attend."
}
]
}
},
"children": []
},
{
"type": "block",
"id": "v5CGQQPDrt",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": []
}
},
"children": []
},
{
"type": "block",
"id": "lcf4te4rxB",
"flavour": "affine:divider",
"props": {},
"children": []
},
{
"type": "block",
"id": "AbN8iFn0RW",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": []
}
},
"children": []
},
{
"type": "block",
"id": "uXdWxSSWgl",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": " ",
"attributes": {
"reference": {
"type": "LinkedPage",
"pageId": "RCpxnWMtBWmUZy5awgJBh"
}
}
}
]
}
},
"children": []
},
{
"type": "block",
"id": "TBjwPij8cJ",
"flavour": "affine:paragraph",
"props": {
"type": "quote",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Maximize your team's performance and drive goal-oriented success with our extensive collection of "
},
{
"insert": "OKR templates",
"attributes": {
"bold": true
}
},
{
"insert": ", specifically crafted to facilitate effective objective setting, key result tracking, and overall performance improvement."
}
]
}
},
"children": []
},
{
"type": "block",
"id": "mjgDUguqmV",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": []
}
},
"children": []
},
{
"type": "block",
"id": "c_gX1ik0kK",
"flavour": "affine:divider",
"props": {},
"children": []
},
{
"type": "block",
"id": "IU3gGmIffA",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": []
}
},
"children": []
},
{
"type": "block",
"id": "LnERZXy0xj",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "🔔Reminder: Click the "
},
{
"insert": "+New page ",
"attributes": {
"bold": true
}
},
{
"insert": "to start your journey in AFFiNE "
}
]
}
},
"children": []
},
{
"type": "block",
"id": "oi0BxPtiit",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "✏Unleash your creativity and elevate your work efficiency to new heights by customizing templates that perfectly align with your unique needs and objectives."
}
]
}
},
"children": []
},
{
"type": "block",
"id": "DuRxwNJe2w",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": []
}
},
"children": []
}
]
}
]
}
}

View File

@ -0,0 +1,419 @@
{
"type": "page",
"meta": {
"id": "rzyBHDgN5KIlEYzB9oBaD",
"title": "Getting Started👇",
"createDate": 1691548231530,
"tags": [
"ZHBa2NtdSo",
"QYFD_HeQc-",
"wg-fBtd2eI"
]
},
"blocks": {
"type": "block",
"id": "1FO1aYcosq",
"flavour": "affine:page",
"props": {
"title": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Getting Started👇"
}
]
}
},
"children": [
{
"type": "block",
"id": "f7o2Osxfa_",
"flavour": "affine:surface",
"props": {
"elements": {}
},
"children": []
},
{
"type": "block",
"id": "NDAzEfCZnv",
"flavour": "affine:note",
"props": {
"xywh": "[-12.5684605441112,-52.45959387999099,800,582]",
"background": "--affine-background-secondary-color",
"index": "a0",
"hidden": false,
"edgeless": {
"style": {
"borderRadius": 8,
"borderSize": 4,
"borderStyle": "solid",
"shadowType": "--affine-note-shadow-box"
}
}
},
"children": [
{
"type": "block",
"id": "jArWNRgiLB",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Basic things you should know: "
}
]
}
},
"children": []
},
{
"type": "block",
"id": "TUx2T-R2zT",
"flavour": "affine:list",
"props": {
"type": "todo",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Drag "
},
{
"insert": "blocks ",
"attributes": {
"bold": true
}
},
{
"insert": "(put a symbol) at the bottom right of the page to insert a new block, list, database, etc."
}
]
},
"checked": false,
"collapsed": false
},
"children": [
{
"type": "block",
"id": "kyqLH3oNHK",
"flavour": "affine:list",
"props": {
"type": "todo",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Hit \""
},
{
"insert": "/",
"attributes": {
"bold": true
}
},
{
"insert": " \"to see all the types of content you can add - headings, videos, link pages, etc."
}
]
},
"checked": false,
"collapsed": false
},
"children": []
},
{
"type": "block",
"id": "kyQSXZ39ce",
"flavour": "affine:list",
"props": {
"type": "todo",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Edit any text, and "
},
{
"insert": "stylish",
"attributes": {
"bold": true
}
},
{
"insert": " "
},
{
"insert": "your",
"attributes": {
"italic": true
}
},
{
"insert": " "
},
{
"insert": "writing",
"attributes": {
"underline": true
}
},
{
"insert": " freely."
}
]
},
"checked": false,
"collapsed": false
},
"children": []
}
]
},
{
"type": "block",
"id": "tKK8W8BwHQ",
"flavour": "affine:list",
"props": {
"type": "todo",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Follow "
},
{
"insert": " ",
"attributes": {
"reference": {
"type": "LinkedPage",
"pageId": "9iIScyvuIB_kUKbs1AYOQ"
}
}
},
{
"insert": "knowing how to "
},
{
"insert": "write, draw, and plan all at once",
"attributes": {
"bold": true
}
},
{
"insert": "."
}
]
},
"checked": false,
"collapsed": false
},
"children": [
{
"type": "block",
"id": "APwWQJEqlF",
"flavour": "affine:list",
"props": {
"type": "todo",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Not sure where to start with? Refer to"
},
{
"insert": " ",
"attributes": {
"reference": {
"type": "LinkedPage",
"pageId": "-P-O4GSfVGTkI16zJRVa4"
}
}
},
{
"insert": "in your sidebar to get started with pre-built pages."
}
]
},
"checked": false,
"collapsed": false
},
"children": []
}
]
},
{
"type": "block",
"id": "q4UGzfn08o",
"flavour": "affine:list",
"props": {
"type": "todo",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Click the drop-down menu "
},
{
"insert": "\"v\" next to the title for more advanced options",
"attributes": {
"bold": true
}
},
{
"insert": ", such as the ability to one-click export your work into PDF/HTML/Markdown formats."
}
]
},
"checked": false,
"collapsed": false
},
"children": []
},
{
"type": "block",
"id": "yDnnnpnCFh",
"flavour": "affine:list",
"props": {
"type": "todo",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "👉 Encounter"
},
{
"insert": " ",
"attributes": {
"bold": true
}
},
{
"insert": "a question? Click the \""
},
{
"insert": "?\" Button ",
"attributes": {
"bold": true
}
},
{
"insert": "at the bottom right for more guides, or directly send us a message."
}
]
},
"checked": false,
"collapsed": false
},
"children": []
},
{
"type": "block",
"id": "Uq0yIH932N",
"flavour": "affine:paragraph",
"props": {
"type": "h6",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "🎉 Congratulations! You already go through all of this list!"
}
]
}
},
"children": []
},
{
"type": "block",
"id": "Ag86EJnVv0",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Click the"
},
{
"insert": " ",
"attributes": {
"background": "var(--affine-text-highlight-grey)"
}
},
{
"insert": "+ New Page",
"attributes": {
"background": "var(--affine-text-highlight-grey)",
"bold": true
}
},
{
"insert": " ",
"attributes": {
"background": "var(--affine-text-highlight-grey)"
}
},
{
"insert": "button at the bottom of your sidebar to start your journey in AFFiNE"
}
]
}
},
"children": []
},
{
"type": "block",
"id": "iQUJlC0oQT",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": []
}
},
"children": []
},
{
"type": "block",
"id": "wtxc_a6qxN",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "⏰ Kindly Reminder: This page is automatically set up in the"
},
{
"insert": " ",
"attributes": {
"background": "var(--affine-text-highlight-grey)"
}
},
{
"insert": "+New Workspace",
"attributes": {
"background": "var(--affine-text-highlight-grey)",
"bold": true
}
},
{
"insert": ". If you ever find yourself unsure about how to use AFFiNE, simply click on the workspace avatar and select \"Add a New Workspace\" to revisit this page and get the guidance you need."
}
]
}
},
"children": []
}
]
}
]
}
}

View File

@ -0,0 +1,191 @@
{
"type": "page",
"meta": {
"id": "wbXL4bZcblxLKC6ETqcQ1",
"title": "AFFiNE's Personal project management",
"createDate": 1691564303138,
"tags": []
},
"blocks": {
"type": "block",
"id": "LvRIWQ1EAT",
"flavour": "affine:page",
"props": {
"title": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "AFFiNE's Personal project management"
}
]
}
},
"children": [
{
"type": "block",
"id": "9eBKQxt8ax",
"flavour": "affine:surface",
"props": {
"elements": {}
},
"children": []
},
{
"type": "block",
"id": "2nHeyqzDMf",
"flavour": "affine:note",
"props": {
"xywh": "[0,0,800,361]",
"background": "--affine-background-secondary-color",
"index": "a0",
"hidden": false,
"edgeless": {
"style": {
"borderRadius": 8,
"borderSize": 4,
"borderStyle": "solid",
"shadowType": "--affine-note-shadow-box"
}
}
},
"children": [
{
"type": "block",
"id": "g0M-Toj8iK",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "To-do-list "
}
]
}
},
"children": []
},
{
"type": "block",
"id": "JpcfJa6HqU",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "/"
}
]
}
},
"children": []
},
{
"type": "block",
"id": "w9Oyl2J6bd",
"flavour": "affine:database",
"props": {
"views": [
{
"id": "zp1yuVbPHH",
"name": "table",
"mode": "table",
"columns": [
{
"id": "46SguLuWz3",
"width": 185
},
{
"id": "uSHvJhR2FN",
"width": 200
}
],
"filter": {
"type": "group",
"op": "and",
"conditions": []
}
}
],
"title": {
"$blocksuite:internal:text$": true,
"delta": [
{
"insert": "Database"
}
]
},
"cells": {},
"columns": [
{
"id": "46SguLuWz3",
"type": "title",
"name": "Title",
"data": {}
},
{
"type": "title",
"id": "w9Oyl2J6bd",
"name": "Title",
"data": {}
},
{
"type": "multi-select",
"name": "Tag",
"data": {
"options": []
},
"id": "uSHvJhR2FN"
}
]
},
"children": [
{
"type": "block",
"id": "yP88q8kMa_",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": []
}
},
"children": []
},
{
"type": "block",
"id": "xo7ok9TmO7",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": []
}
},
"children": []
},
{
"type": "block",
"id": "dOQULUJfK6",
"flavour": "affine:paragraph",
"props": {
"type": "text",
"text": {
"$blocksuite:internal:text$": true,
"delta": []
}
},
"children": []
}
]
}
]
}
]
}
}

View File

@ -2,10 +2,12 @@
"name": "@affine/templates",
"private": true,
"sideEffect": false,
"exports": {
"./*.md": "./*.md",
"./v1/*.json": "./v1/*.json",
"./preloading.json": "./preloading.json"
"version": "0.11.0",
"scripts": {
"postinstall": "node ./build.mjs"
},
"version": "0.11.0"
"type": "module",
"exports": {
".": "./templates.gen.ts"
}
}

View File

@ -0,0 +1,29 @@
/* eslint-disable simple-import-sort/imports */
// Auto generated, do not edit manually
import json_0 from './onboarding/wbXL4bZcblxLKC6ETqcQ1.snapshot.json';
import json_1 from './onboarding/rzyBHDgN5KIlEYzB9oBaD.snapshot.json';
import json_2 from './onboarding/nPPyOV0JBNKu5hvW9hE00.snapshot.json';
import json_3 from './onboarding/info.json';
import json_4 from './onboarding/e5cYLNpIRUb-nwpSZGdix.snapshot.json';
import json_5 from './onboarding/b1F2xKjgZ4ISHhXNe1kck.snapshot.json';
import json_6 from './onboarding/Scod6coKmJJ-waH1-jkiW.snapshot.json';
import json_7 from './onboarding/RCpxnWMtBWmUZy5awgJBh.snapshot.json';
import json_8 from './onboarding/GWsRbUtMF4Ee6foVg-H9R.snapshot.json';
import json_9 from './onboarding/9iIScyvuIB_kUKbs1AYOQ.snapshot.json';
import json_10 from './onboarding/0nee_XzkrN23Xy7HMoXL-.snapshot.json';
import json_11 from './onboarding/-P-O4GSfVGTkI16zJRVa4.snapshot.json';
export const onboarding = {
'wbXL4bZcblxLKC6ETqcQ1.snapshot.json': json_0,
'rzyBHDgN5KIlEYzB9oBaD.snapshot.json': json_1,
'nPPyOV0JBNKu5hvW9hE00.snapshot.json': json_2,
'info.json': json_3,
'e5cYLNpIRUb-nwpSZGdix.snapshot.json': json_4,
'b1F2xKjgZ4ISHhXNe1kck.snapshot.json': json_5,
'Scod6coKmJJ-waH1-jkiW.snapshot.json': json_6,
'RCpxnWMtBWmUZy5awgJBh.snapshot.json': json_7,
'GWsRbUtMF4Ee6foVg-H9R.snapshot.json': json_8,
'9iIScyvuIB_kUKbs1AYOQ.snapshot.json': json_9,
'0nee_XzkrN23Xy7HMoXL-.snapshot.json': json_10,
'-P-O4GSfVGTkI16zJRVa4.snapshot.json': json_11
}

View File

@ -1,546 +0,0 @@
{
"blocks": {
"mMBWzZtpvM": {
"sys:id": "mMBWzZtpvM",
"sys:flavour": "affine:page",
"sys:children": ["XSMCxudQf4", "2xxenQgE1-", "ca2-VFQV45"],
"prop:title": [
{
"insert": "Annual Performance Review"
}
]
},
"XSMCxudQf4": {
"sys:id": "XSMCxudQf4",
"sys:flavour": "affine:surface",
"sys:children": [],
"prop:elements": {
"type": "$blocksuite:internal:native$",
"value": {}
}
},
"2xxenQgE1-": {
"sys:id": "2xxenQgE1-",
"sys:flavour": "affine:note",
"sys:children": ["G7wJk4W9lz"],
"prop:xywh": "[0,0,800,91]",
"prop:background": "--affine-background-secondary-color",
"prop:index": "a0",
"prop:hidden": false
},
"XPiPjHYnvE": {
"sys:id": "XPiPjHYnvE",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:text": [
{
"insert": "Employee Information:",
"attributes": {
"underline": true,
"bold": true
}
}
],
"prop:type": "text"
},
"ca2-VFQV45": {
"sys:id": "ca2-VFQV45",
"sys:flavour": "affine:note",
"sys:children": [
"viFZDjrBqJ",
"XPiPjHYnvE",
"qpyYi7g_c6",
"NpbigpLTNh",
"e1ax4lVFjW",
"rEKXjYtGDR",
"gYcGYxQ88e",
"OyFSyuWbzw",
"VcUt-bpjIK",
"a0xWifxvFi",
"YiQINiDM6W",
"Zp-YtzbUUK",
"ZMfsmg_5oZ",
"XH7xQMlX_0",
"mBO-_pWGoi",
"X_SNf6rQf4",
"0LF9mjFcX9",
"d2IrxHbD5D",
"IdLESwrZ-U",
"6YwnA2HHQM"
],
"prop:xywh": "[0,0,800,1719]",
"prop:background": "--affine-background-secondary-color",
"prop:index": "a0",
"prop:hidden": false
},
"G7wJk4W9lz": {
"sys:id": "G7wJk4W9lz",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": []
},
"NpbigpLTNh": {
"sys:id": "NpbigpLTNh",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": [
{
"insert": "Department:",
"attributes": {
"bold": true
}
},
{
"insert": " "
},
{
"insert": "[Department Name]",
"attributes": {
"background": "var(--affine-text-highlight-grey)"
}
}
]
},
"e1ax4lVFjW": {
"sys:id": "e1ax4lVFjW",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": [
{
"insert": "Job Title:",
"attributes": {
"bold": true
}
},
{
"insert": " "
},
{
"insert": "[Job Title]",
"attributes": {
"background": "var(--affine-text-highlight-grey)"
}
}
]
},
"rEKXjYtGDR": {
"sys:id": "rEKXjYtGDR",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": [
{
"insert": "Date of Joining:",
"attributes": {
"bold": true
}
},
{
"insert": " "
},
{
"insert": "[Date of Joining]",
"attributes": {
"background": "var(--affine-text-highlight-grey)"
}
}
]
},
"gYcGYxQ88e": {
"sys:id": "gYcGYxQ88e",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": [
{
"insert": "Review Date: ",
"attributes": {
"bold": true
}
},
{
"insert": " "
},
{
"insert": "[Review Date]",
"attributes": {
"background": "var(--affine-text-highlight-grey)"
}
}
]
},
"OyFSyuWbzw": {
"sys:id": "OyFSyuWbzw",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": []
},
"VcUt-bpjIK": {
"sys:id": "VcUt-bpjIK",
"sys:flavour": "affine:database",
"sys:children": ["VwZ3681tdd", "jT3Oo2XSeJ", "RviIfLJUPX"],
"prop:columns": [
{
"type": "title",
"id": "VcUt-bpjIK",
"name": "Title",
"data": {}
},
{
"type": "multi-select",
"name": "score ",
"data": {
"options": [
{
"id": "rwjdYVF3jd",
"value": "awsome",
"color": "var(--affine-tag-yellow)"
},
{
"id": "4dHxaZ8cKk",
"value": "well",
"color": "var(--affine-tag-purple)"
},
{
"id": "wgvB2fzMu6",
"value": "good",
"color": "var(--affine-tag-green)"
},
{
"id": "YGPLhMJkni",
"value": "done",
"color": "var(--affine-tag-pink)"
},
{
"id": "Q1-TuffR-9",
"value": "in progress",
"color": "var(--affine-tag-white)"
}
]
},
"id": "teyC7JgUni"
}
],
"prop:titleColumnName": "Title",
"prop:views": [
{
"id": "bIFdicaEON",
"name": "table",
"mode": "table",
"columns": [
{
"id": "VcUt-bpjIK",
"hide": false,
"width": 260
},
{
"id": "teyC7JgUni",
"hide": false,
"width": 200
}
],
"filter": {
"type": "group",
"op": "and",
"conditions": []
}
}
],
"prop:title": [
{
"insert": "Employee's performance "
}
],
"prop:cells": {
"VwZ3681tdd": {
"teyC7JgUni": {
"columnId": "teyC7JgUni",
"value": ["rwjdYVF3jd"]
}
},
"jT3Oo2XSeJ": {
"teyC7JgUni": {
"columnId": "teyC7JgUni",
"value": ["4dHxaZ8cKk"]
}
},
"RviIfLJUPX": {
"teyC7JgUni": {
"columnId": "teyC7JgUni",
"value": ["wgvB2fzMu6"]
}
}
},
"prop:titleColumnWidth": 343
},
"VwZ3681tdd": {
"sys:id": "VwZ3681tdd",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": [
{
"insert": "[List Employee's Performance Goal 1]"
}
]
},
"jT3Oo2XSeJ": {
"sys:id": "jT3Oo2XSeJ",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": [
{
"insert": "[List Employee's Performance Goal 2]"
}
]
},
"RviIfLJUPX": {
"sys:id": "RviIfLJUPX",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": [
{
"insert": "[List Employee's Performance Goal 3]"
}
]
},
"a0xWifxvFi": {
"sys:id": "a0xWifxvFi",
"sys:flavour": "affine:database",
"sys:children": ["ZEi_-9SS-Y", "8LPVaagwtP", "lYnANRxW0A"],
"prop:columns": [
{
"type": "title",
"id": "a0xWifxvFi",
"name": "Title",
"data": {}
},
{
"type": "multi-select",
"name": "Tag",
"data": {
"options": []
},
"id": "ZdTyvkjQwz"
}
],
"prop:titleColumnName": "Title",
"prop:views": [
{
"id": "MvodpC_iAj",
"name": "table",
"mode": "table",
"columns": [
{
"id": "a0xWifxvFi",
"hide": false,
"width": 260
},
{
"id": "ZdTyvkjQwz",
"hide": false,
"width": 200
}
],
"filter": {
"type": "group",
"op": "and",
"conditions": []
}
}
],
"prop:title": [
{
"insert": "Job responsibility "
}
],
"prop:cells": {},
"prop:titleColumnWidth": 354
},
"ZEi_-9SS-Y": {
"sys:id": "ZEi_-9SS-Y",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": [
{
"insert": "[List Job Responsibility 1]"
}
]
},
"8LPVaagwtP": {
"sys:id": "8LPVaagwtP",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": [
{
"insert": "[List Job Responsibility 2]"
}
]
},
"lYnANRxW0A": {
"sys:id": "lYnANRxW0A",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": [
{
"insert": "[List Job Responsibility 3]"
}
]
},
"YiQINiDM6W": {
"sys:id": "YiQINiDM6W",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": [
{
"insert": "Employee's Signature: "
}
]
},
"Zp-YtzbUUK": {
"sys:id": "Zp-YtzbUUK",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:text": [
{
"insert": "Date: "
}
],
"prop:type": "text"
},
"ZMfsmg_5oZ": {
"sys:id": "ZMfsmg_5oZ",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": []
},
"mBO-_pWGoi": {
"sys:id": "mBO-_pWGoi",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:text": [
{
"insert": "Date: "
}
],
"prop:type": "text"
},
"X_SNf6rQf4": {
"sys:id": "X_SNf6rQf4",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": []
},
"0LF9mjFcX9": {
"sys:id": "0LF9mjFcX9",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": [
{
"insert": "[Company Name]",
"attributes": {
"background": "var(--affine-text-highlight-grey)"
}
}
]
},
"d2IrxHbD5D": {
"sys:id": "d2IrxHbD5D",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": [
{
"insert": "[Address]",
"attributes": {
"background": "var(--affine-text-highlight-grey)"
}
}
]
},
"IdLESwrZ-U": {
"sys:id": "IdLESwrZ-U",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": [
{
"insert": "[Phone Number]",
"attributes": {
"background": "var(--affine-text-highlight-grey)"
}
}
]
},
"6YwnA2HHQM": {
"sys:id": "6YwnA2HHQM",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": [
{
"insert": "[Email]",
"attributes": {
"background": "var(--affine-text-highlight-grey)"
}
}
]
},
"qpyYi7g_c6": {
"sys:id": "qpyYi7g_c6",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:text": [
{
"insert": "Name:",
"attributes": {
"bold": true
}
},
{
"insert": " "
},
{
"insert": "[Employee Name]",
"attributes": {
"background": "var(--affine-text-highlight-grey)"
}
}
],
"prop:type": "text"
},
"viFZDjrBqJ": {
"sys:id": "viFZDjrBqJ",
"sys:flavour": "affine:image",
"sys:children": [],
"prop:sourceId": "/static/gZLmSgmwumNdgf0eIfOSW44emctrLyFUaZapbk8eZ6s=.png",
"prop:caption": "",
"prop:width": 752,
"prop:height": 422.9140625
},
"XH7xQMlX_0": {
"sys:id": "XH7xQMlX_0",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:text": [
{
"insert": "Manager's Signature: "
}
],
"prop:type": "text"
}
}
}

View File

@ -1,244 +0,0 @@
{
"blocks": {
"SMCf2aOH8T": {
"sys:id": "SMCf2aOH8T",
"sys:flavour": "affine:page",
"sys:children": ["_07_dOaECY", "0n7YghSHPc"],
"prop:title": [
{
"insert": "Brief Event planning "
}
]
},
"_07_dOaECY": {
"sys:id": "_07_dOaECY",
"sys:flavour": "affine:surface",
"sys:children": [],
"prop:elements": {
"type": "$blocksuite:internal:native$",
"value": {}
}
},
"0n7YghSHPc": {
"sys:id": "0n7YghSHPc",
"sys:flavour": "affine:note",
"sys:children": [
"d6Alacwr32",
"9slwdYgqgq",
"6dH3Amz0rn",
"ObsV2gBxUe",
"xf1m62_pbc"
],
"prop:xywh": "[0,0,800,527]",
"prop:background": "--affine-background-secondary-color",
"prop:index": "a0",
"prop:hidden": false
},
"9slwdYgqgq": {
"sys:id": "9slwdYgqgq",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": [
{
"insert": "An event brief outline the goals and key elements needed to plan a successful event. This AFFiNE Event Planning template will help you gain alignment and kick off your event planning. "
}
]
},
"6dH3Amz0rn": {
"sys:id": "6dH3Amz0rn",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": []
},
"ObsV2gBxUe": {
"sys:id": "ObsV2gBxUe",
"sys:flavour": "affine:database",
"sys:children": ["pFlIzSXLOj", "4XPamQdWpq", "3uJL-VNu7K"],
"prop:views": [
{
"id": "sfIqqrnI2q",
"name": "table",
"mode": "table",
"columns": [
{
"id": "ObsV2gBxUe",
"hide": false,
"width": 246
},
{
"id": "FCYCytB4wx",
"hide": false,
"width": 162
},
{
"id": "mGltZNTJmw",
"hide": false,
"width": 176
},
{
"id": "ozFBusFd0s",
"hide": false,
"width": 200
}
],
"filter": {
"type": "group",
"op": "and",
"conditions": []
}
}
],
"prop:title": [
{
"insert": "Event Planning"
}
],
"prop:cells": {
"pFlIzSXLOj": {
"mGltZNTJmw": {
"columnId": "mGltZNTJmw",
"value": ["bsTnd_L1aE", "oU49ElCHCG"]
},
"FCYCytB4wx": {
"columnId": "FCYCytB4wx",
"value": 100
},
"ozFBusFd0s": {
"columnId": "ozFBusFd0s",
"value": "https://affine.pro/blog/free-event-planning-templates-for-professsional-2023"
}
},
"4XPamQdWpq": {
"mGltZNTJmw": {
"columnId": "mGltZNTJmw",
"value": ["oU49ElCHCG", "d6riek6K4d"]
},
"FCYCytB4wx": {
"columnId": "FCYCytB4wx",
"value": 50
}
},
"3uJL-VNu7K": {
"mGltZNTJmw": {
"columnId": "mGltZNTJmw",
"value": ["bsTnd_L1aE", "z3vOXFIT-T"]
},
"FCYCytB4wx": {
"columnId": "FCYCytB4wx",
"value": 8
}
}
},
"prop:columns": [
{
"type": "title",
"id": "ObsV2gBxUe",
"name": "Title",
"data": {}
},
{
"type": "multi-select",
"name": "Tag",
"data": {
"options": [
{
"id": "z3vOXFIT-T",
"value": "not important",
"color": "var(--affine-tag-teal)"
},
{
"id": "ZbJHxXJK3L",
"value": "nit important",
"color": "var(--affine-tag-pink)"
},
{
"id": "d6riek6K4d",
"value": "important",
"color": "var(--affine-tag-yellow)"
},
{
"id": "oU49ElCHCG",
"value": "urgent",
"color": "var(--affine-tag-purple)"
},
{
"id": "bsTnd_L1aE",
"value": "must",
"color": "var(--affine-tag-green)"
},
{
"id": "hHjqAauZu6",
"value": "urgent",
"color": "var(--affine-tag-gray)"
}
]
},
"id": "mGltZNTJmw"
},
{
"type": "progress",
"name": "progress",
"data": {},
"id": "FCYCytB4wx"
},
{
"type": "link",
"name": "additional link ",
"data": {},
"id": "ozFBusFd0s"
}
],
"prop:titleColumnName": "Title",
"prop:titleColumnWidth": 186
},
"xf1m62_pbc": {
"sys:id": "xf1m62_pbc",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": []
},
"d6Alacwr32": {
"sys:id": "d6Alacwr32",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": []
},
"pFlIzSXLOj": {
"sys:id": "pFlIzSXLOj",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:text": [
{
"insert": "research"
}
],
"prop:type": "text"
},
"4XPamQdWpq": {
"sys:id": "4XPamQdWpq",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:text": [
{
"insert": "book accommondation"
}
],
"prop:type": "text"
},
"3uJL-VNu7K": {
"sys:id": "3uJL-VNu7K",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:text": [
{
"insert": "arrange transportation "
}
],
"prop:type": "text"
}
}
}

View File

@ -1,320 +0,0 @@
{
"blocks": {
"1FO1aYcosq": {
"sys:id": "1FO1aYcosq",
"sys:flavour": "affine:page",
"sys:children": ["f7o2Osxfa_", "NDAzEfCZnv"],
"prop:title": [
{
"insert": "Getting Started👇"
}
]
},
"f7o2Osxfa_": {
"sys:id": "f7o2Osxfa_",
"sys:flavour": "affine:surface",
"sys:children": [],
"prop:elements": {
"type": "$blocksuite:internal:native$",
"value": {}
}
},
"NDAzEfCZnv": {
"sys:id": "NDAzEfCZnv",
"sys:flavour": "affine:note",
"sys:children": [
"jArWNRgiLB",
"TUx2T-R2zT",
"tKK8W8BwHQ",
"q4UGzfn08o",
"yDnnnpnCFh",
"Uq0yIH932N",
"Ag86EJnVv0",
"iQUJlC0oQT",
"wtxc_a6qxN"
],
"prop:xywh": "[-12.5684605441112,-52.45959387999099,800,582]",
"prop:background": "--affine-background-secondary-color",
"prop:index": "a0",
"prop:hidden": false
},
"jArWNRgiLB": {
"sys:id": "jArWNRgiLB",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": [
{
"insert": "Basic things you should know: "
}
]
},
"TUx2T-R2zT": {
"sys:id": "TUx2T-R2zT",
"sys:flavour": "affine:list",
"sys:children": ["kyqLH3oNHK", "kyQSXZ39ce"],
"prop:type": "todo",
"prop:text": [
{
"insert": "Drag "
},
{
"insert": "blocks ",
"attributes": {
"bold": true
}
},
{
"insert": "(put a symbol) at the bottom right of the page to insert a new block, list, database, etc."
}
],
"prop:checked": false
},
"kyqLH3oNHK": {
"sys:id": "kyqLH3oNHK",
"sys:flavour": "affine:list",
"sys:children": [],
"prop:type": "todo",
"prop:text": [
{
"insert": "Hit \""
},
{
"insert": "/",
"attributes": {
"bold": true
}
},
{
"insert": " \"to see all the types of content you can add - headings, videos, link pages, etc."
}
],
"prop:checked": false
},
"kyQSXZ39ce": {
"sys:id": "kyQSXZ39ce",
"sys:flavour": "affine:list",
"sys:children": [],
"prop:type": "todo",
"prop:text": [
{
"insert": "Edit any text, and "
},
{
"insert": "stylish",
"attributes": {
"bold": true
}
},
{
"insert": " "
},
{
"insert": "your",
"attributes": {
"italic": true
}
},
{
"insert": " "
},
{
"insert": "writing",
"attributes": {
"underline": true
}
},
{
"insert": " freely."
}
],
"prop:checked": false
},
"tKK8W8BwHQ": {
"sys:id": "tKK8W8BwHQ",
"sys:flavour": "affine:list",
"sys:children": ["APwWQJEqlF"],
"prop:type": "todo",
"prop:text": [
{
"insert": "Follow "
},
{
"insert": " ",
"attributes": {
"reference": {
"type": "LinkedPage",
"pageId": "0773e198-5de0-45d4-a35e-de22ea72b96b"
}
}
},
{
"insert": "knowing how to "
},
{
"insert": "write, draw, and plan all at once",
"attributes": {
"bold": true
}
},
{
"insert": "."
}
],
"prop:checked": false
},
"APwWQJEqlF": {
"sys:id": "APwWQJEqlF",
"sys:flavour": "affine:list",
"sys:children": [],
"prop:type": "todo",
"prop:text": [
{
"insert": "Not sure where to start with? Refer to"
},
{
"insert": " ",
"attributes": {
"reference": {
"type": "LinkedPage",
"pageId": "59b140eb-4449-488f-9eeb-42412dcc044e"
}
}
},
{
"insert": "in your sidebar to get started with pre-built pages."
}
],
"prop:checked": false
},
"q4UGzfn08o": {
"sys:id": "q4UGzfn08o",
"sys:flavour": "affine:list",
"sys:children": [],
"prop:type": "todo",
"prop:text": [
{
"insert": "Click the drop-down menu "
},
{
"insert": "\"v\" next to the title for more advanced options",
"attributes": {
"bold": true
}
},
{
"insert": ", such as the ability to one-click export your work into PDF/HTML/Markdown formats."
}
],
"prop:checked": false
},
"yDnnnpnCFh": {
"sys:id": "yDnnnpnCFh",
"sys:flavour": "affine:list",
"sys:children": [],
"prop:type": "todo",
"prop:text": [
{
"insert": "👉 Encounter"
},
{
"insert": " ",
"attributes": {
"bold": true
}
},
{
"insert": "a question? Click the \""
},
{
"insert": "?\" Button ",
"attributes": {
"bold": true
}
},
{
"insert": "at the bottom right for more guides, or directly send us a message."
}
],
"prop:checked": false
},
"Uq0yIH932N": {
"sys:id": "Uq0yIH932N",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "h6",
"prop:text": [
{
"insert": "🎉 Congratulations! You already go through all of this list!"
}
]
},
"Ag86EJnVv0": {
"sys:id": "Ag86EJnVv0",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": [
{
"insert": "Click the"
},
{
"insert": " ",
"attributes": {
"background": "var(--affine-text-highlight-grey)"
}
},
{
"insert": "+ New Page",
"attributes": {
"background": "var(--affine-text-highlight-grey)",
"bold": true
}
},
{
"insert": " ",
"attributes": {
"background": "var(--affine-text-highlight-grey)"
}
},
{
"insert": "button at the bottom of your sidebar to start your journey in AFFiNE"
}
]
},
"iQUJlC0oQT": {
"sys:id": "iQUJlC0oQT",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": []
},
"wtxc_a6qxN": {
"sys:id": "wtxc_a6qxN",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": [
{
"insert": "⏰ Kindly Reminder: This page is automatically set up in the"
},
{
"insert": " ",
"attributes": {
"background": "var(--affine-text-highlight-grey)"
}
},
{
"insert": "+New Workspace",
"attributes": {
"background": "var(--affine-text-highlight-grey)",
"bold": true
}
},
{
"insert": ". If you ever find yourself unsure about how to use AFFiNE, simply click on the workspace avatar and select \"Add a New Workspace\" to revisit this page and get the guidance you need."
}
]
}
}
}

View File

@ -1,215 +0,0 @@
{
"blocks": {
"EYboj1it1i": {
"sys:id": "EYboj1it1i",
"sys:flavour": "affine:page",
"sys:children": ["86K_nlhKXG", "q7fYMX90uJ"],
"prop:title": [
{
"insert": "Meeting Summary "
}
]
},
"86K_nlhKXG": {
"sys:id": "86K_nlhKXG",
"sys:flavour": "affine:surface",
"sys:children": [],
"prop:elements": {
"type": "$blocksuite:internal:native$",
"value": {}
}
},
"q7fYMX90uJ": {
"sys:id": "q7fYMX90uJ",
"sys:flavour": "affine:note",
"sys:children": [
"IuRC73HZLH",
"YuOqeDHzoe",
"jPGxHHA_QX",
"sCk70nT5eX",
"iKwcxVFpCH",
"RPED0t8fSj",
"D3Y93H8WvU",
"BfO7S4Gkfm",
"Stcz30R0Ad",
"YKIkBUmv01",
"JzAgpzljrp",
"FSkrwB-T33",
"abGz-82vvA"
],
"prop:xywh": "[0,0,800,1237]",
"prop:background": "--affine-background-secondary-color",
"prop:index": "a0",
"prop:hidden": false
},
"YuOqeDHzoe": {
"sys:id": "YuOqeDHzoe",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "quote",
"prop:text": [
{
"insert": "Project:"
},
{
"insert": " [Link the project plan]\n",
"attributes": {
"background": "var(--affine-text-highlight-grey)"
}
},
{
"insert": "]Attendees: "
},
{
"insert": "[@mention teammates]",
"attributes": {
"background": "var(--affine-text-highlight-grey)"
}
},
{
"insert": "\nDate & Time:"
},
{
"insert": " [type /today]",
"attributes": {
"background": "var(--affine-text-highlight-grey)"
}
}
]
},
"IuRC73HZLH": {
"sys:id": "IuRC73HZLH",
"sys:flavour": "affine:image",
"sys:children": [],
"prop:sourceId": "/static/f9yKnlNMgKhF-CxOgHBsXkxfViCCkC6KwTv6Uj2Fcjw=.png",
"prop:caption": "",
"prop:width": 752,
"prop:height": 501.6328125
},
"jPGxHHA_QX": {
"sys:id": "jPGxHHA_QX",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "h1",
"prop:text": [
{
"insert": "Agenda"
}
]
},
"sCk70nT5eX": {
"sys:id": "sCk70nT5eX",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:text": [
{
"insert": "Write down the main topic to discuss."
}
],
"prop:type": "text"
},
"iKwcxVFpCH": {
"sys:id": "iKwcxVFpCH",
"sys:flavour": "affine:list",
"sys:children": [],
"prop:type": "bulleted",
"prop:text": [
{
"insert": "E.g. content roadmap"
}
],
"prop:checked": false
},
"RPED0t8fSj": {
"sys:id": "RPED0t8fSj",
"sys:flavour": "affine:list",
"sys:children": [],
"prop:type": "bulleted",
"prop:text": [
{
"insert": "Get aligned on the main upcoming topics"
}
],
"prop:checked": false
},
"D3Y93H8WvU": {
"sys:id": "D3Y93H8WvU",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "h1",
"prop:text": [
{
"insert": "Notes"
}
]
},
"BfO7S4Gkfm": {
"sys:id": "BfO7S4Gkfm",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "quote",
"prop:text": [
{
"insert": "Cover any key information discussed in the meeting."
}
]
},
"Stcz30R0Ad": {
"sys:id": "Stcz30R0Ad",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "h1",
"prop:text": [
{
"insert": "Outcomes"
}
]
},
"YKIkBUmv01": {
"sys:id": "YKIkBUmv01",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "quote",
"prop:text": [
{
"insert": "Summarize key decisions in a tidy paragraph and communicate them to the team."
}
]
},
"JzAgpzljrp": {
"sys:id": "JzAgpzljrp",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "h1",
"prop:text": [
{
"insert": "Action items"
}
]
},
"FSkrwB-T33": {
"sys:id": "FSkrwB-T33",
"sys:flavour": "affine:list",
"sys:children": [],
"prop:type": "todo",
"prop:text": [
{
"insert": "E.g. @jess review the content roadmap"
}
],
"prop:checked": false
},
"abGz-82vvA": {
"sys:id": "abGz-82vvA",
"sys:flavour": "affine:list",
"sys:children": [],
"prop:type": "todo",
"prop:text": [
{
"insert": "E.g. @mike contact copywriter freelancers"
}
],
"prop:checked": false
}
}
}

View File

@ -1,336 +0,0 @@
{
"blocks": {
"0tJt1nfXpr": {
"sys:id": "0tJt1nfXpr",
"sys:flavour": "affine:page",
"sys:children": ["-SeDPuI6pE", "gjPKqwOdlZ"],
"prop:title": [
{
"insert": "OKR Template"
}
]
},
"-SeDPuI6pE": {
"sys:id": "-SeDPuI6pE",
"sys:flavour": "affine:surface",
"sys:children": [],
"prop:elements": {
"type": "$blocksuite:internal:native$",
"value": {}
}
},
"gjPKqwOdlZ": {
"sys:id": "gjPKqwOdlZ",
"sys:flavour": "affine:note",
"sys:children": [
"syUYSO6Hlw",
"B12ua5IVdH",
"UWKiht4_yF",
"tsqRR7Aqqe",
"TzALQTyjsF",
"-RNdJMcB-M",
"_E43A1XjkR",
"lbLc-rsTQ_",
"IbLsSTqZWu",
"LfH4-lvRy1",
"PmstSRjisx"
],
"prop:xywh": "[0,0,800,1418]",
"prop:background": "--affine-background-secondary-color",
"prop:index": "a0",
"prop:hidden": false
},
"UWKiht4_yF": {
"sys:id": "UWKiht4_yF",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": []
},
"B12ua5IVdH": {
"sys:id": "B12ua5IVdH",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "quote",
"prop:text": [
{
"insert": "Using "
},
{
"insert": "OKR (Objectives and Key Results)",
"attributes": {
"link": "https://en.wikipedia.org/wiki/Objectives_and_key_results"
}
},
{
"insert": " helps teams work together to create and break down their goals. They also figure out how to reach those goals and use their own ideas and creativity. Every week, the team checks in to make sure everyone understands the goals, shares their thoughts, and makes changes as needed to get the job done well and quickly."
}
]
},
"tsqRR7Aqqe": {
"sys:id": "tsqRR7Aqqe",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "h2",
"prop:text": [
{
"insert": "I. Synchronization of team OKR progress "
}
]
},
"TzALQTyjsF": {
"sys:id": "TzALQTyjsF",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": []
},
"-RNdJMcB-M": {
"sys:id": "-RNdJMcB-M",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:text": [
{
"insert": "All team members collectively update the latest progress and the next step plan for the person responsible for the OKR. These updates are discussed during the weekly Team OKR meeting."
}
],
"prop:type": "text"
},
"_E43A1XjkR": {
"sys:id": "_E43A1XjkR",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": []
},
"PmstSRjisx": {
"sys:id": "PmstSRjisx",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": []
},
"lbLc-rsTQ_": {
"sys:id": "lbLc-rsTQ_",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "h1",
"prop:text": [
{
"insert": "O1: Fourth quarter revenue 1 million "
}
]
},
"IbLsSTqZWu": {
"sys:id": "IbLsSTqZWu",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": []
},
"LfH4-lvRy1": {
"sys:id": "LfH4-lvRy1",
"sys:flavour": "affine:database",
"sys:children": ["CLLfj990JA", "iouBY8Zk33", "jRFdpU21Jf"],
"prop:views": [
{
"id": "BjTEwK-3iR",
"name": "table",
"mode": "table",
"columns": [
{
"id": "LfH4-lvRy1",
"hide": false,
"width": 260
},
{
"id": "ftL1qPRgYl",
"hide": false,
"width": 200
},
{
"id": "3s4GtwNZTH",
"hide": false,
"width": 108
},
{
"id": "IwZCoBvV9W",
"hide": false,
"width": 142
}
],
"filter": {
"type": "group",
"op": "and",
"conditions": []
}
}
],
"prop:title": [
{
"insert": "KR setting & reviewing "
}
],
"prop:cells": {
"C75yOBGfeP": {
"ftL1qPRgYl": {
"columnId": "ftL1qPRgYl",
"value": [
{
"insert": "the planning case has been reviewed, see doc for details "
}
]
},
"IwZCoBvV9W": {
"columnId": "IwZCoBvV9W",
"value": 85
}
},
"iouBY8Zk33": {
"ftL1qPRgYl": {
"columnId": "ftL1qPRgYl",
"value": [
{
"insert": "worning on it "
}
]
},
"IwZCoBvV9W": {
"columnId": "IwZCoBvV9W",
"value": 46
},
"3s4GtwNZTH": {
"columnId": "3s4GtwNZTH",
"value": "Qp1kGLAbfE"
}
},
"jRFdpU21Jf": {
"ftL1qPRgYl": {
"columnId": "ftL1qPRgYl",
"value": [
{
"insert": "waiting "
}
]
},
"IwZCoBvV9W": {
"columnId": "IwZCoBvV9W",
"value": 3
},
"3s4GtwNZTH": {
"columnId": "3s4GtwNZTH",
"value": "yCF1NgLWhh"
}
},
"CLLfj990JA": {
"ftL1qPRgYl": {
"columnId": "ftL1qPRgYl",
"value": [
{
"insert": "The planning case has been reviewed, see doc for details "
}
]
},
"IwZCoBvV9W": {
"columnId": "IwZCoBvV9W",
"value": 70
},
"3s4GtwNZTH": {
"columnId": "3s4GtwNZTH",
"value": "KHKc4e79W8"
}
}
},
"prop:columns": [
{
"type": "title",
"id": "LfH4-lvRy1",
"name": "Title",
"data": {}
},
{
"type": "progress",
"name": "progress bar ",
"data": {},
"id": "IwZCoBvV9W"
},
{
"type": "rich-text",
"name": "Notes ",
"data": {
"options": []
},
"id": "ftL1qPRgYl"
},
{
"type": "select",
"name": "priority ",
"data": {
"options": [
{
"id": "yCF1NgLWhh",
"value": "not urgent",
"color": "var(--affine-tag-blue)"
},
{
"id": "Qp1kGLAbfE",
"value": "urgent",
"color": "var(--affine-tag-red)"
},
{
"id": "KHKc4e79W8",
"value": "important",
"color": "var(--affine-tag-yellow)"
}
]
},
"id": "3s4GtwNZTH"
}
],
"prop:titleColumnName": "Key Resluts ",
"prop:titleColumnWidth": 246
},
"syUYSO6Hlw": {
"sys:id": "syUYSO6Hlw",
"sys:flavour": "affine:image",
"sys:children": [],
"prop:sourceId": "/static/VuXYyM9JUv1Fv_qjg1v5Go4Zksz0r4NXFeh3Na7JkIc=.png",
"prop:caption": "",
"prop:width": 752,
"prop:height": 501.2734375
},
"CLLfj990JA": {
"sys:id": "CLLfj990JA",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": [
{
"insert": "The campus activity was successfully released, and the exposure was not less than 1 million people"
}
]
},
"iouBY8Zk33": {
"sys:id": "iouBY8Zk33",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:text": [
{
"insert": "describe Key results "
}
],
"prop:type": "text"
},
"jRFdpU21Jf": {
"sys:id": "jRFdpU21Jf",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:text": [
{
"insert": "KR1: Describe Key results "
}
],
"prop:type": "text"
}
}
}

View File

@ -1,127 +0,0 @@
{
"blocks": {
"QmQb34xduM": {
"sys:id": "QmQb34xduM",
"sys:flavour": "affine:page",
"sys:children": ["f4WAKZ67ki", "xj7QSmgQgT"],
"prop:title": [
{
"insert": "Personal Home"
}
]
},
"f4WAKZ67ki": {
"sys:id": "f4WAKZ67ki",
"sys:flavour": "affine:surface",
"sys:children": [],
"prop:elements": {
"type": "$blocksuite:internal:native$",
"value": {}
}
},
"xj7QSmgQgT": {
"sys:id": "xj7QSmgQgT",
"sys:flavour": "affine:note",
"sys:children": [
"qlnEliaAwr",
"U6w_UTi2p5",
"YN7S4Pe19c",
"V9nK8F7B0R",
"jj-qOseCj-",
"hgSgQdYwWJ"
],
"prop:xywh": "[0,0,800,547]",
"prop:background": "--affine-background-secondary-color",
"prop:index": "a0",
"prop:hidden": false
},
"jj-qOseCj-": {
"sys:id": "jj-qOseCj-",
"sys:flavour": "affine:list",
"sys:children": [],
"prop:type": "bulleted",
"prop:text": [
{
"insert": " ",
"attributes": {
"reference": {
"type": "LinkedPage",
"pageId": "646305d9-93e0-48df-bb92-d82944ceb5a3"
}
}
}
],
"prop:checked": false
},
"U6w_UTi2p5": {
"sys:id": "U6w_UTi2p5",
"sys:flavour": "affine:list",
"sys:children": [],
"prop:text": [
{
"insert": " ",
"attributes": {
"reference": {
"type": "LinkedPage",
"pageId": "22163830-8252-43fe-b62d-fd9bbeaa4caa"
}
}
},
{
"insert": " "
}
],
"prop:type": "bulleted",
"prop:checked": false
},
"qlnEliaAwr": {
"sys:id": "qlnEliaAwr",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": []
},
"V9nK8F7B0R": {
"sys:id": "V9nK8F7B0R",
"sys:flavour": "affine:divider",
"sys:children": []
},
"hgSgQdYwWJ": {
"sys:id": "hgSgQdYwWJ",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "quote",
"prop:text": [
{
"insert": "An event planning template ",
"attributes": {
"bold": true
}
},
{
"insert": "is an efficient framework that details the steps you and your team need to consider taking to plan and execute a successful event."
}
]
},
"YN7S4Pe19c": {
"sys:id": "YN7S4Pe19c",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "quote",
"prop:text": [
{
"insert": "Personal knowledge management (PKM for short) is "
},
{
"insert": "the process of collecting, organizing, and storing information",
"attributes": {
"bold": true
}
},
{
"insert": ", so it's easier to search for, retrieve, share, expand upon, and use later on."
}
]
}
}
}

View File

@ -1,880 +0,0 @@
{
"blocks": {
"F19ZttSiUA": {
"sys:id": "F19ZttSiUA",
"sys:flavour": "affine:page",
"sys:children": ["OzSHckdEQ6", "f6Owaa00aK", "-tH5D5Hf4J", "W6M-MPQ5-F"],
"prop:title": [
{
"insert": "Personal-Knowledge Management "
}
]
},
"OzSHckdEQ6": {
"sys:id": "OzSHckdEQ6",
"sys:flavour": "affine:surface",
"sys:children": [],
"prop:elements": {
"type": "$blocksuite:internal:native$",
"value": {
"aAOeeA4jhz": {
"type": "connector",
"mode": 1,
"strokeWidth": 2,
"stroke": "--affine-palette-line-blue",
"strokeStyle": "solid",
"roughness": 1.4,
"source": {
"id": "f6Owaa00aK",
"position": [0.5, 1]
},
"target": {
"id": "W6M-MPQ5-F"
},
"controllers": [],
"id": "aAOeeA4jhz",
"index": "a1",
"seed": 1493853178,
"xywh": "[181.61467354910715,-359.54656036633406,400,379.64]"
},
"pMyfZPwXXU": {
"type": "connector",
"mode": 1,
"strokeWidth": 2,
"stroke": "--affine-palette-line-black",
"strokeStyle": "solid",
"roughness": 1.4,
"source": {
"id": "f6Owaa00aK",
"position": [0.5010332476508476, 1]
},
"target": {
"id": "-tH5D5Hf4J"
},
"controllers": [],
"id": "pMyfZPwXXU",
"index": "a2",
"seed": 1151132732,
"xywh": "[581.9546735491072,-359.54656036633406,650.69,379.64]"
}
}
}
},
"f6Owaa00aK": {
"sys:id": "f6Owaa00aK",
"sys:flavour": "affine:note",
"sys:children": ["qyCHSngWfV"],
"prop:xywh": "[420.1386841846113,-539.5481469931723,322.9614914325105,102]",
"prop:background": "--affine-background-secondary-color",
"prop:index": "a0",
"prop:hidden": false
},
"qyCHSngWfV": {
"sys:id": "qyCHSngWfV",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "quote",
"prop:text": [
{
"insert": "Write your motto here, for example:"
},
{
"insert": " It always seems impossible until its done. You can do it.",
"attributes": {
"italic": true
}
}
]
},
"z3JCtDKEnH": {
"sys:id": "z3JCtDKEnH",
"sys:flavour": "affine:database",
"sys:children": [
"VCBzCpQ4Pj",
"8SmLofa6Sa",
"z38CbkWI85",
"gSQczpW-cC",
"1GiXKFEQTr"
],
"prop:title": [
{
"insert": "Study Plan"
}
],
"prop:titleColumnName": "Task",
"prop:titleColumnWidth": 200,
"prop:views": [
{
"id": "_KB-Dww-OJ",
"name": "Kanban View",
"mode": "kanban",
"columns": [
{
"id": "z3JCtDKEnH",
"hide": false
},
{
"id": "XdrUZWMCAy",
"hide": false
},
{
"id": "MZ4j6XeWN2",
"hide": false
}
],
"filter": {
"type": "group",
"op": "and",
"conditions": []
},
"groupBy": {
"type": "groupBy",
"columnId": "XdrUZWMCAy",
"name": "multi-select"
},
"header": {
"titleColumn": "z3JCtDKEnH",
"iconColumn": "type"
},
"groupProperties": [
{
"key": "Ungroups",
"hide": false,
"manuallyCardSort": ["m7Wa1L5dzo"]
},
{
"key": "7MeJP6tYbY",
"hide": false,
"manuallyCardSort": ["z38CbkWI85"]
},
{
"key": "UzOiUYq0f5",
"hide": false,
"manuallyCardSort": []
},
{
"key": "s28YFoSwsn",
"hide": false,
"manuallyCardSort": []
}
]
},
{
"id": "vyeVaTiV6v",
"name": "Table View",
"mode": "table",
"columns": [],
"filter": {
"type": "group",
"op": "and",
"conditions": []
},
"header": {
"titleColumn": "z3JCtDKEnH",
"iconColumn": "type"
}
}
],
"prop:cells": {
"VCBzCpQ4Pj": {
"XdrUZWMCAy": {
"columnId": "XdrUZWMCAy",
"value": ["UzOiUYq0f5"]
},
"MZ4j6XeWN2": {
"columnId": "MZ4j6XeWN2",
"value": 76
}
},
"8SmLofa6Sa": {
"XdrUZWMCAy": {
"columnId": "XdrUZWMCAy",
"value": ["s28YFoSwsn"]
},
"MZ4j6XeWN2": {
"columnId": "MZ4j6XeWN2",
"value": 100
}
},
"z38CbkWI85": {
"XdrUZWMCAy": {
"columnId": "XdrUZWMCAy",
"value": ["7MeJP6tYbY"]
}
},
"m7Wa1L5dzo": {
"XdrUZWMCAy": {
"columnId": "XdrUZWMCAy",
"value": [null]
}
},
"gSQczpW-cC": {
"XdrUZWMCAy": {
"columnId": "XdrUZWMCAy",
"value": []
}
},
"1GiXKFEQTr": {
"XdrUZWMCAy": {
"columnId": "XdrUZWMCAy",
"value": []
}
}
},
"prop:columns": [
{
"type": "title",
"id": "z3JCtDKEnH",
"name": "Title",
"data": {}
},
{
"type": "multi-select",
"name": "Tag",
"data": {
"options": [
{
"id": "7MeJP6tYbY",
"value": "not started",
"color": "var(--affine-tag-orange)"
},
{
"id": "s28YFoSwsn",
"value": "finished",
"color": "var(--affine-tag-blue)"
},
{
"id": "UzOiUYq0f5",
"value": "in-progress",
"color": "var(--affine-tag-green)"
}
]
},
"id": "XdrUZWMCAy"
},
{
"type": "progress",
"name": "Progress",
"data": {},
"id": "MZ4j6XeWN2"
}
]
},
"VCBzCpQ4Pj": {
"sys:id": "VCBzCpQ4Pj",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": [
{
"insert": "Task 1"
}
]
},
"8SmLofa6Sa": {
"sys:id": "8SmLofa6Sa",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": [
{
"insert": "Task 2"
}
]
},
"z38CbkWI85": {
"sys:id": "z38CbkWI85",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": [
{
"insert": "Task 3"
}
]
},
"L0wkiKeVji": {
"sys:id": "L0wkiKeVji",
"sys:flavour": "affine:database",
"sys:children": [
"lMu_xf4xVF",
"vFgr3oyqOJ",
"1TYjc-QdZj",
"ROpYva-V1J",
"CXTh8uALzr",
"WrMjzOnJH3",
"R__nq8e75I",
"XeJ1gW0QDw"
],
"prop:columns": [
{
"type": "title",
"id": "L0wkiKeVji",
"name": "Title",
"data": {}
},
{
"type": "progress",
"name": "progress ",
"data": {},
"id": "QmfyAdToer"
},
{
"type": "link",
"name": "Additional information ",
"data": {},
"id": "ppQS-BaKNB"
},
{
"type": "rich-text",
"name": "Author",
"data": {},
"id": "scBkEETna6"
}
],
"prop:titleColumnName": "Readlist ",
"prop:views": [
{
"id": "yYzkaFTs41",
"name": "table",
"mode": "table",
"columns": [
{
"id": "L0wkiKeVji",
"hide": false,
"width": 302
},
{
"id": "scBkEETna6",
"hide": false,
"width": 180
},
{
"id": "QmfyAdToer",
"hide": false,
"width": 169
},
{
"id": "ppQS-BaKNB",
"hide": false,
"width": 200
}
],
"filter": {
"type": "group",
"op": "and",
"conditions": []
}
}
],
"prop:title": [
{
"insert": " 8 books I should finished "
}
],
"prop:cells": {
"lMu_xf4xVF": {
"QmfyAdToer": {
"columnId": "QmfyAdToer",
"value": 87
},
"ppQS-BaKNB": {
"columnId": "ppQS-BaKNB",
"value": ""
},
"scBkEETna6": {
"columnId": "scBkEETna6",
"value": [
{
"insert": "Jennifer Egan"
}
]
}
},
"vFgr3oyqOJ": {
"QmfyAdToer": {
"columnId": "QmfyAdToer",
"value": 100
},
"ppQS-BaKNB": {
"columnId": "ppQS-BaKNB",
"value": null
},
"scBkEETna6": {
"columnId": "scBkEETna6",
"value": [
{
"insert": "Claire-Louise Bennett"
}
]
}
},
"1TYjc-QdZj": {
"QmfyAdToer": {
"columnId": "QmfyAdToer",
"value": 83
},
"ppQS-BaKNB": {
"columnId": "ppQS-BaKNB",
"value": null
},
"scBkEETna6": {
"columnId": "scBkEETna6",
"value": [
{
"insert": "Barbara Kingsolver"
}
]
}
},
"ROpYva-V1J": {
"QmfyAdToer": {
"columnId": "QmfyAdToer",
"value": 60
},
"ppQS-BaKNB": {
"columnId": "ppQS-BaKNB",
"value": null
},
"scBkEETna6": {
"columnId": "scBkEETna6",
"value": [
{
"insert": "Namwali Serpell"
}
]
}
},
"CXTh8uALzr": {
"QmfyAdToer": {
"columnId": "QmfyAdToer",
"value": 21
},
"ppQS-BaKNB": {
"columnId": "ppQS-BaKNB",
"value": null
},
"scBkEETna6": {
"columnId": "scBkEETna6",
"value": [
{
"insert": "Hernan Diaz"
}
]
}
},
"WrMjzOnJH3": {
"QmfyAdToer": {
"columnId": "QmfyAdToer",
"value": 100
},
"ppQS-BaKNB": {
"columnId": "ppQS-BaKNB",
"value": null
},
"scBkEETna6": {
"columnId": "scBkEETna6",
"value": [
{
"insert": "Ed Yong"
}
]
}
},
"R__nq8e75I": {
"ppQS-BaKNB": {
"columnId": "ppQS-BaKNB",
"value": null
},
"scBkEETna6": {
"columnId": "scBkEETna6",
"value": [
{
"insert": "Hua Hsu"
}
]
}
},
"XeJ1gW0QDw": {
"ppQS-BaKNB": {
"columnId": "ppQS-BaKNB",
"value": null
},
"scBkEETna6": {
"columnId": "scBkEETna6",
"value": [
{
"insert": "Rachel Aviv"
}
]
}
}
},
"prop:titleColumnWidth": 361
},
"lMu_xf4xVF": {
"sys:id": "lMu_xf4xVF",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": [
{
"insert": "THE CANDY HOUSE",
"attributes": {
"bold": true
}
}
]
},
"vFgr3oyqOJ": {
"sys:id": "vFgr3oyqOJ",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:text": [
{
"insert": "CHECKOUT 19",
"attributes": {
"bold": true
}
},
{
"insert": " "
}
],
"prop:type": "text"
},
"1TYjc-QdZj": {
"sys:id": "1TYjc-QdZj",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:text": [
{
"insert": " "
},
{
"insert": "DEMON COPPERHEAD",
"attributes": {
"bold": true
}
}
],
"prop:type": "text"
},
"ROpYva-V1J": {
"sys:id": "ROpYva-V1J",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:text": [
{
"insert": "THE FURROWS",
"attributes": {
"bold": true
}
}
],
"prop:type": "text"
},
"CXTh8uALzr": {
"sys:id": "CXTh8uALzr",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:text": [
{
"insert": "TRUST",
"attributes": {
"bold": true
}
},
{
"insert": " "
}
],
"prop:type": "text"
},
"WrMjzOnJH3": {
"sys:id": "WrMjzOnJH3",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": [
{
"insert": "AN IMMENSE WORLD",
"attributes": {
"bold": true
}
},
{
"insert": " "
}
]
},
"R__nq8e75I": {
"sys:id": "R__nq8e75I",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:text": [
{
"insert": "STAY TRUE",
"attributes": {
"bold": true
}
},
{
"insert": " "
}
],
"prop:type": "text"
},
"XeJ1gW0QDw": {
"sys:id": "XeJ1gW0QDw",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:text": [
{
"insert": "STRANGERS TO OURSELVES",
"attributes": {
"bold": true
}
},
{
"insert": " "
}
],
"prop:type": "text"
},
"s7EitB9S6F": {
"sys:id": "s7EitB9S6F",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "quote",
"prop:text": [
{
"insert": "Using a form view, you can clearly list the reading status of all books. This can give you a direct understanding of the overall progress. Make good use of your time and read more books!"
}
]
},
"uZTvHIo1eH": {
"sys:id": "uZTvHIo1eH",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": [
{
"insert": "Using a "
},
{
"insert": "kanban",
"attributes": {
"link": "https://en.wikipedia.org/wiki/Kanban_(development)"
}
},
{
"insert": " system to manage your tasks is a very effective method."
}
]
},
"m7Wa1L5dzo": {
"sys:id": "m7Wa1L5dzo",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": []
},
"gSQczpW-cC": {
"sys:id": "gSQczpW-cC",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": [
{
"insert": "New Task"
}
]
},
"1GiXKFEQTr": {
"sys:id": "1GiXKFEQTr",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": [
{
"insert": "New Task 2"
}
]
},
"YsMF9PplY6": {
"sys:id": "YsMF9PplY6",
"sys:flavour": "affine:list",
"sys:children": [],
"prop:type": "bulleted",
"prop:text": [
{
"insert": "Ungroups",
"attributes": {
"background": "var(--affine-text-highlight-grey)"
}
},
{
"insert": ": Your study task inbox."
}
],
"prop:checked": false
},
"aMVed60Zxh": {
"sys:id": "aMVed60Zxh",
"sys:flavour": "affine:list",
"sys:children": [],
"prop:type": "bulleted",
"prop:text": [
{
"insert": "not started:",
"attributes": {
"background": "var(--affine-text-highlight-orange)"
}
},
{
"insert": " Tasks in your plan that haven't been started yet."
}
],
"prop:checked": false
},
"G_hTd1c1Xr": {
"sys:id": "G_hTd1c1Xr",
"sys:flavour": "affine:list",
"sys:children": [],
"prop:type": "bulleted",
"prop:text": [
{
"insert": "in-progress:",
"attributes": {
"background": "var(--affine-text-highlight-green)"
}
},
{
"insert": " The tasks you are currently working on can have their progress indicated by updating a progress bar to show the approximate completion."
}
],
"prop:checked": false
},
"mcg7ZXEIUL": {
"sys:id": "mcg7ZXEIUL",
"sys:flavour": "affine:list",
"sys:children": [],
"prop:text": [
{
"insert": "finished:",
"attributes": {
"background": "var(--affine-text-highlight-blue)"
}
},
{
"insert": " List the tasks that have been completed. Here, you can easily review what you've learned."
}
],
"prop:type": "bulleted",
"prop:checked": false
},
"0H9dtAEA7G": {
"sys:id": "0H9dtAEA7G",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": []
},
"Bm3PQLWdKK": {
"sys:id": "Bm3PQLWdKK",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:text": [
{
"insert": "📖 Reading list"
}
],
"prop:type": "h3"
},
"ir2DPxrZN9": {
"sys:id": "ir2DPxrZN9",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": []
},
"lfXQ_rY3fA": {
"sys:id": "lfXQ_rY3fA",
"sys:flavour": "affine:divider",
"sys:children": []
},
"NzeIqA5Q6j": {
"sys:id": "NzeIqA5Q6j",
"sys:flavour": "affine:image",
"sys:children": [],
"prop:sourceId": "/static/9vXwWGEX5W9v5pzwpu0eK4pf22DZ_sCloO0zCH1aVQ4=.png",
"prop:caption": "A goal without a plan is just a wish",
"prop:width": 752,
"prop:height": 501.328125
},
"rLuDwMETvq": {
"sys:id": "rLuDwMETvq",
"sys:flavour": "affine:image",
"sys:children": [],
"prop:sourceId": "/static/pIqdA3pM1la1gKzxOmAcpLmTh3yXBrL9mGTz_hGj5xE=.png",
"prop:caption": "Books are a uniquely portable magic",
"prop:width": 752,
"prop:height": 501.328125
},
"n5t18a4pCF": {
"sys:id": "n5t18a4pCF",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:text": [
{
"insert": "📑 Study Plan"
}
],
"prop:type": "h3"
},
"A-XAaszL_S": {
"sys:id": "A-XAaszL_S",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": []
},
"-tH5D5Hf4J": {
"sys:id": "-tH5D5Hf4J",
"sys:flavour": "affine:note",
"sys:children": [
"ir2DPxrZN9",
"Bm3PQLWdKK",
"rLuDwMETvq",
"s7EitB9S6F",
"L0wkiKeVji",
"lfXQ_rY3fA"
],
"prop:background": "--affine-background-secondary-color",
"prop:xywh": "[832.6496028098738,20.093439633665938,800,1296]",
"prop:index": "a01",
"prop:hidden": false
},
"W6M-MPQ5-F": {
"sys:id": "W6M-MPQ5-F",
"sys:flavour": "affine:note",
"sys:children": [
"A-XAaszL_S",
"n5t18a4pCF",
"NzeIqA5Q6j",
"uZTvHIo1eH",
"YsMF9PplY6",
"aMVed60Zxh",
"G_hTd1c1Xr",
"mcg7ZXEIUL",
"0H9dtAEA7G",
"z3JCtDKEnH"
],
"prop:background": "--affine-background-secondary-color",
"prop:xywh": "[-218.38057009913342,20.089515493697448,800,1444]",
"prop:index": "a01",
"prop:hidden": false
}
}
}

View File

@ -1,122 +0,0 @@
{
"blocks": {
"LvRIWQ1EAT": {
"sys:id": "LvRIWQ1EAT",
"sys:flavour": "affine:page",
"sys:children": ["9eBKQxt8ax", "2nHeyqzDMf"],
"prop:title": [
{
"insert": "AFFiNE's Personal project management"
}
]
},
"9eBKQxt8ax": {
"sys:id": "9eBKQxt8ax",
"sys:flavour": "affine:surface",
"sys:children": [],
"prop:elements": {
"type": "$blocksuite:internal:native$",
"value": {}
}
},
"2nHeyqzDMf": {
"sys:id": "2nHeyqzDMf",
"sys:flavour": "affine:note",
"sys:children": ["g0M-Toj8iK", "JpcfJa6HqU", "w9Oyl2J6bd"],
"prop:xywh": "[0,0,800,361]",
"prop:background": "--affine-background-secondary-color",
"prop:index": "a0",
"prop:hidden": false
},
"g0M-Toj8iK": {
"sys:id": "g0M-Toj8iK",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": [
{
"insert": "To-do-list "
}
]
},
"JpcfJa6HqU": {
"sys:id": "JpcfJa6HqU",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": [
{
"insert": "/"
}
]
},
"w9Oyl2J6bd": {
"sys:id": "w9Oyl2J6bd",
"sys:flavour": "affine:database",
"sys:children": ["yP88q8kMa_", "xo7ok9TmO7", "dOQULUJfK6"],
"prop:views": [
{
"id": "zp1yuVbPHH",
"name": "table",
"mode": "table",
"columns": [
{
"id": "uSHvJhR2FN",
"width": 200
}
],
"filter": {
"type": "group",
"op": "and",
"conditions": []
}
}
],
"prop:title": [
{
"insert": "Database"
}
],
"prop:cells": {},
"prop:columns": [
{
"type": "title",
"id": "w9Oyl2J6bd",
"name": "Title",
"data": {}
},
{
"type": "multi-select",
"name": "Tag",
"data": {
"options": []
},
"id": "uSHvJhR2FN"
}
],
"prop:titleColumnName": "Title",
"prop:titleColumnWidth": 185
},
"yP88q8kMa_": {
"sys:id": "yP88q8kMa_",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:text": [],
"prop:type": "text"
},
"xo7ok9TmO7": {
"sys:id": "xo7ok9TmO7",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:text": [],
"prop:type": "text"
},
"dOQULUJfK6": {
"sys:id": "dOQULUJfK6",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:text": [],
"prop:type": "text"
}
}
}

File diff suppressed because it is too large Load Diff

View File

@ -1,152 +0,0 @@
{
"blocks": {
"Tz41kDyemg": {
"sys:id": "Tz41kDyemg",
"sys:flavour": "affine:page",
"sys:children": ["PCxQvHuwt1", "PMY4JPuq4o"],
"prop:title": [
{
"insert": "Templates Galleries "
}
]
},
"PCxQvHuwt1": {
"sys:id": "PCxQvHuwt1",
"sys:flavour": "affine:surface",
"sys:children": [],
"prop:elements": {
"type": "$blocksuite:internal:native$",
"value": {}
}
},
"PMY4JPuq4o": {
"sys:id": "PMY4JPuq4o",
"sys:flavour": "affine:note",
"sys:children": [
"1KJadeDAj-",
"_a8e4OM_PP",
"ndmUz6zEr1",
"yIcapYtWKm",
"gPqHv8Whaq",
"pp12c2slOV",
"VyoH5kUerc",
"XvCeZ-f-ib"
],
"prop:xywh": "[0,0,800,529]",
"prop:background": "--affine-background-secondary-color",
"prop:index": "a0",
"prop:hidden": false
},
"1KJadeDAj-": {
"sys:id": "1KJadeDAj-",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": []
},
"_a8e4OM_PP": {
"sys:id": "_a8e4OM_PP",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": [
{
"insert": "No matter if you're "
},
{
"insert": "organizing your personal life",
"attributes": {
"bold": true
}
},
{
"insert": " or "
},
{
"insert": "getting things done at work",
"attributes": {
"bold": true
}
},
{
"insert": ", our templates galleries have got you covered! "
}
]
},
"ndmUz6zEr1": {
"sys:id": "ndmUz6zEr1",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:text": [
{
"insert": "Here We offer a wide range of resources to meet your unique needs and help you achieve your goals, whether in your personal or professional life."
}
],
"prop:type": "text"
},
"yIcapYtWKm": {
"sys:id": "yIcapYtWKm",
"sys:flavour": "affine:divider",
"sys:children": []
},
"gPqHv8Whaq": {
"sys:id": "gPqHv8Whaq",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "quote",
"prop:text": [
{
"insert": "Tired of managing your notes or coming up with a effient work plan? Whether you're a student, parent, or have diverse interests, here we provide a few templates to kick off your journey and unlock your true potential with AFFiNE and reap incredible benefits."
}
]
},
"pp12c2slOV": {
"sys:id": "pp12c2slOV",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": [
{
"insert": " ",
"attributes": {
"reference": {
"type": "LinkedPage",
"pageId": "7217fbe2-61db-4a91-93c6-ad5c800e5a43"
}
}
},
{
"insert": " "
}
]
},
"VyoH5kUerc": {
"sys:id": "VyoH5kUerc",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "quote",
"prop:text": [
{
"insert": "Staying organized and efficient in a dynamic work environment is essential for today's working people. AFFiNE elevates productivity for project managers, software engineers, and professionals alike. We're excited to provide insights into how AFFiNE transforms work life. "
}
]
},
"XvCeZ-f-ib": {
"sys:id": "XvCeZ-f-ib",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": [
{
"insert": " ",
"attributes": {
"reference": {
"type": "LinkedPage",
"pageId": "6eb43ea8-8c11-456d-bb1d-5193937961ab"
}
}
}
]
}
}
}

View File

@ -1,254 +0,0 @@
{
"blocks": {
"qsMt8nCetT": {
"sys:id": "qsMt8nCetT",
"sys:flavour": "affine:page",
"sys:children": ["yC-F6Rj9bA", "pk_Cjkpyd4"],
"prop:title": [
{
"insert": "Working Home"
}
]
},
"yC-F6Rj9bA": {
"sys:id": "yC-F6Rj9bA",
"sys:flavour": "affine:surface",
"sys:children": [],
"prop:elements": {
"type": "$blocksuite:internal:native$",
"value": {}
}
},
"pk_Cjkpyd4": {
"sys:id": "pk_Cjkpyd4",
"sys:flavour": "affine:note",
"sys:children": [
"IAOXx-DBBz",
"5hR-BR03ms",
"zVgCQKWH-c",
"ym2g48zSU_",
"o1UyrWV30t",
"1EUiH1t60b",
"HmzMXKFaci",
"v5CGQQPDrt",
"lcf4te4rxB",
"AbN8iFn0RW",
"uXdWxSSWgl",
"TBjwPij8cJ",
"mjgDUguqmV",
"c_gX1ik0kK",
"IU3gGmIffA",
"LnERZXy0xj",
"oi0BxPtiit",
"DuRxwNJe2w"
],
"prop:xywh": "[0,0,800,939]",
"prop:background": "--affine-background-secondary-color",
"prop:index": "a0",
"prop:hidden": false
},
"IAOXx-DBBz": {
"sys:id": "IAOXx-DBBz",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": []
},
"5hR-BR03ms": {
"sys:id": "5hR-BR03ms",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": [
{
"insert": " ",
"attributes": {
"reference": {
"type": "LinkedPage",
"pageId": "b7a9e1bc-e205-44aa-8dad-7e328269d00b"
}
}
}
]
},
"zVgCQKWH-c": {
"sys:id": "zVgCQKWH-c",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "quote",
"prop:text": [
{
"insert": "This "
},
{
"insert": "Annual Performance Review template",
"attributes": {
"bold": true
}
},
{
"insert": " is ideal for businesses seeking a structured and comprehensive approach to evaluating employee performance. By utilizing this template, you will gain clarity on individual strengths and areas for improvement, fostering effective communication and driving professional growth within your organization."
}
]
},
"ym2g48zSU_": {
"sys:id": "ym2g48zSU_",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": []
},
"o1UyrWV30t": {
"sys:id": "o1UyrWV30t",
"sys:flavour": "affine:divider",
"sys:children": []
},
"1EUiH1t60b": {
"sys:id": "1EUiH1t60b",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": [
{
"insert": " ",
"attributes": {
"reference": {
"type": "LinkedPage",
"pageId": "0350509d-8702-4797-b4d7-168f5e9359c7"
}
}
}
]
},
"HmzMXKFaci": {
"sys:id": "HmzMXKFaci",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "quote",
"prop:text": [
{
"insert": "Meeting minutes are an official record of a meeting",
"attributes": {
"bold": true
}
},
{
"insert": " for its participants. They're also sources of information for teammates who were unable to attend."
}
]
},
"v5CGQQPDrt": {
"sys:id": "v5CGQQPDrt",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": []
},
"AbN8iFn0RW": {
"sys:id": "AbN8iFn0RW",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": []
},
"lcf4te4rxB": {
"sys:id": "lcf4te4rxB",
"sys:flavour": "affine:divider",
"sys:children": []
},
"IU3gGmIffA": {
"sys:id": "IU3gGmIffA",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": []
},
"c_gX1ik0kK": {
"sys:id": "c_gX1ik0kK",
"sys:flavour": "affine:divider",
"sys:children": []
},
"uXdWxSSWgl": {
"sys:id": "uXdWxSSWgl",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": [
{
"insert": " ",
"attributes": {
"reference": {
"type": "LinkedPage",
"pageId": "aa02af3c-5c5c-4856-b7ce-947ad17331f3"
}
}
}
]
},
"TBjwPij8cJ": {
"sys:id": "TBjwPij8cJ",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "quote",
"prop:text": [
{
"insert": "Maximize your team's performance and drive goal-oriented success with our extensive collection of "
},
{
"insert": "OKR templates",
"attributes": {
"bold": true
}
},
{
"insert": ", specifically crafted to facilitate effective objective setting, key result tracking, and overall performance improvement."
}
]
},
"mjgDUguqmV": {
"sys:id": "mjgDUguqmV",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": []
},
"LnERZXy0xj": {
"sys:id": "LnERZXy0xj",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": [
{
"insert": "🔔Reminder: Click the "
},
{
"insert": "+New page ",
"attributes": {
"bold": true
}
},
{
"insert": "to start your journey in AFFiNE "
}
]
},
"oi0BxPtiit": {
"sys:id": "oi0BxPtiit",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": [
{
"insert": "✏Unleash your creativity and elevate your work efficiency to new heights by customizing templates that perfectly align with your unique needs and objectives."
}
]
},
"DuRxwNJe2w": {
"sys:id": "DuRxwNJe2w",
"sys:flavour": "affine:paragraph",
"sys:children": [],
"prop:type": "text",
"prop:text": []
}
}
}

View File

@ -8,15 +8,12 @@ import {
clickDatePicker,
createFirstFilter,
createPageWithTag,
fillDatePicker,
getPagesCount,
selectDateFromDatePicker,
selectMonthFromMonthPicker,
selectTag,
} from '@affine-test/kit/utils/filter';
import { openHomePage } from '@affine-test/kit/utils/load-page';
import {
clickNewPageButton,
getBlockSuiteEditorTitle,
waitForAllPagesLoad,
waitForEditorLoad,
@ -85,66 +82,6 @@ test('allow creation of filters by favorite', async ({ page }) => {
);
});
test('allow creation of filters by created time', async ({ page }) => {
await openHomePage(page);
await waitForEditorLoad(page);
await clickNewPageButton(page);
await clickSideBarAllPageButton(page);
await waitForAllPagesLoad(page);
const pageCount = await getPagesCount(page);
expect(pageCount).not.toBe(0);
await createFirstFilter(page, 'Created');
await checkFilterName(page, 'after');
// init date
const yesterday = new Date();
yesterday.setDate(yesterday.getDate() - 1);
await checkDatePicker(page, yesterday);
expect(await getPagesCount(page)).toBe(1);
// change date
const today = new Date();
await fillDatePicker(page, today);
expect(await getPagesCount(page)).toBe(0);
// change filter
await page.getByTestId('filter-name').click();
await page.getByTestId('filler-tag-before').click();
const tomorrow = new Date();
tomorrow.setDate(tomorrow.getDate() + 1);
await fillDatePicker(page, tomorrow);
await checkDatePicker(page, tomorrow);
expect(await getPagesCount(page)).toBe(pageCount);
});
test('creation of filters by created time, then click date picker to modify the date', async ({
page,
}) => {
await openHomePage(page);
await waitForEditorLoad(page);
await clickNewPageButton(page);
await clickSideBarAllPageButton(page);
await waitForAllPagesLoad(page);
const pageCount = await getPagesCount(page);
expect(pageCount).not.toBe(0);
await createFirstFilter(page, 'Created');
await checkFilterName(page, 'after');
// init date
const yesterday = new Date();
yesterday.setDate(yesterday.getDate() - 1);
await checkDatePicker(page, yesterday);
expect(await getPagesCount(page)).toBe(1);
// change date
const today = new Date();
await selectDateFromDatePicker(page, today);
expect(await getPagesCount(page)).toBe(0);
// change filter
await page.locator('[data-testid="filter-name"]').click();
await page.getByTestId('filler-tag-before').click();
const tomorrow = new Date();
tomorrow.setDate(tomorrow.getDate() + 1);
await selectDateFromDatePicker(page, tomorrow);
await checkDatePicker(page, tomorrow);
expect(await getPagesCount(page)).toBe(pageCount);
});
test('use monthpicker to modify the month of datepicker', async ({ page }) => {
await openHomePage(page);
await waitForEditorLoad(page);

View File

@ -13,21 +13,33 @@ import { createLocalWorkspace } from '@affine-test/kit/utils/workspace';
import type { Page } from '@playwright/test';
import { expect } from '@playwright/test';
const removeOnboardingPages = async (page: Page) => {
await page.getByTestId('all-pages').click();
await page.getByTestId('page-list-header-selection-checkbox').click();
// click again to select all
await page.getByTestId('page-list-header-selection-checkbox').click();
await page.getByTestId('page-list-toolbar-delete').click();
// confirm delete
await page.getByTestId('confirm-delete-page').click();
};
test.beforeEach(async ({ page }) => {
await openHomePage(page);
await waitForEditorLoad(page);
});
const createAndPinCollection = async (
page: Page,
options?: {
collectionName?: string;
skipInitialPage?: boolean;
}
) => {
if (!options?.skipInitialPage) {
await openHomePage(page);
await waitForEditorLoad(page);
}
await clickNewPageButton(page);
await getBlockSuiteEditorTitle(page).click();
await getBlockSuiteEditorTitle(page).fill('test page');
await page.getByTestId('all-pages').click();
const cell = page.getByTestId('page-list-item-title').getByText('test page');
await expect(cell).toBeVisible();
await page.getByTestId('create-first-filter').click({
@ -50,6 +62,7 @@ const createAndPinCollection = async (
};
test('Show collections items in sidebar', async ({ page }) => {
await removeOnboardingPages(page);
await createAndPinCollection(page);
const collections = page.getByTestId('collections');
const items = collections.getByTestId('collection-item');
@ -73,9 +86,7 @@ test('Show collections items in sidebar', async ({ page }) => {
await deleteCollection.click();
await page.waitForTimeout(50);
expect(await items.count()).toBe(0);
await createAndPinCollection(page, {
skipInitialPage: true,
});
await createAndPinCollection(page);
expect(await items.count()).toBe(1);
await clickSideBarAllPageButton(page);
await createLocalWorkspace(
@ -91,6 +102,7 @@ test('Show collections items in sidebar', async ({ page }) => {
});
test('edit collection', async ({ page }) => {
await removeOnboardingPages(page);
await createAndPinCollection(page);
const collections = page.getByTestId('collections');
const items = collections.getByTestId('collection-item');
@ -107,6 +119,7 @@ test('edit collection', async ({ page }) => {
});
test('edit collection and change filter date', async ({ page }) => {
await removeOnboardingPages(page);
await createAndPinCollection(page);
const collections = page.getByTestId('collections');
const items = collections.getByTestId('collection-item');
@ -125,8 +138,6 @@ test('edit collection and change filter date', async ({ page }) => {
});
test('create temporary filter by click tag', async ({ page }) => {
await openHomePage(page);
await waitForEditorLoad(page);
await clickNewPageButton(page);
await getBlockSuiteEditorTitle(page).click();
await getBlockSuiteEditorTitle(page).fill('test page');
@ -148,8 +159,7 @@ test('create temporary filter by click tag', async ({ page }) => {
});
test('add collection from sidebar', async ({ page }) => {
await openHomePage(page);
await waitForEditorLoad(page);
await removeOnboardingPages(page);
await clickNewPageButton(page);
await getBlockSuiteEditorTitle(page).click();
await getBlockSuiteEditorTitle(page).fill('test page');

View File

@ -435,7 +435,6 @@ __metadata:
"@affine-test/kit": "workspace:*"
"@affine/env": "workspace:*"
"@affine/native": "workspace:*"
"@affine/templates": "workspace:*"
"@blocksuite/blocks": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/lit": "npm:0.11.0-nightly-202312220916-e3abcbb"
"@blocksuite/presets": "npm:0.11.0-nightly-202312220916-e3abcbb"