From 4a23c57b615c4c32ed5d96f3fdc911b463511821 Mon Sep 17 00:00:00 2001
From: Onur Solmaz <2453968+osolmaz@users.noreply.github.com>
Date: Wed, 21 Aug 2024 19:49:03 +0200
Subject: [PATCH 01/45] Add converter script from Markdownify
---
jsondoc/convert/__init__.py | 0
jsondoc/convert/html.py | 470 ++++++++++++++++++++++++++++++++++++
2 files changed, 470 insertions(+)
create mode 100644 jsondoc/convert/__init__.py
create mode 100644 jsondoc/convert/html.py
diff --git a/jsondoc/convert/__init__.py b/jsondoc/convert/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/jsondoc/convert/html.py b/jsondoc/convert/html.py
new file mode 100644
index 0000000..b96a9ce
--- /dev/null
+++ b/jsondoc/convert/html.py
@@ -0,0 +1,470 @@
+from bs4 import BeautifulSoup, NavigableString, Comment, Doctype
+from textwrap import fill
+import re
+import six
+
+
+convert_heading_re = re.compile(r"convert_h(\d+)")
+line_beginning_re = re.compile(r"^", re.MULTILINE)
+whitespace_re = re.compile(r"[\t ]+")
+all_whitespace_re = re.compile(r"[\s]+")
+html_heading_re = re.compile(r"h[1-6]")
+
+
+# Heading styles
+ATX = "atx"
+ATX_CLOSED = "atx_closed"
+UNDERLINED = "underlined"
+SETEXT = UNDERLINED
+
+# Newline style
+SPACES = "spaces"
+BACKSLASH = "backslash"
+
+# Strong and emphasis style
+ASTERISK = "*"
+UNDERSCORE = "_"
+
+
+def chomp(text):
+ """
+ If the text in an inline tag like b, a, or em contains a leading or trailing
+ space, strip the string and return a space as suffix of prefix, if needed.
+ This function is used to prevent conversions like
+ foo => ** foo**
+ """
+ prefix = " " if text and text[0] == " " else ""
+ suffix = " " if text and text[-1] == " " else ""
+ text = text.strip()
+ return (prefix, suffix, text)
+
+
+def abstract_inline_conversion(markup_fn):
+ """
+ This abstracts all simple inline tags like b, em, del, ...
+ Returns a function that wraps the chomped text in a pair of the string
+ that is returned by markup_fn, with '/' inserted in the string used after
+ the text if it looks like an HTML tag. markup_fn is necessary to allow for
+ references to self.strong_em_symbol etc.
+ """
+
+ def implementation(self, el, text, convert_as_inline):
+ markup_prefix = markup_fn(self)
+ if markup_prefix.startswith("<") and markup_prefix.endswith(">"):
+ markup_suffix = "" + markup_prefix[1:]
+ else:
+ markup_suffix = markup_prefix
+ if el.find_parent(["pre", "code", "kbd", "samp"]):
+ return text
+ prefix, suffix, text = chomp(text)
+ if not text:
+ return ""
+ return "%s%s%s%s%s" % (prefix, markup_prefix, text, markup_suffix, suffix)
+
+ return implementation
+
+
+def _todict(obj):
+ return dict((k, getattr(obj, k)) for k in dir(obj) if not k.startswith("_"))
+
+
+class HtmlToJsonDocConverter(object):
+ class DefaultOptions:
+ autolinks = True
+ bullets = "*+-" # An iterable of bullet types.
+ code_language = ""
+ code_language_callback = None
+ convert = None
+ default_title = False
+ escape_asterisks = True
+ escape_underscores = True
+ escape_misc = True
+ heading_style = UNDERLINED
+ keep_inline_images_in = []
+ newline_style = SPACES
+ strip = None
+ strong_em_symbol = ASTERISK
+ sub_symbol = ""
+ sup_symbol = ""
+ wrap = False
+ wrap_width = 80
+
+ class Options(DefaultOptions):
+ pass
+
+ def __init__(self, **options):
+ # Create an options dictionary. Use DefaultOptions as a base so that
+ # it doesn't have to be extended.
+ self.options = _todict(self.DefaultOptions)
+ self.options.update(_todict(self.Options))
+ self.options.update(options)
+ if self.options["strip"] is not None and self.options["convert"] is not None:
+ raise ValueError(
+ "You may specify either tags to strip or tags to"
+ " convert, but not both."
+ )
+
+ def convert(self, html):
+ soup = BeautifulSoup(html, "html.parser")
+ return self.convert_soup(soup)
+
+ def convert_soup(self, soup):
+ return self.process_tag(soup, convert_as_inline=False, children_only=True)
+
+ def process_tag(self, node, convert_as_inline, children_only=False):
+ text = ""
+
+ # markdown headings or cells can't include
+ # block elements (elements w/newlines)
+ isHeading = html_heading_re.match(node.name) is not None
+ isCell = node.name in ["td", "th"]
+ convert_children_as_inline = convert_as_inline
+
+ if not children_only and (isHeading or isCell):
+ convert_children_as_inline = True
+
+ # Remove whitespace-only textnodes in purely nested nodes
+ def is_nested_node(el):
+ return el and el.name in [
+ "ol",
+ "ul",
+ "li",
+ "table",
+ "thead",
+ "tbody",
+ "tfoot",
+ "tr",
+ "td",
+ "th",
+ ]
+
+ if is_nested_node(node):
+ for el in node.children:
+ # Only extract (remove) whitespace-only text node if any of the
+ # conditions is true:
+ # - el is the first element in its parent
+ # - el is the last element in its parent
+ # - el is adjacent to an nested node
+ can_extract = (
+ not el.previous_sibling
+ or not el.next_sibling
+ or is_nested_node(el.previous_sibling)
+ or is_nested_node(el.next_sibling)
+ )
+ if (
+ isinstance(el, NavigableString)
+ and six.text_type(el).strip() == ""
+ and can_extract
+ ):
+ el.extract()
+
+ # Convert the children first
+ for el in node.children:
+ if isinstance(el, Comment) or isinstance(el, Doctype):
+ continue
+ elif isinstance(el, NavigableString):
+ text += self.process_text(el)
+ else:
+ text += self.process_tag(el, convert_children_as_inline)
+
+ if not children_only:
+ convert_fn = getattr(self, "convert_%s" % node.name, None)
+ if convert_fn and self.should_convert_tag(node.name):
+ text = convert_fn(node, text, convert_as_inline)
+
+ return text
+
+ def process_text(self, el):
+ text = six.text_type(el) or ""
+
+ # normalize whitespace if we're not inside a preformatted element
+ if not el.find_parent("pre"):
+ text = whitespace_re.sub(" ", text)
+
+ # escape special characters if we're not inside a preformatted or code element
+ if not el.find_parent(["pre", "code", "kbd", "samp"]):
+ text = self.escape(text)
+
+ # remove trailing whitespaces if any of the following condition is true:
+ # - current text node is the last node in li
+ # - current text node is followed by an embedded list
+ if el.parent.name == "li" and (
+ not el.next_sibling or el.next_sibling.name in ["ul", "ol"]
+ ):
+ text = text.rstrip()
+
+ return text
+
+ def __getattr__(self, attr):
+ # Handle headings
+ m = convert_heading_re.match(attr)
+ if m:
+ n = int(m.group(1))
+
+ def convert_tag(el, text, convert_as_inline):
+ return self.convert_hn(n, el, text, convert_as_inline)
+
+ convert_tag.__name__ = "convert_h%s" % n
+ setattr(self, convert_tag.__name__, convert_tag)
+ return convert_tag
+
+ raise AttributeError(attr)
+
+ def should_convert_tag(self, tag):
+ tag = tag.lower()
+ strip = self.options["strip"]
+ convert = self.options["convert"]
+ if strip is not None:
+ return tag not in strip
+ elif convert is not None:
+ return tag in convert
+ else:
+ return True
+
+ def escape(self, text):
+ if not text:
+ return ""
+ if self.options["escape_misc"]:
+ text = re.sub(r"([\\&<`[>~#=+|-])", r"\\\1", text)
+ text = re.sub(r"([0-9])([.)])", r"\1\\\2", text)
+ if self.options["escape_asterisks"]:
+ text = text.replace("*", r"\*")
+ if self.options["escape_underscores"]:
+ text = text.replace("_", r"\_")
+ return text
+
+ def indent(self, text, level):
+ return line_beginning_re.sub("\t" * level, text) if text else ""
+
+ def underline(self, text, pad_char):
+ text = (text or "").rstrip()
+ return "%s\n%s\n\n" % (text, pad_char * len(text)) if text else ""
+
+ def convert_a(self, el, text, convert_as_inline):
+ prefix, suffix, text = chomp(text)
+ if not text:
+ return ""
+ href = el.get("href")
+ title = el.get("title")
+ # For the replacement see #29: text nodes underscores are escaped
+ if (
+ self.options["autolinks"]
+ and text.replace(r"\_", "_") == href
+ and not title
+ and not self.options["default_title"]
+ ):
+ # Shortcut syntax
+ return "<%s>" % href
+ if self.options["default_title"] and not title:
+ title = href
+ title_part = ' "%s"' % title.replace('"', r"\"") if title else ""
+ return (
+ "%s[%s](%s%s)%s" % (prefix, text, href, title_part, suffix)
+ if href
+ else text
+ )
+
+ convert_b = abstract_inline_conversion(
+ lambda self: 2 * self.options["strong_em_symbol"]
+ )
+
+ def convert_blockquote(self, el, text, convert_as_inline):
+
+ if convert_as_inline:
+ return text
+
+ return (
+ "\n" + (line_beginning_re.sub("> ", text.strip()) + "\n\n") if text else ""
+ )
+
+ def convert_br(self, el, text, convert_as_inline):
+ if convert_as_inline:
+ return ""
+
+ if self.options["newline_style"].lower() == BACKSLASH:
+ return "\\\n"
+ else:
+ return " \n"
+
+ def convert_code(self, el, text, convert_as_inline):
+ if el.parent.name == "pre":
+ return text
+ converter = abstract_inline_conversion(lambda self: "`")
+ return converter(self, el, text, convert_as_inline)
+
+ convert_del = abstract_inline_conversion(lambda self: "~~")
+
+ convert_em = abstract_inline_conversion(
+ lambda self: self.options["strong_em_symbol"]
+ )
+
+ convert_kbd = convert_code
+
+ def convert_hn(self, n, el, text, convert_as_inline):
+ if convert_as_inline:
+ return text
+
+ style = self.options["heading_style"].lower()
+ text = text.strip()
+ if style == UNDERLINED and n <= 2:
+ line = "=" if n == 1 else "-"
+ return self.underline(text, line)
+ hashes = "#" * n
+ if style == ATX_CLOSED:
+ return "%s %s %s\n\n" % (hashes, text, hashes)
+ return "%s %s\n\n" % (hashes, text)
+
+ def convert_hr(self, el, text, convert_as_inline):
+ return "\n\n---\n\n"
+
+ convert_i = convert_em
+
+ def convert_img(self, el, text, convert_as_inline):
+ alt = el.attrs.get("alt", None) or ""
+ src = el.attrs.get("src", None) or ""
+ title = el.attrs.get("title", None) or ""
+ title_part = ' "%s"' % title.replace('"', r"\"") if title else ""
+ if (
+ convert_as_inline
+ and el.parent.name not in self.options["keep_inline_images_in"]
+ ):
+ return alt
+
+ return "" % (alt, src, title_part)
+
+ def convert_list(self, el, text, convert_as_inline):
+
+ # Converting a list to inline is undefined.
+ # Ignoring convert_to_inline for list.
+
+ nested = False
+ before_paragraph = False
+ if el.next_sibling and el.next_sibling.name not in ["ul", "ol"]:
+ before_paragraph = True
+ while el:
+ if el.name == "li":
+ nested = True
+ break
+ el = el.parent
+ if nested:
+ # remove trailing newline if nested
+ return "\n" + self.indent(text, 1).rstrip()
+ return text + ("\n" if before_paragraph else "")
+
+ convert_ul = convert_list
+ convert_ol = convert_list
+
+ def convert_li(self, el, text, convert_as_inline):
+ parent = el.parent
+ if parent is not None and parent.name == "ol":
+ if parent.get("start") and str(parent.get("start")).isnumeric():
+ start = int(parent.get("start"))
+ else:
+ start = 1
+ bullet = "%s." % (start + parent.index(el))
+ else:
+ depth = -1
+ while el:
+ if el.name == "ul":
+ depth += 1
+ el = el.parent
+ bullets = self.options["bullets"]
+ bullet = bullets[depth % len(bullets)]
+ return "%s %s\n" % (bullet, (text or "").strip())
+
+ def convert_p(self, el, text, convert_as_inline):
+ if convert_as_inline:
+ return text
+ if self.options["wrap"]:
+ text = fill(
+ text,
+ width=self.options["wrap_width"],
+ break_long_words=False,
+ break_on_hyphens=False,
+ )
+ return "%s\n\n" % text if text else ""
+
+ def convert_pre(self, el, text, convert_as_inline):
+ if not text:
+ return ""
+ code_language = self.options["code_language"]
+
+ if self.options["code_language_callback"]:
+ code_language = self.options["code_language_callback"](el) or code_language
+
+ return "\n```%s\n%s\n```\n" % (code_language, text)
+
+ def convert_script(self, el, text, convert_as_inline):
+ return ""
+
+ def convert_style(self, el, text, convert_as_inline):
+ return ""
+
+ convert_s = convert_del
+
+ convert_strong = convert_b
+
+ convert_samp = convert_code
+
+ convert_sub = abstract_inline_conversion(lambda self: self.options["sub_symbol"])
+
+ convert_sup = abstract_inline_conversion(lambda self: self.options["sup_symbol"])
+
+ def convert_table(self, el, text, convert_as_inline):
+ return "\n\n" + text + "\n"
+
+ def convert_caption(self, el, text, convert_as_inline):
+ return text + "\n"
+
+ def convert_figcaption(self, el, text, convert_as_inline):
+ return "\n\n" + text + "\n\n"
+
+ def convert_td(self, el, text, convert_as_inline):
+ colspan = 1
+ if "colspan" in el.attrs and el["colspan"].isdigit():
+ colspan = int(el["colspan"])
+ return " " + text.strip().replace("\n", " ") + " |" * colspan
+
+ def convert_th(self, el, text, convert_as_inline):
+ colspan = 1
+ if "colspan" in el.attrs and el["colspan"].isdigit():
+ colspan = int(el["colspan"])
+ return " " + text.strip().replace("\n", " ") + " |" * colspan
+
+ def convert_tr(self, el, text, convert_as_inline):
+ cells = el.find_all(["td", "th"])
+ is_headrow = (
+ all([cell.name == "th" for cell in cells])
+ or (not el.previous_sibling and not el.parent.name == "tbody")
+ or (
+ not el.previous_sibling
+ and el.parent.name == "tbody"
+ and len(el.parent.parent.find_all(["thead"])) < 1
+ )
+ )
+ overline = ""
+ underline = ""
+ if is_headrow and not el.previous_sibling:
+ # first row and is headline: print headline underline
+ full_colspan = 0
+ for cell in cells:
+ if "colspan" in cell.attrs and cell["colspan"].isdigit():
+ full_colspan += int(cell["colspan"])
+ else:
+ full_colspan += 1
+ underline += "| " + " | ".join(["---"] * full_colspan) + " |" + "\n"
+ elif not el.previous_sibling and (
+ el.parent.name == "table"
+ or (el.parent.name == "tbody" and not el.parent.previous_sibling)
+ ):
+ # first row, not headline, and:
+ # - the parent is table or
+ # - the parent is tbody at the beginning of a table.
+ # print empty headline above this row
+ overline += "| " + " | ".join([""] * len(cells)) + " |" + "\n"
+ overline += "| " + " | ".join(["---"] * len(cells)) + " |" + "\n"
+ return overline + "|" + text + "\n" + underline
+
+
+def html_to_jsondoc(html, **options):
+ return HtmlToJsonDocConverter(**options).convert(html)
From da4c811f5db08ddb0779729ee5acdb72703d48b2 Mon Sep 17 00:00:00 2001
From: Onur Solmaz <2453968+osolmaz@users.noreply.github.com>
Date: Tue, 3 Sep 2024 17:55:57 +0200
Subject: [PATCH 02/45] Add HTML example
---
examples/html_all_elements.html | 467 ++++++++++++++++++++++++++++++++
1 file changed, 467 insertions(+)
create mode 100644 examples/html_all_elements.html
diff --git a/examples/html_all_elements.html b/examples/html_all_elements.html
new file mode 100644
index 0000000..956af06
--- /dev/null
+++ b/examples/html_all_elements.html
@@ -0,0 +1,467 @@
+
+
+
+
+
-
+
+
/Sites/html master ☠ ☢
$ ls -gto
@@ -406,7 +423,7 @@ Random Stuff
Tables
-
- This is a caption for a table
+
+ This is a caption for a table
+
ID |
@@ -464,4 +483,3 @@ Footer
-
From f5aff3bbfc73c1dcd0f37dc56435dd7a28fcb76c Mon Sep 17 00:00:00 2001
From: Onur Solmaz <2453968+osolmaz@users.noreply.github.com>
Date: Tue, 3 Sep 2024 18:08:23 +0200
Subject: [PATCH 04/45] Add html converstion test, wip
---
examples/{ => html}/html_all_elements.html | 0
examples/{ => notion}/notion_example_page1.json | 0
examples/{ => notion}/notion_example_page2.json | 0
examples/{ => notion}/notion_example_page3.json | 0
examples/{ => notion}/notion_fetch_page.py | 0
tests/test_html_to_jsondoc.py | 14 ++++++++++++++
6 files changed, 14 insertions(+)
rename examples/{ => html}/html_all_elements.html (100%)
rename examples/{ => notion}/notion_example_page1.json (100%)
rename examples/{ => notion}/notion_example_page2.json (100%)
rename examples/{ => notion}/notion_example_page3.json (100%)
rename examples/{ => notion}/notion_fetch_page.py (100%)
create mode 100644 tests/test_html_to_jsondoc.py
diff --git a/examples/html_all_elements.html b/examples/html/html_all_elements.html
similarity index 100%
rename from examples/html_all_elements.html
rename to examples/html/html_all_elements.html
diff --git a/examples/notion_example_page1.json b/examples/notion/notion_example_page1.json
similarity index 100%
rename from examples/notion_example_page1.json
rename to examples/notion/notion_example_page1.json
diff --git a/examples/notion_example_page2.json b/examples/notion/notion_example_page2.json
similarity index 100%
rename from examples/notion_example_page2.json
rename to examples/notion/notion_example_page2.json
diff --git a/examples/notion_example_page3.json b/examples/notion/notion_example_page3.json
similarity index 100%
rename from examples/notion_example_page3.json
rename to examples/notion/notion_example_page3.json
diff --git a/examples/notion_fetch_page.py b/examples/notion/notion_fetch_page.py
similarity index 100%
rename from examples/notion_fetch_page.py
rename to examples/notion/notion_fetch_page.py
diff --git a/tests/test_html_to_jsondoc.py b/tests/test_html_to_jsondoc.py
new file mode 100644
index 0000000..f0f5cb9
--- /dev/null
+++ b/tests/test_html_to_jsondoc.py
@@ -0,0 +1,14 @@
+from jsondoc.convert.html import html_to_jsondoc
+
+def test_convert_html_all_elements():
+ path = "examples/html/html_all_elements.html"
+
+ content = open(path, "r").read()
+
+ ret = html_to_jsondoc(content)
+
+ import ipdb; ipdb.set_trace()
+
+
+if __name__ == "__main__":
+ test_convert_html_all_elements()
\ No newline at end of file
From 833b623766eed1e5f8dc1daef7fafb3b75cba701 Mon Sep 17 00:00:00 2001
From: Onur Solmaz <2453968+osolmaz@users.noreply.github.com>
Date: Tue, 3 Sep 2024 18:26:00 +0200
Subject: [PATCH 05/45] Add nested paragraphs
---
examples/notion/notion_example_page3.json | 724 +++-
schema/page/ex1_success.json | 4052 ++++++++++++++++++++-
schema/page/ex2_success.json | 3363 +----------------
tests/run_serialization_tests.py | 2 +-
4 files changed, 4772 insertions(+), 3369 deletions(-)
diff --git a/examples/notion/notion_example_page3.json b/examples/notion/notion_example_page3.json
index b9dbf25..b957d3a 100644
--- a/examples/notion/notion_example_page3.json
+++ b/examples/notion/notion_example_page3.json
@@ -1,6 +1,6 @@
{
"id": "8d7dbc6b5c554589826c1352450db04e",
- "type": "page",
+ "object": "page",
"properties": {
"title": {
"id": "title",
@@ -80,7 +80,7 @@
"page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
},
"created_time": "2024-05-28T20:27:00.000Z",
- "last_edited_time": "2024-05-28T20:27:00.000Z",
+ "last_edited_time": "2024-09-03T16:20:00.000Z",
"created_by": {
"object": "user",
"id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
@@ -116,6 +116,720 @@
"color": "default"
}
},
+ {
+ "object": "block",
+ "id": "8ca44ada-7f26-4f9d-b6dd-f336e64ee714",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-09-03T16:20:00.000Z",
+ "last_edited_time": "2024-09-03T16:20:00.000Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [],
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "c4c4d5cf-7358-4f1e-a8d5-0b433b1cce35",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-09-03T16:20:00.000Z",
+ "last_edited_time": "2024-09-03T16:20:00.000Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": true,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Top level paragraph",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Top level paragraph",
+ "href": null
+ }
+ ],
+ "color": "default"
+ },
+ "children": [
+ {
+ "object": "block",
+ "id": "91044001-e5e3-4165-bca0-90eae8eedd5e",
+ "parent": {
+ "type": "block_id",
+ "block_id": "c4c4d5cf-7358-4f1e-a8d5-0b433b1cce35"
+ },
+ "created_time": "2024-09-03T16:19:00.000Z",
+ "last_edited_time": "2024-09-03T16:20:00.000Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": true,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Subparagraph level 1",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Subparagraph level 1",
+ "href": null
+ }
+ ],
+ "color": "default"
+ },
+ "children": [
+ {
+ "object": "block",
+ "id": "c0302421-6a1f-461d-8a56-91e585fb5e54",
+ "parent": {
+ "type": "block_id",
+ "block_id": "91044001-e5e3-4165-bca0-90eae8eedd5e"
+ },
+ "created_time": "2024-09-03T16:19:00.000Z",
+ "last_edited_time": "2024-09-03T16:19:00.000Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": true,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Subparagraph level 2",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Subparagraph level 2",
+ "href": null
+ }
+ ],
+ "color": "default"
+ },
+ "children": [
+ {
+ "object": "block",
+ "id": "37113c94-4284-470c-8177-c1ed49dff264",
+ "parent": {
+ "type": "block_id",
+ "block_id": "c0302421-6a1f-461d-8a56-91e585fb5e54"
+ },
+ "created_time": "2024-09-03T16:19:00.000Z",
+ "last_edited_time": "2024-09-03T16:19:00.000Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": true,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Subparagraph level 3",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Subparagraph level 3",
+ "href": null
+ }
+ ],
+ "color": "default"
+ },
+ "children": [
+ {
+ "object": "block",
+ "id": "87c5c1bb-de05-495c-8e97-86a17906b87d",
+ "parent": {
+ "type": "block_id",
+ "block_id": "37113c94-4284-470c-8177-c1ed49dff264"
+ },
+ "created_time": "2024-09-03T16:19:00.000Z",
+ "last_edited_time": "2024-09-03T16:19:00.000Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": true,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Subparagraph level 4",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Subparagraph level 4",
+ "href": null
+ }
+ ],
+ "color": "default"
+ },
+ "children": [
+ {
+ "object": "block",
+ "id": "42adb363-d88f-4b51-b611-47a2b99157cd",
+ "parent": {
+ "type": "block_id",
+ "block_id": "87c5c1bb-de05-495c-8e97-86a17906b87d"
+ },
+ "created_time": "2024-09-03T16:19:00.000Z",
+ "last_edited_time": "2024-09-03T16:19:00.000Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": true,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Subparagraph level 5",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Subparagraph level 5",
+ "href": null
+ }
+ ],
+ "color": "default"
+ },
+ "children": [
+ {
+ "object": "block",
+ "id": "58acde88-f2ab-400c-8d01-0f24b588b027",
+ "parent": {
+ "type": "block_id",
+ "block_id": "42adb363-d88f-4b51-b611-47a2b99157cd"
+ },
+ "created_time": "2024-09-03T16:19:00.000Z",
+ "last_edited_time": "2024-09-03T16:19:00.000Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": true,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Subparagraph level 6",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Subparagraph level 6",
+ "href": null
+ }
+ ],
+ "color": "default"
+ },
+ "children": [
+ {
+ "object": "block",
+ "id": "bda4b6b0-cc82-49ed-81c1-2da3fe441c81",
+ "parent": {
+ "type": "block_id",
+ "block_id": "58acde88-f2ab-400c-8d01-0f24b588b027"
+ },
+ "created_time": "2024-09-03T16:19:00.000Z",
+ "last_edited_time": "2024-09-03T16:19:00.000Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": true,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Subparagraph level 7",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Subparagraph level 7",
+ "href": null
+ }
+ ],
+ "color": "default"
+ },
+ "children": [
+ {
+ "object": "block",
+ "id": "6560eb26-64a3-42b3-adfe-598a9d70b4d3",
+ "parent": {
+ "type": "block_id",
+ "block_id": "bda4b6b0-cc82-49ed-81c1-2da3fe441c81"
+ },
+ "created_time": "2024-09-03T16:19:00.000Z",
+ "last_edited_time": "2024-09-03T16:19:00.000Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": true,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Subparagraph level 8",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Subparagraph level 8",
+ "href": null
+ }
+ ],
+ "color": "default"
+ },
+ "children": [
+ {
+ "object": "block",
+ "id": "0158d0ea-5a3d-4a77-aa88-10aed4fc5d69",
+ "parent": {
+ "type": "block_id",
+ "block_id": "6560eb26-64a3-42b3-adfe-598a9d70b4d3"
+ },
+ "created_time": "2024-09-03T16:19:00.000Z",
+ "last_edited_time": "2024-09-03T16:19:00.000Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": true,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Subparagraph level 9",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Subparagraph level 9",
+ "href": null
+ }
+ ],
+ "color": "default"
+ },
+ "children": [
+ {
+ "object": "block",
+ "id": "ea4a318c-f324-417b-a2ae-5718408da4a4",
+ "parent": {
+ "type": "block_id",
+ "block_id": "0158d0ea-5a3d-4a77-aa88-10aed4fc5d69"
+ },
+ "created_time": "2024-09-03T16:19:00.000Z",
+ "last_edited_time": "2024-09-03T16:20:00.000Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": true,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Subparagraph level 10",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Subparagraph level 10",
+ "href": null
+ }
+ ],
+ "color": "default"
+ },
+ "children": [
+ {
+ "object": "block",
+ "id": "9f200f8f-586c-43a9-9f01-e6614dc65ccb",
+ "parent": {
+ "type": "block_id",
+ "block_id": "ea4a318c-f324-417b-a2ae-5718408da4a4"
+ },
+ "created_time": "2024-09-03T16:19:00.000Z",
+ "last_edited_time": "2024-09-03T16:20:00.000Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": true,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Subparagraph level 11",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Subparagraph level 11",
+ "href": null
+ }
+ ],
+ "color": "default"
+ },
+ "children": [
+ {
+ "object": "block",
+ "id": "43f2148e-f780-4e48-a2a3-e38984b02eaa",
+ "parent": {
+ "type": "block_id",
+ "block_id": "9f200f8f-586c-43a9-9f01-e6614dc65ccb"
+ },
+ "created_time": "2024-09-03T16:19:00.000Z",
+ "last_edited_time": "2024-09-03T16:20:00.000Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": true,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Subparagraph level 12",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Subparagraph level 12",
+ "href": null
+ }
+ ],
+ "color": "default"
+ },
+ "children": [
+ {
+ "object": "block",
+ "id": "de6c1aee-ab7c-4787-9c25-72168048365c",
+ "parent": {
+ "type": "block_id",
+ "block_id": "43f2148e-f780-4e48-a2a3-e38984b02eaa"
+ },
+ "created_time": "2024-09-03T16:20:00.000Z",
+ "last_edited_time": "2024-09-03T16:20:00.000Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": true,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Subparagraph level 13",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Subparagraph level 13",
+ "href": null
+ }
+ ],
+ "color": "default"
+ },
+ "children": [
+ {
+ "object": "block",
+ "id": "faf3ccaa-628f-431c-9c85-b752953396fe",
+ "parent": {
+ "type": "block_id",
+ "block_id": "de6c1aee-ab7c-4787-9c25-72168048365c"
+ },
+ "created_time": "2024-09-03T16:20:00.000Z",
+ "last_edited_time": "2024-09-03T16:20:00.000Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Subparagraph level 14",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Subparagraph level 14",
+ "href": null
+ }
+ ],
+ "color": "default"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
{
"object": "block",
"id": "b7ada960-5e53-408f-93cc-c7444dc90ce0",
@@ -428,7 +1142,7 @@
},
{
"id": "d185db98-63f3-4f54-aa26-a41596e0fc15",
- "type": "page",
+ "object": "page",
"properties": {
"title": {
"id": "title",
@@ -2475,8 +3189,8 @@
],
"type": "file",
"file": {
- "url": "https://prod-files-secure.s3.us-west-2.amazonaws.com/d6000e68-0a06-463d-8914-d6dfe33f31b9/3141b657-2f3a-425a-9b44-d61df64d63e0/TextCortex_%282024-08-07_13_08_56%29_Create_a_drawing_of_a_scenic_v.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIAT73L2G45HZZMZUHI%2F20240809%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20240809T121557Z&X-Amz-Expires=3600&X-Amz-Signature=287d787db70873c68fd020453dffd592faa076352b40dabe5bb711e6b0ae5208&X-Amz-SignedHeaders=host&x-id=GetObject",
- "expiry_time": "2024-08-09T13:15:57.161Z"
+ "url": "https://prod-files-secure.s3.us-west-2.amazonaws.com/d6000e68-0a06-463d-8914-d6dfe33f31b9/3141b657-2f3a-425a-9b44-d61df64d63e0/TextCortex_%282024-08-07_13_08_56%29_Create_a_drawing_of_a_scenic_v.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIAT73L2G45HZZMZUHI%2F20240903%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20240903T162140Z&X-Amz-Expires=3600&X-Amz-Signature=38921301197444644e5e50976473036491e5ffa78b8b30efb06eb8b3a84f0329&X-Amz-SignedHeaders=host&x-id=GetObject",
+ "expiry_time": "2024-09-03T17:21:40.606Z"
}
}
},
diff --git a/schema/page/ex1_success.json b/schema/page/ex1_success.json
index 0a9bd83..b4a1b21 100644
--- a/schema/page/ex1_success.json
+++ b/schema/page/ex1_success.json
@@ -1,8 +1,8 @@
{
"object": "page",
"id": "be633bf1-dfa0-436d-b259-571129a590e5",
- "created_time": "2022-10-24T22:54:00.000Z",
- "last_edited_time": "2023-03-08T18:25:00.000Z",
+ "created_time": "2022-10-24T22:54:00Z",
+ "last_edited_time": "2023-03-08T18:25:00Z",
"created_by": {
"object": "user",
"id": "c2f20311-9e54-4d11-8c79-7398424ae41e"
@@ -15,6 +15,8 @@
"type": "emoji",
"emoji": "🐞"
},
+ "archived": false,
+ "in_trash": false,
"properties": {
"title": {
"id": "title",
@@ -40,5 +42,4049 @@
]
}
},
- "children": []
+ "children": [
+ {
+ "object": "block",
+ "id": "7bebf9ce-b1ee-4415-b01b-83fe0abce4e4",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-05-28T20:27:00Z",
+ "last_edited_time": "2024-05-28T20:27:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "heading_1",
+ "heading_1": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "This is heading 1",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "This is heading 1",
+ "href": null
+ }
+ ],
+ "is_toggleable": false,
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "7ad2c4a1-a9f7-4fe9-87dd-dede0dddf1ae",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-05-28T20:27:00Z",
+ "last_edited_time": "2024-05-28T20:27:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Lorem ipsum dolor sit amet",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Lorem ipsum dolor sit amet",
+ "href": null
+ }
+ ],
+ "color": "default"
+ }
+ },
+
+ {
+ "object": "block",
+ "id": "c4c4d5cf-7358-4f1e-a8d5-0b433b1cce35",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-09-03T16:20:00Z",
+ "last_edited_time": "2024-09-03T16:20:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": true,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Top level paragraph",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Top level paragraph",
+ "href": null
+ }
+ ],
+ "color": "default"
+ },
+ "children": [
+ {
+ "object": "block",
+ "id": "91044001-e5e3-4165-bca0-90eae8eedd5e",
+ "parent": {
+ "type": "block_id",
+ "block_id": "c4c4d5cf-7358-4f1e-a8d5-0b433b1cce35"
+ },
+ "created_time": "2024-09-03T16:19:00Z",
+ "last_edited_time": "2024-09-03T16:20:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": true,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Subparagraph level 1",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Subparagraph level 1",
+ "href": null
+ }
+ ],
+ "color": "default"
+ },
+ "children": [
+ {
+ "object": "block",
+ "id": "c0302421-6a1f-461d-8a56-91e585fb5e54",
+ "parent": {
+ "type": "block_id",
+ "block_id": "91044001-e5e3-4165-bca0-90eae8eedd5e"
+ },
+ "created_time": "2024-09-03T16:19:00Z",
+ "last_edited_time": "2024-09-03T16:19:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": true,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Subparagraph level 2",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Subparagraph level 2",
+ "href": null
+ }
+ ],
+ "color": "default"
+ },
+ "children": [
+ {
+ "object": "block",
+ "id": "37113c94-4284-470c-8177-c1ed49dff264",
+ "parent": {
+ "type": "block_id",
+ "block_id": "c0302421-6a1f-461d-8a56-91e585fb5e54"
+ },
+ "created_time": "2024-09-03T16:19:00Z",
+ "last_edited_time": "2024-09-03T16:19:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": true,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Subparagraph level 3",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Subparagraph level 3",
+ "href": null
+ }
+ ],
+ "color": "default"
+ },
+ "children": [
+ {
+ "object": "block",
+ "id": "87c5c1bb-de05-495c-8e97-86a17906b87d",
+ "parent": {
+ "type": "block_id",
+ "block_id": "37113c94-4284-470c-8177-c1ed49dff264"
+ },
+ "created_time": "2024-09-03T16:19:00Z",
+ "last_edited_time": "2024-09-03T16:19:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": true,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Subparagraph level 4",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Subparagraph level 4",
+ "href": null
+ }
+ ],
+ "color": "default"
+ },
+ "children": [
+ {
+ "object": "block",
+ "id": "42adb363-d88f-4b51-b611-47a2b99157cd",
+ "parent": {
+ "type": "block_id",
+ "block_id": "87c5c1bb-de05-495c-8e97-86a17906b87d"
+ },
+ "created_time": "2024-09-03T16:19:00Z",
+ "last_edited_time": "2024-09-03T16:19:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": true,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Subparagraph level 5",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Subparagraph level 5",
+ "href": null
+ }
+ ],
+ "color": "default"
+ },
+ "children": [
+ {
+ "object": "block",
+ "id": "58acde88-f2ab-400c-8d01-0f24b588b027",
+ "parent": {
+ "type": "block_id",
+ "block_id": "42adb363-d88f-4b51-b611-47a2b99157cd"
+ },
+ "created_time": "2024-09-03T16:19:00Z",
+ "last_edited_time": "2024-09-03T16:19:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": true,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Subparagraph level 6",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Subparagraph level 6",
+ "href": null
+ }
+ ],
+ "color": "default"
+ },
+ "children": [
+ {
+ "object": "block",
+ "id": "bda4b6b0-cc82-49ed-81c1-2da3fe441c81",
+ "parent": {
+ "type": "block_id",
+ "block_id": "58acde88-f2ab-400c-8d01-0f24b588b027"
+ },
+ "created_time": "2024-09-03T16:19:00Z",
+ "last_edited_time": "2024-09-03T16:19:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": true,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Subparagraph level 7",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Subparagraph level 7",
+ "href": null
+ }
+ ],
+ "color": "default"
+ },
+ "children": [
+ {
+ "object": "block",
+ "id": "6560eb26-64a3-42b3-adfe-598a9d70b4d3",
+ "parent": {
+ "type": "block_id",
+ "block_id": "bda4b6b0-cc82-49ed-81c1-2da3fe441c81"
+ },
+ "created_time": "2024-09-03T16:19:00Z",
+ "last_edited_time": "2024-09-03T16:19:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": true,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Subparagraph level 8",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Subparagraph level 8",
+ "href": null
+ }
+ ],
+ "color": "default"
+ },
+ "children": [
+ {
+ "object": "block",
+ "id": "0158d0ea-5a3d-4a77-aa88-10aed4fc5d69",
+ "parent": {
+ "type": "block_id",
+ "block_id": "6560eb26-64a3-42b3-adfe-598a9d70b4d3"
+ },
+ "created_time": "2024-09-03T16:19:00Z",
+ "last_edited_time": "2024-09-03T16:19:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": true,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Subparagraph level 9",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Subparagraph level 9",
+ "href": null
+ }
+ ],
+ "color": "default"
+ },
+ "children": [
+ {
+ "object": "block",
+ "id": "ea4a318c-f324-417b-a2ae-5718408da4a4",
+ "parent": {
+ "type": "block_id",
+ "block_id": "0158d0ea-5a3d-4a77-aa88-10aed4fc5d69"
+ },
+ "created_time": "2024-09-03T16:19:00Z",
+ "last_edited_time": "2024-09-03T16:20:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": true,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Subparagraph level 10",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Subparagraph level 10",
+ "href": null
+ }
+ ],
+ "color": "default"
+ },
+ "children": [
+ {
+ "object": "block",
+ "id": "9f200f8f-586c-43a9-9f01-e6614dc65ccb",
+ "parent": {
+ "type": "block_id",
+ "block_id": "ea4a318c-f324-417b-a2ae-5718408da4a4"
+ },
+ "created_time": "2024-09-03T16:19:00Z",
+ "last_edited_time": "2024-09-03T16:20:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": true,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Subparagraph level 11",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Subparagraph level 11",
+ "href": null
+ }
+ ],
+ "color": "default"
+ },
+ "children": [
+ {
+ "object": "block",
+ "id": "43f2148e-f780-4e48-a2a3-e38984b02eaa",
+ "parent": {
+ "type": "block_id",
+ "block_id": "9f200f8f-586c-43a9-9f01-e6614dc65ccb"
+ },
+ "created_time": "2024-09-03T16:19:00Z",
+ "last_edited_time": "2024-09-03T16:20:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": true,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Subparagraph level 12",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Subparagraph level 12",
+ "href": null
+ }
+ ],
+ "color": "default"
+ },
+ "children": [
+ {
+ "object": "block",
+ "id": "de6c1aee-ab7c-4787-9c25-72168048365c",
+ "parent": {
+ "type": "block_id",
+ "block_id": "43f2148e-f780-4e48-a2a3-e38984b02eaa"
+ },
+ "created_time": "2024-09-03T16:20:00Z",
+ "last_edited_time": "2024-09-03T16:20:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": true,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Subparagraph level 13",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Subparagraph level 13",
+ "href": null
+ }
+ ],
+ "color": "default"
+ },
+ "children": [
+ {
+ "object": "block",
+ "id": "faf3ccaa-628f-431c-9c85-b752953396fe",
+ "parent": {
+ "type": "block_id",
+ "block_id": "de6c1aee-ab7c-4787-9c25-72168048365c"
+ },
+ "created_time": "2024-09-03T16:20:00Z",
+ "last_edited_time": "2024-09-03T16:20:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Subparagraph level 14",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Subparagraph level 14",
+ "href": null
+ }
+ ],
+ "color": "default"
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "object": "block",
+ "id": "b7ada960-5e53-408f-93cc-c7444dc90ce0",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-05-28T20:27:00Z",
+ "last_edited_time": "2024-05-28T20:27:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "heading_2",
+ "heading_2": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "This is heading 2",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "This is heading 2",
+ "href": null
+ }
+ ],
+ "is_toggleable": false,
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "01c48f37-f565-4966-a801-b9269e6a18ae",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-05-28T20:27:00Z",
+ "last_edited_time": "2024-08-09T10:29:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": true,
+ "archived": false,
+ "in_trash": false,
+ "type": "table",
+ "table": {
+ "table_width": 2,
+ "has_column_header": true,
+ "has_row_header": true
+ },
+ "children": [
+ {
+ "object": "block",
+ "id": "36a7fd6c-9e14-43f9-b265-7b21cf958668",
+ "parent": {
+ "type": "block_id",
+ "block_id": "01c48f37-f565-4966-a801-b9269e6a18ae"
+ },
+ "created_time": "2024-05-28T20:27:00Z",
+ "last_edited_time": "2024-08-09T10:28:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "table_row",
+ "table_row": {
+ "cells": [
+ [
+ {
+ "type": "text",
+ "text": {
+ "content": "Col1",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Col1",
+ "href": null
+ }
+ ],
+ [
+ {
+ "type": "text",
+ "text": {
+ "content": "Col2",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Col2",
+ "href": null
+ }
+ ]
+ ]
+ }
+ },
+ {
+ "object": "block",
+ "id": "afa18f11-719f-4dcd-bfe0-c45a871a7309",
+ "parent": {
+ "type": "block_id",
+ "block_id": "01c48f37-f565-4966-a801-b9269e6a18ae"
+ },
+ "created_time": "2024-05-28T20:27:00Z",
+ "last_edited_time": "2024-08-09T10:28:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "table_row",
+ "table_row": {
+ "cells": [
+ [
+ {
+ "type": "text",
+ "text": {
+ "content": "1",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "1",
+ "href": null
+ }
+ ],
+ [
+ {
+ "type": "text",
+ "text": {
+ "content": "3",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "3",
+ "href": null
+ }
+ ]
+ ]
+ }
+ },
+ {
+ "object": "block",
+ "id": "7e257aaf-24e6-4506-a8f4-1ecd7299a8f5",
+ "parent": {
+ "type": "block_id",
+ "block_id": "01c48f37-f565-4966-a801-b9269e6a18ae"
+ },
+ "created_time": "2024-05-28T20:27:00Z",
+ "last_edited_time": "2024-05-28T20:28:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "table_row",
+ "table_row": {
+ "cells": [
+ [
+ {
+ "type": "text",
+ "text": {
+ "content": "2",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "2",
+ "href": null
+ }
+ ],
+ [
+ {
+ "type": "text",
+ "text": {
+ "content": "4",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "4",
+ "href": null
+ }
+ ]
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "object": "block",
+ "id": "e63fbc82-db45-4a17-b788-8ec343f7e898",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-05-28T20:29:00Z",
+ "last_edited_time": "2024-05-28T20:29:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "New line",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "New line",
+ "href": null
+ }
+ ],
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "9b45ebeb-cb04-4eb8-a0b6-8ba8a03e31d8",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-05-28T20:29:00Z",
+ "last_edited_time": "2024-05-28T20:29:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "code",
+ "code": {
+ "caption": [],
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "This is a code block",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "This is a code block",
+ "href": null
+ }
+ ],
+ "language": "javascript"
+ }
+ },
+ {
+ "object": "block",
+ "id": "cce2750e-836c-4358-ada9-abffedf7108a",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-05-30T13:20:00Z",
+ "last_edited_time": "2024-07-31T16:03:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "heading_2",
+ "heading_2": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Intersecting blocks example",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Intersecting blocks example",
+ "href": null
+ }
+ ],
+ "is_toggleable": false,
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "5b9377ac-5964-4b1c-84a5-a8bc1e1bf197",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-07-31T16:03:00Z",
+ "last_edited_time": "2024-07-31T16:17:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "This paragraph",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "This paragraph",
+ "href": null
+ },
+ {
+ "type": "text",
+ "text": {
+ "content": " has so",
+ "link": null
+ },
+ "annotations": {
+ "bold": true,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": " has so",
+ "href": null
+ },
+ {
+ "type": "text",
+ "text": {
+ "content": "me bold ite",
+ "link": {
+ "url": "https://solmaz.io/"
+ }
+ },
+ "annotations": {
+ "bold": true,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "me bold ite",
+ "href": "https://solmaz.io/"
+ },
+ {
+ "type": "text",
+ "text": {
+ "content": "ms and lin",
+ "link": {
+ "url": "https://solmaz.io/"
+ }
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "ms and lin",
+ "href": "https://solmaz.io/"
+ },
+ {
+ "type": "text",
+ "text": {
+ "content": "ks at the same time.",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "ks at the same time.",
+ "href": null
+ }
+ ],
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "1bd0a650-72a2-4754-be95-c3fe163ca348",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-07-31T16:04:00Z",
+ "last_edited_time": "2024-07-31T16:04:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [],
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "1d266695-2fde-48db-ba15-cb73813f6bdd",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-07-31T16:04:00Z",
+ "last_edited_time": "2024-07-31T16:16:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Here ar",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Here ar",
+ "href": null
+ },
+ {
+ "type": "text",
+ "text": {
+ "content": "e",
+ "link": null
+ },
+ "annotations": {
+ "bold": true,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "e",
+ "href": null
+ },
+ {
+ "type": "text",
+ "text": {
+ "content": " ",
+ "link": null
+ },
+ "annotations": {
+ "bold": true,
+ "italic": false,
+ "strikethrough": false,
+ "underline": true,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": " ",
+ "href": null
+ },
+ {
+ "type": "text",
+ "text": {
+ "content": "t",
+ "link": null
+ },
+ "annotations": {
+ "bold": true,
+ "italic": true,
+ "strikethrough": false,
+ "underline": true,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "t",
+ "href": null
+ },
+ {
+ "type": "text",
+ "text": {
+ "content": "w",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": true,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "w",
+ "href": null
+ },
+ {
+ "type": "text",
+ "text": {
+ "content": "o",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": true,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "o",
+ "href": null
+ },
+ {
+ "type": "text",
+ "text": {
+ "content": " ",
+ "link": null
+ },
+ "annotations": {
+ "bold": true,
+ "italic": false,
+ "strikethrough": false,
+ "underline": true,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": " ",
+ "href": null
+ },
+ {
+ "type": "text",
+ "text": {
+ "content": "p",
+ "link": null
+ },
+ "annotations": {
+ "bold": true,
+ "italic": true,
+ "strikethrough": false,
+ "underline": true,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "p",
+ "href": null
+ },
+ {
+ "type": "text",
+ "text": {
+ "content": "ar",
+ "link": {
+ "url": "https://solmaz.io/"
+ }
+ },
+ "annotations": {
+ "bold": true,
+ "italic": false,
+ "strikethrough": false,
+ "underline": true,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "ar",
+ "href": "https://solmaz.io/"
+ },
+ {
+ "type": "text",
+ "text": {
+ "content": "agra",
+ "link": {
+ "url": "https://solmaz.io/"
+ }
+ },
+ "annotations": {
+ "bold": true,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "agra",
+ "href": "https://solmaz.io/"
+ },
+ {
+ "type": "text",
+ "text": {
+ "content": "phs tha",
+ "link": {
+ "url": "https://solmaz.io/"
+ }
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "phs tha",
+ "href": "https://solmaz.io/"
+ },
+ {
+ "type": "text",
+ "text": {
+ "content": "t are ",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "t are ",
+ "href": null
+ }
+ ],
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "95d6cf78-e826-4954-9329-a4431f553aaf",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-08-01T15:26:00Z",
+ "last_edited_time": "2024-08-01T15:26:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "heading_2",
+ "heading_2": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Bulleted list examples",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Bulleted list examples",
+ "href": null
+ }
+ ],
+ "is_toggleable": false,
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "bd15c375-417f-4849-a76d-711b3af6d26b",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-08-01T15:26:00Z",
+ "last_edited_time": "2024-08-01T15:26:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Here is a bulleted list",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Here is a bulleted list",
+ "href": null
+ }
+ ],
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "665fd9b7-5297-4194-b582-07a986150358",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-08-01T15:26:00Z",
+ "last_edited_time": "2024-08-01T15:27:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "bulleted_list_item",
+ "bulleted_list_item": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Item 1",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Item 1",
+ "href": null
+ }
+ ],
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "8429547f-873d-4bae-ab3e-d25d0e469f62",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-08-01T15:27:00Z",
+ "last_edited_time": "2024-08-01T15:27:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "bulleted_list_item",
+ "bulleted_list_item": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Item 2",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Item 2",
+ "href": null
+ }
+ ],
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "b620e239-45f3-4936-a40c-44adaca8a1cb",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-08-01T15:27:00Z",
+ "last_edited_time": "2024-08-01T15:27:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "I break the list here",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "I break the list here",
+ "href": null
+ }
+ ],
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "a8f0a0ec-becc-48bc-ada1-62a32ff7f5ff",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-08-01T15:27:00Z",
+ "last_edited_time": "2024-08-01T15:27:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "bulleted_list_item",
+ "bulleted_list_item": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "I continue here",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "I continue here",
+ "href": null
+ }
+ ],
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "112acb8f-4506-4ef0-b401-90f759a7dc84",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-08-01T15:27:00Z",
+ "last_edited_time": "2024-08-01T15:27:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "heading_2",
+ "heading_2": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Enumerated list examples",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Enumerated list examples",
+ "href": null
+ }
+ ],
+ "is_toggleable": false,
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "88d00178-8baa-48a0-9345-cb39ef8f4ca5",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-08-01T15:27:00Z",
+ "last_edited_time": "2024-08-01T15:27:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Here is an enumerated list",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Here is an enumerated list",
+ "href": null
+ }
+ ],
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "caeecb54-2078-46cb-bee2-0db61ad2a2c5",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-08-01T15:27:00Z",
+ "last_edited_time": "2024-08-01T15:27:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "numbered_list_item",
+ "numbered_list_item": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Item 1 (1",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Item 1 (1",
+ "href": null
+ }
+ ],
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "7f62eca2-65f6-4e90-ba41-9df1d0bed101",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-08-01T15:27:00Z",
+ "last_edited_time": "2024-08-01T15:27:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "numbered_list_item",
+ "numbered_list_item": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Item 2 (2)",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Item 2 (2)",
+ "href": null
+ }
+ ],
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "f6ccb48d-72b2-4194-b8f4-807647a52089",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-08-01T15:27:00Z",
+ "last_edited_time": "2024-08-09T09:27:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "I break the list here",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "I break the list here",
+ "href": null
+ }
+ ],
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "fb7bc77c-bd6f-4064-9c89-0d51d3fd35d2",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-08-09T09:27:00Z",
+ "last_edited_time": "2024-08-09T09:27:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "numbered_list_item",
+ "numbered_list_item": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "I continue here (3)",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "I continue here (3)",
+ "href": null
+ }
+ ],
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "e2a8e977-4ba8-4484-8fe1-62eaa172155f",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-08-01T15:27:00Z",
+ "last_edited_time": "2024-08-01T15:28:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "numbered_list_item",
+ "numbered_list_item": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "The index continues from the previous (4)",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "The index continues from the previous (4)",
+ "href": null
+ }
+ ],
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "1981c9ec-75c5-405d-a4b4-c4db8fc705af",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-08-01T15:28:00Z",
+ "last_edited_time": "2024-08-01T15:28:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "6. I can\u2019t set (6) as the item label",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "6. I can\u2019t set (6) as the item label",
+ "href": null
+ }
+ ],
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "2768f917-08f4-4e7d-83d0-61844dc8a40e",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-08-09T09:36:00Z",
+ "last_edited_time": "2024-08-09T09:36:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "heading_2",
+ "heading_2": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "TODO examples",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "TODO examples",
+ "href": null
+ }
+ ],
+ "is_toggleable": false,
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "eb921750-d7ec-42e5-96b2-c65ca88d6776",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-08-09T09:36:00Z",
+ "last_edited_time": "2024-08-09T09:36:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "to_do",
+ "to_do": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Here is an unchecked todo item",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Here is an unchecked todo item",
+ "href": null
+ }
+ ],
+ "checked": false,
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "b694c88f-688f-4a45-b64b-61d65b29e8b0",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-08-09T09:36:00Z",
+ "last_edited_time": "2024-08-09T09:36:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "to_do",
+ "to_do": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Here is a checked todo item",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Here is a checked todo item",
+ "href": null
+ }
+ ],
+ "checked": true,
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "8bb29a91-42ae-40a1-b696-1a71d699978f",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-08-01T15:38:00Z",
+ "last_edited_time": "2024-08-08T15:47:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "heading_2",
+ "heading_2": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Code blocks",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Code blocks",
+ "href": null
+ }
+ ],
+ "is_toggleable": false,
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "bbb22181-4e3d-4f49-956b-9b8d092d9199",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-08-08T15:47:00Z",
+ "last_edited_time": "2024-08-08T15:48:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "code",
+ "code": {
+ "caption": [
+ {
+ "type": "text",
+ "text": {
+ "content": "This is a code ",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "This is a code ",
+ "href": null
+ },
+ {
+ "type": "text",
+ "text": {
+ "content": "block",
+ "link": null
+ },
+ "annotations": {
+ "bold": true,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "block",
+ "href": null
+ },
+ {
+ "type": "text",
+ "text": {
+ "content": " caption",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": " caption",
+ "href": null
+ }
+ ],
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "This is a code block\nThis is a new line",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "This is a code block\nThis is a new line",
+ "href": null
+ }
+ ],
+ "language": "bash"
+ }
+ },
+ {
+ "object": "block",
+ "id": "439e9657-0303-473c-8991-b2c837b1c3aa",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-08-09T07:33:00Z",
+ "last_edited_time": "2024-08-09T07:33:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "heading_2",
+ "heading_2": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Equations",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Equations",
+ "href": null
+ }
+ ],
+ "is_toggleable": false,
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "f0545305-a8ab-449a-aa23-e9617febf965",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-08-09T07:33:00Z",
+ "last_edited_time": "2024-08-09T07:34:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "This is an ",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "This is an ",
+ "href": null
+ },
+ {
+ "type": "equation",
+ "equation": {
+ "expression": "\\int_0^1\\sin(x)\\,dx"
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "\\int_0^1\\sin(x)\\,dx",
+ "href": null
+ },
+ {
+ "type": "text",
+ "text": {
+ "content": " inline equation. Below is a block equation:",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": " inline equation. Below is a block equation:",
+ "href": null
+ }
+ ],
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "a0ea53e7-ca42-4d5d-8345-481bb74c8c2a",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-08-09T07:34:00Z",
+ "last_edited_time": "2024-08-09T07:34:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "equation",
+ "equation": {
+ "expression": "\\int_0^1\\sin(x)\\,dx"
+ }
+ },
+ {
+ "object": "block",
+ "id": "665dc9ee-ea74-46cf-9001-d07d4020b060",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-08-09T08:08:00Z",
+ "last_edited_time": "2024-08-09T08:08:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "heading_2",
+ "heading_2": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Image blocks",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Image blocks",
+ "href": null
+ }
+ ],
+ "is_toggleable": false,
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "98c78199-ef1c-497a-8e44-e1f3b511c3a9",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-08-09T08:08:00Z",
+ "last_edited_time": "2024-08-09T08:11:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "image",
+ "image": {
+ "caption": [
+ {
+ "type": "text",
+ "text": {
+ "content": "This is a caption for the image",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "This is a caption for the image",
+ "href": null
+ }
+ ],
+ "type": "file",
+ "file": {
+ "url": "https://prod-files-secure.s3.us-west-2.amazonaws.com/d6000e68-0a06-463d-8914-d6dfe33f31b9/3141b657-2f3a-425a-9b44-d61df64d63e0/TextCortex_%282024-08-07_13_08_56%29_Create_a_drawing_of_a_scenic_v.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIAT73L2G45HZZMZUHI%2F20240809%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20240809T121557Z&X-Amz-Expires=3600&X-Amz-Signature=287d787db70873c68fd020453dffd592faa076352b40dabe5bb711e6b0ae5208&X-Amz-SignedHeaders=host&x-id=GetObject",
+ "expiry_time": "2024-08-09T13:15:57Z"
+ }
+ }
+ },
+ {
+ "object": "block",
+ "id": "fdc1aa4c-b0d7-4636-bdee-0a56cfc7c54a",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-08-09T10:09:00Z",
+ "last_edited_time": "2024-08-09T10:09:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "heading_2",
+ "heading_2": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Quotes",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Quotes",
+ "href": null
+ }
+ ],
+ "is_toggleable": false,
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "23d455c3-7469-4f02-97b8-e260bc02f940",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-08-09T10:09:00Z",
+ "last_edited_time": "2024-08-09T10:10:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "quote",
+ "quote": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Here is a quote\nSome ",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Here is a quote\nSome ",
+ "href": null
+ },
+ {
+ "type": "text",
+ "text": {
+ "content": "formatted text",
+ "link": null
+ },
+ "annotations": {
+ "bold": true,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "formatted text",
+ "href": null
+ },
+ {
+ "type": "text",
+ "text": {
+ "content": " inside the quote",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": " inside the quote",
+ "href": null
+ }
+ ],
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "f3308f29-797c-47f1-989c-ec823cfbda03",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-08-09T11:00:00Z",
+ "last_edited_time": "2024-08-09T11:05:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "heading_2",
+ "heading_2": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Divider",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Divider",
+ "href": null
+ }
+ ],
+ "is_toggleable": false,
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "f48c507b-46eb-4b92-a714-3cba4982fec2",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-08-09T11:05:00Z",
+ "last_edited_time": "2024-08-09T11:05:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Here is a divider:",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Here is a divider:",
+ "href": null
+ }
+ ],
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "df320310-a087-4039-b3ef-28d0460f8664",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-08-09T11:05:00Z",
+ "last_edited_time": "2024-08-09T11:05:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "divider",
+ "divider": {}
+ },
+ {
+ "object": "block",
+ "id": "3378e979-29d3-4d53-b2dd-a4e2df80fef3",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-08-09T11:05:00Z",
+ "last_edited_time": "2024-08-09T11:58:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "heading_2",
+ "heading_2": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Columns",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Columns",
+ "href": null
+ }
+ ],
+ "is_toggleable": false,
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "175e5d39-7d7c-4428-81a7-b16824a78f6b",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-08-09T11:58:00Z",
+ "last_edited_time": "2024-08-09T11:58:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Below is a 2 column example",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Below is a 2 column example",
+ "href": null
+ }
+ ],
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "32b17815-92d0-4fa3-8d72-ff65ca40c1dc",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-08-09T11:58:00Z",
+ "last_edited_time": "2024-08-09T11:58:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": true,
+ "archived": false,
+ "in_trash": false,
+ "type": "column_list",
+ "column_list": {},
+ "children": [
+ {
+ "object": "block",
+ "id": "9f75c2d7-b90d-4b51-841d-47543b4a8097",
+ "parent": {
+ "type": "block_id",
+ "block_id": "32b17815-92d0-4fa3-8d72-ff65ca40c1dc"
+ },
+ "created_time": "2024-08-09T11:58:00Z",
+ "last_edited_time": "2024-08-09T11:58:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": true,
+ "archived": false,
+ "in_trash": false,
+ "type": "column",
+ "column": {},
+ "children": [
+ {
+ "object": "block",
+ "id": "99dd06e9-8faf-46e2-a84f-5476a2e8fb72",
+ "parent": {
+ "type": "block_id",
+ "block_id": "9f75c2d7-b90d-4b51-841d-47543b4a8097"
+ },
+ "created_time": "2024-08-09T11:58:00Z",
+ "last_edited_time": "2024-08-09T11:58:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "First column",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "First column",
+ "href": null
+ }
+ ],
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "c50858c0-4722-4fdb-9f24-0cb83be4fc71",
+ "parent": {
+ "type": "block_id",
+ "block_id": "9f75c2d7-b90d-4b51-841d-47543b4a8097"
+ },
+ "created_time": "2024-08-09T11:58:00Z",
+ "last_edited_time": "2024-08-09T11:58:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "to_do",
+ "to_do": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "something",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "something",
+ "href": null
+ }
+ ],
+ "checked": false,
+ "color": "default"
+ }
+ }
+ ]
+ },
+ {
+ "object": "block",
+ "id": "ab7c74d6-e601-4627-9374-3a034d1389c2",
+ "parent": {
+ "type": "block_id",
+ "block_id": "32b17815-92d0-4fa3-8d72-ff65ca40c1dc"
+ },
+ "created_time": "2024-08-09T11:58:00Z",
+ "last_edited_time": "2024-08-09T11:58:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": true,
+ "archived": false,
+ "in_trash": false,
+ "type": "column",
+ "column": {},
+ "children": [
+ {
+ "object": "block",
+ "id": "37c2f36a-8f95-46be-ae1e-190c3f98c559",
+ "parent": {
+ "type": "block_id",
+ "block_id": "ab7c74d6-e601-4627-9374-3a034d1389c2"
+ },
+ "created_time": "2024-08-09T11:58:00Z",
+ "last_edited_time": "2024-08-09T11:58:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Second column",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Second column",
+ "href": null
+ }
+ ],
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "7af2cdff-d4fc-44d2-ac60-e47f3da4761b",
+ "parent": {
+ "type": "block_id",
+ "block_id": "ab7c74d6-e601-4627-9374-3a034d1389c2"
+ },
+ "created_time": "2024-08-09T11:58:00Z",
+ "last_edited_time": "2024-08-09T11:58:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": true,
+ "archived": false,
+ "in_trash": false,
+ "type": "table",
+ "table": {
+ "table_width": 2,
+ "has_column_header": false,
+ "has_row_header": false
+ },
+ "children": [
+ {
+ "object": "block",
+ "id": "5cb7a042-70af-472b-b410-451afb723d2a",
+ "parent": {
+ "type": "block_id",
+ "block_id": "7af2cdff-d4fc-44d2-ac60-e47f3da4761b"
+ },
+ "created_time": "2024-08-09T11:58:00Z",
+ "last_edited_time": "2024-08-09T11:58:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "table_row",
+ "table_row": {
+ "cells": [
+ [
+ {
+ "type": "text",
+ "text": {
+ "content": "1",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "1",
+ "href": null
+ }
+ ],
+ [
+ {
+ "type": "text",
+ "text": {
+ "content": "2",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "2",
+ "href": null
+ }
+ ]
+ ]
+ }
+ },
+ {
+ "object": "block",
+ "id": "92e59441-bef1-46fa-8e1b-a807131695d3",
+ "parent": {
+ "type": "block_id",
+ "block_id": "7af2cdff-d4fc-44d2-ac60-e47f3da4761b"
+ },
+ "created_time": "2024-08-09T11:58:00Z",
+ "last_edited_time": "2024-08-09T11:58:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "table_row",
+ "table_row": {
+ "cells": [
+ [
+ {
+ "type": "text",
+ "text": {
+ "content": "3",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "3",
+ "href": null
+ }
+ ],
+ [
+ {
+ "type": "text",
+ "text": {
+ "content": "4",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "4",
+ "href": null
+ }
+ ]
+ ]
+ }
+ },
+ {
+ "object": "block",
+ "id": "bb47ea02-ea18-47d2-9432-0b4acc27538e",
+ "parent": {
+ "type": "block_id",
+ "block_id": "7af2cdff-d4fc-44d2-ac60-e47f3da4761b"
+ },
+ "created_time": "2024-08-09T11:58:00Z",
+ "last_edited_time": "2024-08-09T11:58:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "table_row",
+ "table_row": {
+ "cells": [
+ [
+ {
+ "type": "text",
+ "text": {
+ "content": "5",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "5",
+ "href": null
+ }
+ ],
+ [
+ {
+ "type": "text",
+ "text": {
+ "content": "6",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "6",
+ "href": null
+ }
+ ]
+ ]
+ }
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "object": "block",
+ "id": "65dde59c-db9c-46a2-9e98-4a1b99ba644f",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-08-09T11:59:00Z",
+ "last_edited_time": "2024-08-09T11:59:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Below is a 4 column example",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Below is a 4 column example",
+ "href": null
+ }
+ ],
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "ba1c4998-31d2-4fc6-a6ec-f8101752e41a",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-08-09T11:59:00Z",
+ "last_edited_time": "2024-08-09T11:59:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": true,
+ "archived": false,
+ "in_trash": false,
+ "type": "column_list",
+ "column_list": {},
+ "children": [
+ {
+ "object": "block",
+ "id": "46e295c3-cf75-4434-9947-8af0833bb1bb",
+ "parent": {
+ "type": "block_id",
+ "block_id": "ba1c4998-31d2-4fc6-a6ec-f8101752e41a"
+ },
+ "created_time": "2024-08-09T11:59:00Z",
+ "last_edited_time": "2024-08-09T11:59:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": true,
+ "archived": false,
+ "in_trash": false,
+ "type": "column",
+ "column": {},
+ "children": [
+ {
+ "object": "block",
+ "id": "9deb01c3-339f-44de-873d-4f51b97355e2",
+ "parent": {
+ "type": "block_id",
+ "block_id": "46e295c3-cf75-4434-9947-8af0833bb1bb"
+ },
+ "created_time": "2024-08-09T11:59:00Z",
+ "last_edited_time": "2024-08-09T11:59:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Column 1",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Column 1",
+ "href": null
+ }
+ ],
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "bfcbb0ee-9a18-45ac-bfda-54f4c58f9f87",
+ "parent": {
+ "type": "block_id",
+ "block_id": "46e295c3-cf75-4434-9947-8af0833bb1bb"
+ },
+ "created_time": "2024-08-09T11:59:00Z",
+ "last_edited_time": "2024-08-09T11:59:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "bulleted_list_item",
+ "bulleted_list_item": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "A list",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "A list",
+ "href": null
+ }
+ ],
+ "color": "default"
+ }
+ }
+ ]
+ },
+ {
+ "object": "block",
+ "id": "ac0925fe-2403-4482-8672-e816f49520b6",
+ "parent": {
+ "type": "block_id",
+ "block_id": "ba1c4998-31d2-4fc6-a6ec-f8101752e41a"
+ },
+ "created_time": "2024-08-09T11:59:00Z",
+ "last_edited_time": "2024-08-09T11:59:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": true,
+ "archived": false,
+ "in_trash": false,
+ "type": "column",
+ "column": {},
+ "children": [
+ {
+ "object": "block",
+ "id": "09ef16e6-6822-4487-81dd-6de5efb88725",
+ "parent": {
+ "type": "block_id",
+ "block_id": "ac0925fe-2403-4482-8672-e816f49520b6"
+ },
+ "created_time": "2024-08-09T11:59:00Z",
+ "last_edited_time": "2024-08-09T11:59:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Column 2",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Column 2",
+ "href": null
+ }
+ ],
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "da439007-8b00-49b6-866c-40db7bc79024",
+ "parent": {
+ "type": "block_id",
+ "block_id": "ac0925fe-2403-4482-8672-e816f49520b6"
+ },
+ "created_time": "2024-08-09T11:59:00Z",
+ "last_edited_time": "2024-08-09T11:59:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "equation",
+ "equation": {
+ "expression": "a=b"
+ }
+ }
+ ]
+ },
+ {
+ "object": "block",
+ "id": "30f487ba-df8e-483f-95e5-4362f59cd1bb",
+ "parent": {
+ "type": "block_id",
+ "block_id": "ba1c4998-31d2-4fc6-a6ec-f8101752e41a"
+ },
+ "created_time": "2024-08-09T11:59:00Z",
+ "last_edited_time": "2024-08-09T12:00:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": true,
+ "archived": false,
+ "in_trash": false,
+ "type": "column",
+ "column": {},
+ "children": [
+ {
+ "object": "block",
+ "id": "8f685774-d528-49c9-a4ed-f35f7e0c1e48",
+ "parent": {
+ "type": "block_id",
+ "block_id": "30f487ba-df8e-483f-95e5-4362f59cd1bb"
+ },
+ "created_time": "2024-08-09T11:59:00Z",
+ "last_edited_time": "2024-08-09T11:59:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Column 3",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Column 3",
+ "href": null
+ }
+ ],
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "33a3dfd2-6172-4c12-a4c1-b43e6c22a16b",
+ "parent": {
+ "type": "block_id",
+ "block_id": "30f487ba-df8e-483f-95e5-4362f59cd1bb"
+ },
+ "created_time": "2024-08-09T11:59:00Z",
+ "last_edited_time": "2024-08-09T11:59:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "divider",
+ "divider": {}
+ },
+ {
+ "object": "block",
+ "id": "cbcf740b-c1e0-4267-9f87-0553b02693f2",
+ "parent": {
+ "type": "block_id",
+ "block_id": "30f487ba-df8e-483f-95e5-4362f59cd1bb"
+ },
+ "created_time": "2024-08-09T12:00:00Z",
+ "last_edited_time": "2024-08-09T12:00:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "heading_2",
+ "heading_2": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "heading in column",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "heading in column",
+ "href": null
+ }
+ ],
+ "is_toggleable": false,
+ "color": "default"
+ }
+ }
+ ]
+ },
+ {
+ "object": "block",
+ "id": "8eb1b342-acf0-44be-b813-4f8348b385df",
+ "parent": {
+ "type": "block_id",
+ "block_id": "ba1c4998-31d2-4fc6-a6ec-f8101752e41a"
+ },
+ "created_time": "2024-08-09T11:59:00Z",
+ "last_edited_time": "2024-08-09T12:00:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": true,
+ "archived": false,
+ "in_trash": false,
+ "type": "column",
+ "column": {},
+ "children": [
+ {
+ "object": "block",
+ "id": "5b9f4e4b-e6d0-4f11-b4b9-2b6fa19e4c4f",
+ "parent": {
+ "type": "block_id",
+ "block_id": "8eb1b342-acf0-44be-b813-4f8348b385df"
+ },
+ "created_time": "2024-08-09T11:59:00Z",
+ "last_edited_time": "2024-08-09T11:59:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "Column 4",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "Column 4",
+ "href": null
+ }
+ ],
+ "color": "default"
+ }
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "object": "block",
+ "id": "e208aed6-048e-4114-b645-50c0a5b394fb",
+ "parent": {
+ "type": "page_id",
+ "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
+ },
+ "created_time": "2024-08-09T11:59:00Z",
+ "last_edited_time": "2024-08-09T11:59:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [],
+ "color": "default"
+ }
+ },
+ {
+ "object": "block",
+ "id": "e4c47a53-eea7-42cd-b51a-16fcbbaf5572",
+ "parent": {
+ "type": "block_id",
+ "block_id": "8eb1b342-acf0-44be-b813-4f8348b385df"
+ },
+ "created_time": "2024-08-09T12:00:00Z",
+ "last_edited_time": "2024-08-09T12:00:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": true,
+ "archived": false,
+ "in_trash": false,
+ "type": "toggle",
+ "toggle": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "toggle",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "toggle",
+ "href": null
+ }
+ ],
+ "color": "default"
+ },
+ "children": [
+ {
+ "object": "block",
+ "id": "f79d961f-7b00-464f-b3b2-a745041cea50",
+ "parent": {
+ "type": "block_id",
+ "block_id": "e4c47a53-eea7-42cd-b51a-16fcbbaf5572"
+ },
+ "created_time": "2024-08-09T12:00:00Z",
+ "last_edited_time": "2024-08-09T12:00:00Z",
+ "created_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "last_edited_by": {
+ "object": "user",
+ "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ },
+ "has_children": false,
+ "archived": false,
+ "in_trash": false,
+ "type": "paragraph",
+ "paragraph": {
+ "rich_text": [
+ {
+ "type": "text",
+ "text": {
+ "content": "asdfasdfafd",
+ "link": null
+ },
+ "annotations": {
+ "bold": false,
+ "italic": false,
+ "strikethrough": false,
+ "underline": false,
+ "code": false,
+ "color": "default"
+ },
+ "plain_text": "asdfasdfafd",
+ "href": null
+ }
+ ],
+ "color": "default"
+ }
+ }
+ ]
+ }
+ ]
}
diff --git a/schema/page/ex2_success.json b/schema/page/ex2_success.json
index 885be29..0a9bd83 100644
--- a/schema/page/ex2_success.json
+++ b/schema/page/ex2_success.json
@@ -1,8 +1,8 @@
{
"object": "page",
"id": "be633bf1-dfa0-436d-b259-571129a590e5",
- "created_time": "2022-10-24T22:54:00Z",
- "last_edited_time": "2023-03-08T18:25:00Z",
+ "created_time": "2022-10-24T22:54:00.000Z",
+ "last_edited_time": "2023-03-08T18:25:00.000Z",
"created_by": {
"object": "user",
"id": "c2f20311-9e54-4d11-8c79-7398424ae41e"
@@ -15,8 +15,6 @@
"type": "emoji",
"emoji": "🐞"
},
- "archived": false,
- "in_trash": false,
"properties": {
"title": {
"id": "title",
@@ -42,3360 +40,5 @@
]
}
},
- "children": [
- {
- "object": "block",
- "id": "7bebf9ce-b1ee-4415-b01b-83fe0abce4e4",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-05-28T20:27:00Z",
- "last_edited_time": "2024-05-28T20:27:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "heading_1",
- "heading_1": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "This is heading 1",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "This is heading 1",
- "href": null
- }
- ],
- "is_toggleable": false,
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "7ad2c4a1-a9f7-4fe9-87dd-dede0dddf1ae",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-05-28T20:27:00Z",
- "last_edited_time": "2024-05-28T20:27:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "paragraph",
- "paragraph": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "Lorem ipsum dolor sit amet",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "Lorem ipsum dolor sit amet",
- "href": null
- }
- ],
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "b7ada960-5e53-408f-93cc-c7444dc90ce0",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-05-28T20:27:00Z",
- "last_edited_time": "2024-05-28T20:27:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "heading_2",
- "heading_2": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "This is heading 2",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "This is heading 2",
- "href": null
- }
- ],
- "is_toggleable": false,
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "01c48f37-f565-4966-a801-b9269e6a18ae",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-05-28T20:27:00Z",
- "last_edited_time": "2024-08-09T10:29:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": true,
- "archived": false,
- "in_trash": false,
- "type": "table",
- "table": {
- "table_width": 2,
- "has_column_header": true,
- "has_row_header": true
- },
- "children": [
- {
- "object": "block",
- "id": "36a7fd6c-9e14-43f9-b265-7b21cf958668",
- "parent": {
- "type": "block_id",
- "block_id": "01c48f37-f565-4966-a801-b9269e6a18ae"
- },
- "created_time": "2024-05-28T20:27:00Z",
- "last_edited_time": "2024-08-09T10:28:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "table_row",
- "table_row": {
- "cells": [
- [
- {
- "type": "text",
- "text": {
- "content": "Col1",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "Col1",
- "href": null
- }
- ],
- [
- {
- "type": "text",
- "text": {
- "content": "Col2",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "Col2",
- "href": null
- }
- ]
- ]
- }
- },
- {
- "object": "block",
- "id": "afa18f11-719f-4dcd-bfe0-c45a871a7309",
- "parent": {
- "type": "block_id",
- "block_id": "01c48f37-f565-4966-a801-b9269e6a18ae"
- },
- "created_time": "2024-05-28T20:27:00Z",
- "last_edited_time": "2024-08-09T10:28:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "table_row",
- "table_row": {
- "cells": [
- [
- {
- "type": "text",
- "text": {
- "content": "1",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "1",
- "href": null
- }
- ],
- [
- {
- "type": "text",
- "text": {
- "content": "3",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "3",
- "href": null
- }
- ]
- ]
- }
- },
- {
- "object": "block",
- "id": "7e257aaf-24e6-4506-a8f4-1ecd7299a8f5",
- "parent": {
- "type": "block_id",
- "block_id": "01c48f37-f565-4966-a801-b9269e6a18ae"
- },
- "created_time": "2024-05-28T20:27:00Z",
- "last_edited_time": "2024-05-28T20:28:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "table_row",
- "table_row": {
- "cells": [
- [
- {
- "type": "text",
- "text": {
- "content": "2",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "2",
- "href": null
- }
- ],
- [
- {
- "type": "text",
- "text": {
- "content": "4",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "4",
- "href": null
- }
- ]
- ]
- }
- }
- ]
- },
- {
- "object": "block",
- "id": "e63fbc82-db45-4a17-b788-8ec343f7e898",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-05-28T20:29:00Z",
- "last_edited_time": "2024-05-28T20:29:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "paragraph",
- "paragraph": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "New line",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "New line",
- "href": null
- }
- ],
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "9b45ebeb-cb04-4eb8-a0b6-8ba8a03e31d8",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-05-28T20:29:00Z",
- "last_edited_time": "2024-05-28T20:29:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "code",
- "code": {
- "caption": [],
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "This is a code block",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "This is a code block",
- "href": null
- }
- ],
- "language": "javascript"
- }
- },
- {
- "object": "block",
- "id": "cce2750e-836c-4358-ada9-abffedf7108a",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-05-30T13:20:00Z",
- "last_edited_time": "2024-07-31T16:03:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "heading_2",
- "heading_2": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "Intersecting blocks example",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "Intersecting blocks example",
- "href": null
- }
- ],
- "is_toggleable": false,
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "5b9377ac-5964-4b1c-84a5-a8bc1e1bf197",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-07-31T16:03:00Z",
- "last_edited_time": "2024-07-31T16:17:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "paragraph",
- "paragraph": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "This paragraph",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "This paragraph",
- "href": null
- },
- {
- "type": "text",
- "text": {
- "content": " has so",
- "link": null
- },
- "annotations": {
- "bold": true,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": " has so",
- "href": null
- },
- {
- "type": "text",
- "text": {
- "content": "me bold ite",
- "link": {
- "url": "https://solmaz.io/"
- }
- },
- "annotations": {
- "bold": true,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "me bold ite",
- "href": "https://solmaz.io/"
- },
- {
- "type": "text",
- "text": {
- "content": "ms and lin",
- "link": {
- "url": "https://solmaz.io/"
- }
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "ms and lin",
- "href": "https://solmaz.io/"
- },
- {
- "type": "text",
- "text": {
- "content": "ks at the same time.",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "ks at the same time.",
- "href": null
- }
- ],
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "1bd0a650-72a2-4754-be95-c3fe163ca348",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-07-31T16:04:00Z",
- "last_edited_time": "2024-07-31T16:04:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "paragraph",
- "paragraph": {
- "rich_text": [],
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "1d266695-2fde-48db-ba15-cb73813f6bdd",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-07-31T16:04:00Z",
- "last_edited_time": "2024-07-31T16:16:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "paragraph",
- "paragraph": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "Here ar",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "Here ar",
- "href": null
- },
- {
- "type": "text",
- "text": {
- "content": "e",
- "link": null
- },
- "annotations": {
- "bold": true,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "e",
- "href": null
- },
- {
- "type": "text",
- "text": {
- "content": " ",
- "link": null
- },
- "annotations": {
- "bold": true,
- "italic": false,
- "strikethrough": false,
- "underline": true,
- "code": false,
- "color": "default"
- },
- "plain_text": " ",
- "href": null
- },
- {
- "type": "text",
- "text": {
- "content": "t",
- "link": null
- },
- "annotations": {
- "bold": true,
- "italic": true,
- "strikethrough": false,
- "underline": true,
- "code": false,
- "color": "default"
- },
- "plain_text": "t",
- "href": null
- },
- {
- "type": "text",
- "text": {
- "content": "w",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": true,
- "code": false,
- "color": "default"
- },
- "plain_text": "w",
- "href": null
- },
- {
- "type": "text",
- "text": {
- "content": "o",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": true,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "o",
- "href": null
- },
- {
- "type": "text",
- "text": {
- "content": " ",
- "link": null
- },
- "annotations": {
- "bold": true,
- "italic": false,
- "strikethrough": false,
- "underline": true,
- "code": false,
- "color": "default"
- },
- "plain_text": " ",
- "href": null
- },
- {
- "type": "text",
- "text": {
- "content": "p",
- "link": null
- },
- "annotations": {
- "bold": true,
- "italic": true,
- "strikethrough": false,
- "underline": true,
- "code": false,
- "color": "default"
- },
- "plain_text": "p",
- "href": null
- },
- {
- "type": "text",
- "text": {
- "content": "ar",
- "link": {
- "url": "https://solmaz.io/"
- }
- },
- "annotations": {
- "bold": true,
- "italic": false,
- "strikethrough": false,
- "underline": true,
- "code": false,
- "color": "default"
- },
- "plain_text": "ar",
- "href": "https://solmaz.io/"
- },
- {
- "type": "text",
- "text": {
- "content": "agra",
- "link": {
- "url": "https://solmaz.io/"
- }
- },
- "annotations": {
- "bold": true,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "agra",
- "href": "https://solmaz.io/"
- },
- {
- "type": "text",
- "text": {
- "content": "phs tha",
- "link": {
- "url": "https://solmaz.io/"
- }
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "phs tha",
- "href": "https://solmaz.io/"
- },
- {
- "type": "text",
- "text": {
- "content": "t are ",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "t are ",
- "href": null
- }
- ],
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "95d6cf78-e826-4954-9329-a4431f553aaf",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-08-01T15:26:00Z",
- "last_edited_time": "2024-08-01T15:26:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "heading_2",
- "heading_2": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "Bulleted list examples",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "Bulleted list examples",
- "href": null
- }
- ],
- "is_toggleable": false,
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "bd15c375-417f-4849-a76d-711b3af6d26b",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-08-01T15:26:00Z",
- "last_edited_time": "2024-08-01T15:26:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "paragraph",
- "paragraph": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "Here is a bulleted list",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "Here is a bulleted list",
- "href": null
- }
- ],
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "665fd9b7-5297-4194-b582-07a986150358",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-08-01T15:26:00Z",
- "last_edited_time": "2024-08-01T15:27:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "bulleted_list_item",
- "bulleted_list_item": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "Item 1",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "Item 1",
- "href": null
- }
- ],
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "8429547f-873d-4bae-ab3e-d25d0e469f62",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-08-01T15:27:00Z",
- "last_edited_time": "2024-08-01T15:27:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "bulleted_list_item",
- "bulleted_list_item": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "Item 2",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "Item 2",
- "href": null
- }
- ],
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "b620e239-45f3-4936-a40c-44adaca8a1cb",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-08-01T15:27:00Z",
- "last_edited_time": "2024-08-01T15:27:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "paragraph",
- "paragraph": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "I break the list here",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "I break the list here",
- "href": null
- }
- ],
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "a8f0a0ec-becc-48bc-ada1-62a32ff7f5ff",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-08-01T15:27:00Z",
- "last_edited_time": "2024-08-01T15:27:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "bulleted_list_item",
- "bulleted_list_item": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "I continue here",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "I continue here",
- "href": null
- }
- ],
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "112acb8f-4506-4ef0-b401-90f759a7dc84",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-08-01T15:27:00Z",
- "last_edited_time": "2024-08-01T15:27:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "heading_2",
- "heading_2": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "Enumerated list examples",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "Enumerated list examples",
- "href": null
- }
- ],
- "is_toggleable": false,
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "88d00178-8baa-48a0-9345-cb39ef8f4ca5",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-08-01T15:27:00Z",
- "last_edited_time": "2024-08-01T15:27:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "paragraph",
- "paragraph": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "Here is an enumerated list",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "Here is an enumerated list",
- "href": null
- }
- ],
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "caeecb54-2078-46cb-bee2-0db61ad2a2c5",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-08-01T15:27:00Z",
- "last_edited_time": "2024-08-01T15:27:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "numbered_list_item",
- "numbered_list_item": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "Item 1 (1",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "Item 1 (1",
- "href": null
- }
- ],
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "7f62eca2-65f6-4e90-ba41-9df1d0bed101",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-08-01T15:27:00Z",
- "last_edited_time": "2024-08-01T15:27:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "numbered_list_item",
- "numbered_list_item": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "Item 2 (2)",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "Item 2 (2)",
- "href": null
- }
- ],
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "f6ccb48d-72b2-4194-b8f4-807647a52089",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-08-01T15:27:00Z",
- "last_edited_time": "2024-08-09T09:27:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "paragraph",
- "paragraph": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "I break the list here",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "I break the list here",
- "href": null
- }
- ],
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "fb7bc77c-bd6f-4064-9c89-0d51d3fd35d2",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-08-09T09:27:00Z",
- "last_edited_time": "2024-08-09T09:27:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "numbered_list_item",
- "numbered_list_item": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "I continue here (3)",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "I continue here (3)",
- "href": null
- }
- ],
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "e2a8e977-4ba8-4484-8fe1-62eaa172155f",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-08-01T15:27:00Z",
- "last_edited_time": "2024-08-01T15:28:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "numbered_list_item",
- "numbered_list_item": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "The index continues from the previous (4)",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "The index continues from the previous (4)",
- "href": null
- }
- ],
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "1981c9ec-75c5-405d-a4b4-c4db8fc705af",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-08-01T15:28:00Z",
- "last_edited_time": "2024-08-01T15:28:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "paragraph",
- "paragraph": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "6. I can\u2019t set (6) as the item label",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "6. I can\u2019t set (6) as the item label",
- "href": null
- }
- ],
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "2768f917-08f4-4e7d-83d0-61844dc8a40e",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-08-09T09:36:00Z",
- "last_edited_time": "2024-08-09T09:36:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "heading_2",
- "heading_2": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "TODO examples",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "TODO examples",
- "href": null
- }
- ],
- "is_toggleable": false,
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "eb921750-d7ec-42e5-96b2-c65ca88d6776",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-08-09T09:36:00Z",
- "last_edited_time": "2024-08-09T09:36:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "to_do",
- "to_do": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "Here is an unchecked todo item",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "Here is an unchecked todo item",
- "href": null
- }
- ],
- "checked": false,
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "b694c88f-688f-4a45-b64b-61d65b29e8b0",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-08-09T09:36:00Z",
- "last_edited_time": "2024-08-09T09:36:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "to_do",
- "to_do": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "Here is a checked todo item",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "Here is a checked todo item",
- "href": null
- }
- ],
- "checked": true,
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "8bb29a91-42ae-40a1-b696-1a71d699978f",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-08-01T15:38:00Z",
- "last_edited_time": "2024-08-08T15:47:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "heading_2",
- "heading_2": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "Code blocks",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "Code blocks",
- "href": null
- }
- ],
- "is_toggleable": false,
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "bbb22181-4e3d-4f49-956b-9b8d092d9199",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-08-08T15:47:00Z",
- "last_edited_time": "2024-08-08T15:48:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "code",
- "code": {
- "caption": [
- {
- "type": "text",
- "text": {
- "content": "This is a code ",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "This is a code ",
- "href": null
- },
- {
- "type": "text",
- "text": {
- "content": "block",
- "link": null
- },
- "annotations": {
- "bold": true,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "block",
- "href": null
- },
- {
- "type": "text",
- "text": {
- "content": " caption",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": " caption",
- "href": null
- }
- ],
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "This is a code block\nThis is a new line",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "This is a code block\nThis is a new line",
- "href": null
- }
- ],
- "language": "bash"
- }
- },
- {
- "object": "block",
- "id": "439e9657-0303-473c-8991-b2c837b1c3aa",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-08-09T07:33:00Z",
- "last_edited_time": "2024-08-09T07:33:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "heading_2",
- "heading_2": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "Equations",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "Equations",
- "href": null
- }
- ],
- "is_toggleable": false,
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "f0545305-a8ab-449a-aa23-e9617febf965",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-08-09T07:33:00Z",
- "last_edited_time": "2024-08-09T07:34:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "paragraph",
- "paragraph": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "This is an ",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "This is an ",
- "href": null
- },
- {
- "type": "equation",
- "equation": {
- "expression": "\\int_0^1\\sin(x)\\,dx"
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "\\int_0^1\\sin(x)\\,dx",
- "href": null
- },
- {
- "type": "text",
- "text": {
- "content": " inline equation. Below is a block equation:",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": " inline equation. Below is a block equation:",
- "href": null
- }
- ],
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "a0ea53e7-ca42-4d5d-8345-481bb74c8c2a",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-08-09T07:34:00Z",
- "last_edited_time": "2024-08-09T07:34:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "equation",
- "equation": {
- "expression": "\\int_0^1\\sin(x)\\,dx"
- }
- },
- {
- "object": "block",
- "id": "665dc9ee-ea74-46cf-9001-d07d4020b060",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-08-09T08:08:00Z",
- "last_edited_time": "2024-08-09T08:08:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "heading_2",
- "heading_2": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "Image blocks",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "Image blocks",
- "href": null
- }
- ],
- "is_toggleable": false,
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "98c78199-ef1c-497a-8e44-e1f3b511c3a9",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-08-09T08:08:00Z",
- "last_edited_time": "2024-08-09T08:11:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "image",
- "image": {
- "caption": [
- {
- "type": "text",
- "text": {
- "content": "This is a caption for the image",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "This is a caption for the image",
- "href": null
- }
- ],
- "type": "file",
- "file": {
- "url": "https://prod-files-secure.s3.us-west-2.amazonaws.com/d6000e68-0a06-463d-8914-d6dfe33f31b9/3141b657-2f3a-425a-9b44-d61df64d63e0/TextCortex_%282024-08-07_13_08_56%29_Create_a_drawing_of_a_scenic_v.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIAT73L2G45HZZMZUHI%2F20240809%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20240809T121557Z&X-Amz-Expires=3600&X-Amz-Signature=287d787db70873c68fd020453dffd592faa076352b40dabe5bb711e6b0ae5208&X-Amz-SignedHeaders=host&x-id=GetObject",
- "expiry_time": "2024-08-09T13:15:57Z"
- }
- }
- },
- {
- "object": "block",
- "id": "fdc1aa4c-b0d7-4636-bdee-0a56cfc7c54a",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-08-09T10:09:00Z",
- "last_edited_time": "2024-08-09T10:09:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "heading_2",
- "heading_2": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "Quotes",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "Quotes",
- "href": null
- }
- ],
- "is_toggleable": false,
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "23d455c3-7469-4f02-97b8-e260bc02f940",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-08-09T10:09:00Z",
- "last_edited_time": "2024-08-09T10:10:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "quote",
- "quote": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "Here is a quote\nSome ",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "Here is a quote\nSome ",
- "href": null
- },
- {
- "type": "text",
- "text": {
- "content": "formatted text",
- "link": null
- },
- "annotations": {
- "bold": true,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "formatted text",
- "href": null
- },
- {
- "type": "text",
- "text": {
- "content": " inside the quote",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": " inside the quote",
- "href": null
- }
- ],
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "f3308f29-797c-47f1-989c-ec823cfbda03",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-08-09T11:00:00Z",
- "last_edited_time": "2024-08-09T11:05:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "heading_2",
- "heading_2": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "Divider",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "Divider",
- "href": null
- }
- ],
- "is_toggleable": false,
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "f48c507b-46eb-4b92-a714-3cba4982fec2",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-08-09T11:05:00Z",
- "last_edited_time": "2024-08-09T11:05:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "paragraph",
- "paragraph": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "Here is a divider:",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "Here is a divider:",
- "href": null
- }
- ],
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "df320310-a087-4039-b3ef-28d0460f8664",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-08-09T11:05:00Z",
- "last_edited_time": "2024-08-09T11:05:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "divider",
- "divider": {}
- },
- {
- "object": "block",
- "id": "3378e979-29d3-4d53-b2dd-a4e2df80fef3",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-08-09T11:05:00Z",
- "last_edited_time": "2024-08-09T11:58:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "heading_2",
- "heading_2": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "Columns",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "Columns",
- "href": null
- }
- ],
- "is_toggleable": false,
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "175e5d39-7d7c-4428-81a7-b16824a78f6b",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-08-09T11:58:00Z",
- "last_edited_time": "2024-08-09T11:58:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "paragraph",
- "paragraph": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "Below is a 2 column example",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "Below is a 2 column example",
- "href": null
- }
- ],
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "32b17815-92d0-4fa3-8d72-ff65ca40c1dc",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-08-09T11:58:00Z",
- "last_edited_time": "2024-08-09T11:58:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": true,
- "archived": false,
- "in_trash": false,
- "type": "column_list",
- "column_list": {},
- "children": [
- {
- "object": "block",
- "id": "9f75c2d7-b90d-4b51-841d-47543b4a8097",
- "parent": {
- "type": "block_id",
- "block_id": "32b17815-92d0-4fa3-8d72-ff65ca40c1dc"
- },
- "created_time": "2024-08-09T11:58:00Z",
- "last_edited_time": "2024-08-09T11:58:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": true,
- "archived": false,
- "in_trash": false,
- "type": "column",
- "column": {},
- "children": [
- {
- "object": "block",
- "id": "99dd06e9-8faf-46e2-a84f-5476a2e8fb72",
- "parent": {
- "type": "block_id",
- "block_id": "9f75c2d7-b90d-4b51-841d-47543b4a8097"
- },
- "created_time": "2024-08-09T11:58:00Z",
- "last_edited_time": "2024-08-09T11:58:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "paragraph",
- "paragraph": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "First column",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "First column",
- "href": null
- }
- ],
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "c50858c0-4722-4fdb-9f24-0cb83be4fc71",
- "parent": {
- "type": "block_id",
- "block_id": "9f75c2d7-b90d-4b51-841d-47543b4a8097"
- },
- "created_time": "2024-08-09T11:58:00Z",
- "last_edited_time": "2024-08-09T11:58:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "to_do",
- "to_do": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "something",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "something",
- "href": null
- }
- ],
- "checked": false,
- "color": "default"
- }
- }
- ]
- },
- {
- "object": "block",
- "id": "ab7c74d6-e601-4627-9374-3a034d1389c2",
- "parent": {
- "type": "block_id",
- "block_id": "32b17815-92d0-4fa3-8d72-ff65ca40c1dc"
- },
- "created_time": "2024-08-09T11:58:00Z",
- "last_edited_time": "2024-08-09T11:58:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": true,
- "archived": false,
- "in_trash": false,
- "type": "column",
- "column": {},
- "children": [
- {
- "object": "block",
- "id": "37c2f36a-8f95-46be-ae1e-190c3f98c559",
- "parent": {
- "type": "block_id",
- "block_id": "ab7c74d6-e601-4627-9374-3a034d1389c2"
- },
- "created_time": "2024-08-09T11:58:00Z",
- "last_edited_time": "2024-08-09T11:58:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "paragraph",
- "paragraph": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "Second column",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "Second column",
- "href": null
- }
- ],
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "7af2cdff-d4fc-44d2-ac60-e47f3da4761b",
- "parent": {
- "type": "block_id",
- "block_id": "ab7c74d6-e601-4627-9374-3a034d1389c2"
- },
- "created_time": "2024-08-09T11:58:00Z",
- "last_edited_time": "2024-08-09T11:58:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": true,
- "archived": false,
- "in_trash": false,
- "type": "table",
- "table": {
- "table_width": 2,
- "has_column_header": false,
- "has_row_header": false
- },
- "children": [
- {
- "object": "block",
- "id": "5cb7a042-70af-472b-b410-451afb723d2a",
- "parent": {
- "type": "block_id",
- "block_id": "7af2cdff-d4fc-44d2-ac60-e47f3da4761b"
- },
- "created_time": "2024-08-09T11:58:00Z",
- "last_edited_time": "2024-08-09T11:58:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "table_row",
- "table_row": {
- "cells": [
- [
- {
- "type": "text",
- "text": {
- "content": "1",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "1",
- "href": null
- }
- ],
- [
- {
- "type": "text",
- "text": {
- "content": "2",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "2",
- "href": null
- }
- ]
- ]
- }
- },
- {
- "object": "block",
- "id": "92e59441-bef1-46fa-8e1b-a807131695d3",
- "parent": {
- "type": "block_id",
- "block_id": "7af2cdff-d4fc-44d2-ac60-e47f3da4761b"
- },
- "created_time": "2024-08-09T11:58:00Z",
- "last_edited_time": "2024-08-09T11:58:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "table_row",
- "table_row": {
- "cells": [
- [
- {
- "type": "text",
- "text": {
- "content": "3",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "3",
- "href": null
- }
- ],
- [
- {
- "type": "text",
- "text": {
- "content": "4",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "4",
- "href": null
- }
- ]
- ]
- }
- },
- {
- "object": "block",
- "id": "bb47ea02-ea18-47d2-9432-0b4acc27538e",
- "parent": {
- "type": "block_id",
- "block_id": "7af2cdff-d4fc-44d2-ac60-e47f3da4761b"
- },
- "created_time": "2024-08-09T11:58:00Z",
- "last_edited_time": "2024-08-09T11:58:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "table_row",
- "table_row": {
- "cells": [
- [
- {
- "type": "text",
- "text": {
- "content": "5",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "5",
- "href": null
- }
- ],
- [
- {
- "type": "text",
- "text": {
- "content": "6",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "6",
- "href": null
- }
- ]
- ]
- }
- }
- ]
- }
- ]
- }
- ]
- },
- {
- "object": "block",
- "id": "65dde59c-db9c-46a2-9e98-4a1b99ba644f",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-08-09T11:59:00Z",
- "last_edited_time": "2024-08-09T11:59:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "paragraph",
- "paragraph": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "Below is a 4 column example",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "Below is a 4 column example",
- "href": null
- }
- ],
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "ba1c4998-31d2-4fc6-a6ec-f8101752e41a",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-08-09T11:59:00Z",
- "last_edited_time": "2024-08-09T11:59:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": true,
- "archived": false,
- "in_trash": false,
- "type": "column_list",
- "column_list": {},
- "children": [
- {
- "object": "block",
- "id": "46e295c3-cf75-4434-9947-8af0833bb1bb",
- "parent": {
- "type": "block_id",
- "block_id": "ba1c4998-31d2-4fc6-a6ec-f8101752e41a"
- },
- "created_time": "2024-08-09T11:59:00Z",
- "last_edited_time": "2024-08-09T11:59:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": true,
- "archived": false,
- "in_trash": false,
- "type": "column",
- "column": {},
- "children": [
- {
- "object": "block",
- "id": "9deb01c3-339f-44de-873d-4f51b97355e2",
- "parent": {
- "type": "block_id",
- "block_id": "46e295c3-cf75-4434-9947-8af0833bb1bb"
- },
- "created_time": "2024-08-09T11:59:00Z",
- "last_edited_time": "2024-08-09T11:59:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "paragraph",
- "paragraph": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "Column 1",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "Column 1",
- "href": null
- }
- ],
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "bfcbb0ee-9a18-45ac-bfda-54f4c58f9f87",
- "parent": {
- "type": "block_id",
- "block_id": "46e295c3-cf75-4434-9947-8af0833bb1bb"
- },
- "created_time": "2024-08-09T11:59:00Z",
- "last_edited_time": "2024-08-09T11:59:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "bulleted_list_item",
- "bulleted_list_item": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "A list",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "A list",
- "href": null
- }
- ],
- "color": "default"
- }
- }
- ]
- },
- {
- "object": "block",
- "id": "ac0925fe-2403-4482-8672-e816f49520b6",
- "parent": {
- "type": "block_id",
- "block_id": "ba1c4998-31d2-4fc6-a6ec-f8101752e41a"
- },
- "created_time": "2024-08-09T11:59:00Z",
- "last_edited_time": "2024-08-09T11:59:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": true,
- "archived": false,
- "in_trash": false,
- "type": "column",
- "column": {},
- "children": [
- {
- "object": "block",
- "id": "09ef16e6-6822-4487-81dd-6de5efb88725",
- "parent": {
- "type": "block_id",
- "block_id": "ac0925fe-2403-4482-8672-e816f49520b6"
- },
- "created_time": "2024-08-09T11:59:00Z",
- "last_edited_time": "2024-08-09T11:59:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "paragraph",
- "paragraph": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "Column 2",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "Column 2",
- "href": null
- }
- ],
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "da439007-8b00-49b6-866c-40db7bc79024",
- "parent": {
- "type": "block_id",
- "block_id": "ac0925fe-2403-4482-8672-e816f49520b6"
- },
- "created_time": "2024-08-09T11:59:00Z",
- "last_edited_time": "2024-08-09T11:59:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "equation",
- "equation": {
- "expression": "a=b"
- }
- }
- ]
- },
- {
- "object": "block",
- "id": "30f487ba-df8e-483f-95e5-4362f59cd1bb",
- "parent": {
- "type": "block_id",
- "block_id": "ba1c4998-31d2-4fc6-a6ec-f8101752e41a"
- },
- "created_time": "2024-08-09T11:59:00Z",
- "last_edited_time": "2024-08-09T12:00:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": true,
- "archived": false,
- "in_trash": false,
- "type": "column",
- "column": {},
- "children": [
- {
- "object": "block",
- "id": "8f685774-d528-49c9-a4ed-f35f7e0c1e48",
- "parent": {
- "type": "block_id",
- "block_id": "30f487ba-df8e-483f-95e5-4362f59cd1bb"
- },
- "created_time": "2024-08-09T11:59:00Z",
- "last_edited_time": "2024-08-09T11:59:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "paragraph",
- "paragraph": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "Column 3",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "Column 3",
- "href": null
- }
- ],
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "33a3dfd2-6172-4c12-a4c1-b43e6c22a16b",
- "parent": {
- "type": "block_id",
- "block_id": "30f487ba-df8e-483f-95e5-4362f59cd1bb"
- },
- "created_time": "2024-08-09T11:59:00Z",
- "last_edited_time": "2024-08-09T11:59:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "divider",
- "divider": {}
- },
- {
- "object": "block",
- "id": "cbcf740b-c1e0-4267-9f87-0553b02693f2",
- "parent": {
- "type": "block_id",
- "block_id": "30f487ba-df8e-483f-95e5-4362f59cd1bb"
- },
- "created_time": "2024-08-09T12:00:00Z",
- "last_edited_time": "2024-08-09T12:00:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "heading_2",
- "heading_2": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "heading in column",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "heading in column",
- "href": null
- }
- ],
- "is_toggleable": false,
- "color": "default"
- }
- }
- ]
- },
- {
- "object": "block",
- "id": "8eb1b342-acf0-44be-b813-4f8348b385df",
- "parent": {
- "type": "block_id",
- "block_id": "ba1c4998-31d2-4fc6-a6ec-f8101752e41a"
- },
- "created_time": "2024-08-09T11:59:00Z",
- "last_edited_time": "2024-08-09T12:00:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": true,
- "archived": false,
- "in_trash": false,
- "type": "column",
- "column": {},
- "children": [
- {
- "object": "block",
- "id": "5b9f4e4b-e6d0-4f11-b4b9-2b6fa19e4c4f",
- "parent": {
- "type": "block_id",
- "block_id": "8eb1b342-acf0-44be-b813-4f8348b385df"
- },
- "created_time": "2024-08-09T11:59:00Z",
- "last_edited_time": "2024-08-09T11:59:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "paragraph",
- "paragraph": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "Column 4",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "Column 4",
- "href": null
- }
- ],
- "color": "default"
- }
- }
- ]
- }
- ]
- },
- {
- "object": "block",
- "id": "e208aed6-048e-4114-b645-50c0a5b394fb",
- "parent": {
- "type": "page_id",
- "page_id": "8d7dbc6b-5c55-4589-826c-1352450db04e"
- },
- "created_time": "2024-08-09T11:59:00Z",
- "last_edited_time": "2024-08-09T11:59:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "paragraph",
- "paragraph": {
- "rich_text": [],
- "color": "default"
- }
- },
- {
- "object": "block",
- "id": "e4c47a53-eea7-42cd-b51a-16fcbbaf5572",
- "parent": {
- "type": "block_id",
- "block_id": "8eb1b342-acf0-44be-b813-4f8348b385df"
- },
- "created_time": "2024-08-09T12:00:00Z",
- "last_edited_time": "2024-08-09T12:00:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": true,
- "archived": false,
- "in_trash": false,
- "type": "toggle",
- "toggle": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "toggle",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "toggle",
- "href": null
- }
- ],
- "color": "default"
- },
- "children": [
- {
- "object": "block",
- "id": "f79d961f-7b00-464f-b3b2-a745041cea50",
- "parent": {
- "type": "block_id",
- "block_id": "e4c47a53-eea7-42cd-b51a-16fcbbaf5572"
- },
- "created_time": "2024-08-09T12:00:00Z",
- "last_edited_time": "2024-08-09T12:00:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "paragraph",
- "paragraph": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "asdfasdfafd",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "asdfasdfafd",
- "href": null
- }
- ],
- "color": "default"
- }
- }
- ]
- }
- ]
+ "children": []
}
diff --git a/tests/run_serialization_tests.py b/tests/run_serialization_tests.py
index 648fdf1..7fef358 100644
--- a/tests/run_serialization_tests.py
+++ b/tests/run_serialization_tests.py
@@ -3,7 +3,7 @@
from jsondoc.serialize import load_page
from jsondoc.utils import load_json_file
-PAGE_PATH = "schema/page/ex2_success.json"
+PAGE_PATH = "schema/page/ex1_success.json"
def diff_strings(string1, string2):
From 852918d6509db62fbd7cf669cba53ea38b41deab Mon Sep 17 00:00:00 2001
From: Onur Solmaz <2453968+osolmaz@users.noreply.github.com>
Date: Wed, 4 Sep 2024 16:12:53 +0200
Subject: [PATCH 06/45] Correct children relationships
---
docs/children-blocks.md | 20 +++++++++++++++++++
schema/block/types/code/code_schema.json | 13 ++++++------
.../types/heading_1/heading_1_schema.json | 13 ++++++------
.../types/heading_2/heading_2_schema.json | 13 ++++++------
.../types/heading_3/heading_3_schema.json | 13 ++++++------
5 files changed, 48 insertions(+), 24 deletions(-)
create mode 100644 docs/children-blocks.md
diff --git a/docs/children-blocks.md b/docs/children-blocks.md
new file mode 100644
index 0000000..fb0346a
--- /dev/null
+++ b/docs/children-blocks.md
@@ -0,0 +1,20 @@
+
+Blocks that can have children
+
+## Block types with no restrictions on children types
+
+- `type: paragraph`
+- `type: toggle`
+- `type: bulleted_list_item`
+- `type: numbered_list_item`
+- `type: quote`
+- `type: synced_block`
+- `type: to_do`
+- `type: column`
+
+## Block types where children are restricted to a specific type
+
+- `type: column_list`
+ - Children type: `type: column`
+- `type: table`
+ - Children type: `type: table_row`
\ No newline at end of file
diff --git a/schema/block/types/code/code_schema.json b/schema/block/types/code/code_schema.json
index 5bf093d..a74442d 100644
--- a/schema/block/types/code/code_schema.json
+++ b/schema/block/types/code/code_schema.json
@@ -103,13 +103,14 @@
},
"required": ["rich_text"],
"additionalProperties": false
- },
- "children": {
- "type": "array",
- "items": {
- "$ref": "/block/block_schema.json"
- }
}
+ // Code block can't have children
+ // "children": {
+ // "type": "array",
+ // "items": {
+ // "$ref": "/block/block_schema.json"
+ // }
+ // }
},
"required": ["type", "code"],
"unevaluatedProperties": false
diff --git a/schema/block/types/heading_1/heading_1_schema.json b/schema/block/types/heading_1/heading_1_schema.json
index 9f2a8cf..3ae08d4 100644
--- a/schema/block/types/heading_1/heading_1_schema.json
+++ b/schema/block/types/heading_1/heading_1_schema.json
@@ -26,13 +26,14 @@
},
"required": ["rich_text"],
"additionalProperties": false
- },
- "children": {
- "type": "array",
- "items": {
- "$ref": "/block/block_schema.json"
- }
}
+ // Headings can't have children
+ // "children": {
+ // "type": "array",
+ // "items": {
+ // "$ref": "/block/block_schema.json"
+ // }
+ // }
},
"required": ["type", "heading_1"],
"unevaluatedProperties": false
diff --git a/schema/block/types/heading_2/heading_2_schema.json b/schema/block/types/heading_2/heading_2_schema.json
index b7cc4e9..b623b1f 100644
--- a/schema/block/types/heading_2/heading_2_schema.json
+++ b/schema/block/types/heading_2/heading_2_schema.json
@@ -25,13 +25,14 @@
}
},
"required": ["rich_text"]
- },
- "children": {
- "type": "array",
- "items": {
- "$ref": "/block/block_schema.json"
- }
}
+ // Headings can't have children
+ // "children": {
+ // "type": "array",
+ // "items": {
+ // "$ref": "/block/block_schema.json"
+ // }
+ // }
},
"required": ["type", "heading_2"],
"unevaluatedProperties": false
diff --git a/schema/block/types/heading_3/heading_3_schema.json b/schema/block/types/heading_3/heading_3_schema.json
index 533d281..227591f 100644
--- a/schema/block/types/heading_3/heading_3_schema.json
+++ b/schema/block/types/heading_3/heading_3_schema.json
@@ -25,13 +25,14 @@
}
},
"required": ["rich_text"]
- },
- "children": {
- "type": "array",
- "items": {
- "$ref": "/block/block_schema.json"
- }
}
+ // Headings can't have children
+ // "children": {
+ // "type": "array",
+ // "items": {
+ // "$ref": "/block/block_schema.json"
+ // }
+ // }
},
"required": ["type", "heading_3"],
"unevaluatedProperties": false
From 0e6ee4437aa3a76a2176e927d376f4ab7f026a18 Mon Sep 17 00:00:00 2001
From: Onur Solmaz <2453968+osolmaz@users.noreply.github.com>
Date: Wed, 4 Sep 2024 16:26:55 +0200
Subject: [PATCH 07/45] Minor
---
docs/differences-from-notion.md | 3 ++-
jsondoc/validate.py | 6 +++++-
tests/run_validation_tests.py | 2 ++
3 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/docs/differences-from-notion.md b/docs/differences-from-notion.md
index 8371f3c..f5a6f09 100644
--- a/docs/differences-from-notion.md
+++ b/docs/differences-from-notion.md
@@ -1,4 +1,5 @@
- Certain block types are not supported.
- TBD: List which ones
- Certain fields can be omitted, which would fall back to default values.
-- Metadata field is present in blocks.
\ No newline at end of file
+- Metadata field is present in blocks.
+- grep `// notion-diverge`
\ No newline at end of file
diff --git a/jsondoc/validate.py b/jsondoc/validate.py
index 24070aa..d1aa175 100644
--- a/jsondoc/validate.py
+++ b/jsondoc/validate.py
@@ -1,6 +1,7 @@
import argparse
import os
import sys
+import time
from jsonschema import Draft202012Validator, ValidationError, validate
from referencing import Registry, Resource
@@ -49,8 +50,11 @@ def retrieve(uri: str):
validator = Draft202012Validator(schema, registry=registry)
try:
+ start = time.time()
validator.validate(data)
- print(f"{data_path} is valid")
+ end = time.time()
+ elapsed_ms = (end - start) * 1000
+ print(f"{data_path} is valid (took {elapsed_ms:.3f}ms)")
sys.exit(0)
except ValidationError as e:
print(f"Validation error: {e}")
diff --git a/tests/run_validation_tests.py b/tests/run_validation_tests.py
index 5e0a6ac..355f5c3 100644
--- a/tests/run_validation_tests.py
+++ b/tests/run_validation_tests.py
@@ -15,6 +15,8 @@ def run_validation(schema_path, data_path, root=None):
if root is not None:
cmd.extend(["--root", root])
+ # print(" ".join(cmd))
+
result = subprocess.run(
cmd,
capture_output=True,
From 61c2dc31ddbe880ea0b196b1841e8e0133ecd293 Mon Sep 17 00:00:00 2001
From: Onur Solmaz <2453968+osolmaz@users.noreply.github.com>
Date: Wed, 4 Sep 2024 16:39:20 +0200
Subject: [PATCH 08/45] Time tests
---
jsondoc/utils.py | 14 +
jsondoc/validate.py | 2 +-
schema/page/ex1_success.json | 732 +++++++++++++++----------------
tests/run_serialization_tests.py | 7 +-
4 files changed, 386 insertions(+), 369 deletions(-)
diff --git a/jsondoc/utils.py b/jsondoc/utils.py
index 40a4599..43fb1f3 100644
--- a/jsondoc/utils.py
+++ b/jsondoc/utils.py
@@ -1,4 +1,6 @@
import json
+import time
+from contextlib import contextmanager
ARBITRARY_JSON_SCHEMA_OBJECT = {
"type": "object",
@@ -61,3 +63,15 @@ def set_nested_value(obj: dict | object, coordinates: str, value: any) -> None:
current[keys[-1]] = value
else:
setattr(current, keys[-1], value)
+
+
+@contextmanager
+def timer(name, unit="s"):
+ start_time = time.time()
+ yield
+ end_time = time.time()
+ elapsed = end_time - start_time
+ if unit == "ms":
+ print(f"{name} took {elapsed * 1000:.4f} milliseconds")
+ else:
+ print(f"{name} took {end_time - start_time:.4f} seconds")
diff --git a/jsondoc/validate.py b/jsondoc/validate.py
index d1aa175..bbeb6f1 100644
--- a/jsondoc/validate.py
+++ b/jsondoc/validate.py
@@ -53,7 +53,7 @@ def retrieve(uri: str):
start = time.time()
validator.validate(data)
end = time.time()
- elapsed_ms = (end - start) * 1000
+ elapsed_ms = (end - start) * 1000
print(f"{data_path} is valid (took {elapsed_ms:.3f}ms)")
sys.exit(0)
except ValidationError as e:
diff --git a/schema/page/ex1_success.json b/schema/page/ex1_success.json
index b4a1b21..1104b4b 100644
--- a/schema/page/ex1_success.json
+++ b/schema/page/ex1_success.json
@@ -441,372 +441,372 @@
"color": "default"
},
"children": [
- {
- "object": "block",
- "id": "bda4b6b0-cc82-49ed-81c1-2da3fe441c81",
- "parent": {
- "type": "block_id",
- "block_id": "58acde88-f2ab-400c-8d01-0f24b588b027"
- },
- "created_time": "2024-09-03T16:19:00Z",
- "last_edited_time": "2024-09-03T16:19:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": true,
- "archived": false,
- "in_trash": false,
- "type": "paragraph",
- "paragraph": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "Subparagraph level 7",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "Subparagraph level 7",
- "href": null
- }
- ],
- "color": "default"
- },
- "children": [
- {
- "object": "block",
- "id": "6560eb26-64a3-42b3-adfe-598a9d70b4d3",
- "parent": {
- "type": "block_id",
- "block_id": "bda4b6b0-cc82-49ed-81c1-2da3fe441c81"
- },
- "created_time": "2024-09-03T16:19:00Z",
- "last_edited_time": "2024-09-03T16:19:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": true,
- "archived": false,
- "in_trash": false,
- "type": "paragraph",
- "paragraph": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "Subparagraph level 8",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "Subparagraph level 8",
- "href": null
- }
- ],
- "color": "default"
- },
- "children": [
- {
- "object": "block",
- "id": "0158d0ea-5a3d-4a77-aa88-10aed4fc5d69",
- "parent": {
- "type": "block_id",
- "block_id": "6560eb26-64a3-42b3-adfe-598a9d70b4d3"
- },
- "created_time": "2024-09-03T16:19:00Z",
- "last_edited_time": "2024-09-03T16:19:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": true,
- "archived": false,
- "in_trash": false,
- "type": "paragraph",
- "paragraph": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "Subparagraph level 9",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "Subparagraph level 9",
- "href": null
- }
- ],
- "color": "default"
- },
- "children": [
- {
- "object": "block",
- "id": "ea4a318c-f324-417b-a2ae-5718408da4a4",
- "parent": {
- "type": "block_id",
- "block_id": "0158d0ea-5a3d-4a77-aa88-10aed4fc5d69"
- },
- "created_time": "2024-09-03T16:19:00Z",
- "last_edited_time": "2024-09-03T16:20:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": true,
- "archived": false,
- "in_trash": false,
- "type": "paragraph",
- "paragraph": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "Subparagraph level 10",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "Subparagraph level 10",
- "href": null
- }
- ],
- "color": "default"
- },
- "children": [
- {
- "object": "block",
- "id": "9f200f8f-586c-43a9-9f01-e6614dc65ccb",
- "parent": {
- "type": "block_id",
- "block_id": "ea4a318c-f324-417b-a2ae-5718408da4a4"
- },
- "created_time": "2024-09-03T16:19:00Z",
- "last_edited_time": "2024-09-03T16:20:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": true,
- "archived": false,
- "in_trash": false,
- "type": "paragraph",
- "paragraph": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "Subparagraph level 11",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "Subparagraph level 11",
- "href": null
- }
- ],
- "color": "default"
- },
- "children": [
- {
- "object": "block",
- "id": "43f2148e-f780-4e48-a2a3-e38984b02eaa",
- "parent": {
- "type": "block_id",
- "block_id": "9f200f8f-586c-43a9-9f01-e6614dc65ccb"
- },
- "created_time": "2024-09-03T16:19:00Z",
- "last_edited_time": "2024-09-03T16:20:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": true,
- "archived": false,
- "in_trash": false,
- "type": "paragraph",
- "paragraph": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "Subparagraph level 12",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "Subparagraph level 12",
- "href": null
- }
- ],
- "color": "default"
- },
- "children": [
- {
- "object": "block",
- "id": "de6c1aee-ab7c-4787-9c25-72168048365c",
- "parent": {
- "type": "block_id",
- "block_id": "43f2148e-f780-4e48-a2a3-e38984b02eaa"
- },
- "created_time": "2024-09-03T16:20:00Z",
- "last_edited_time": "2024-09-03T16:20:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": true,
- "archived": false,
- "in_trash": false,
- "type": "paragraph",
- "paragraph": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "Subparagraph level 13",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "Subparagraph level 13",
- "href": null
- }
- ],
- "color": "default"
- },
- "children": [
- {
- "object": "block",
- "id": "faf3ccaa-628f-431c-9c85-b752953396fe",
- "parent": {
- "type": "block_id",
- "block_id": "de6c1aee-ab7c-4787-9c25-72168048365c"
- },
- "created_time": "2024-09-03T16:20:00Z",
- "last_edited_time": "2024-09-03T16:20:00Z",
- "created_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "last_edited_by": {
- "object": "user",
- "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
- },
- "has_children": false,
- "archived": false,
- "in_trash": false,
- "type": "paragraph",
- "paragraph": {
- "rich_text": [
- {
- "type": "text",
- "text": {
- "content": "Subparagraph level 14",
- "link": null
- },
- "annotations": {
- "bold": false,
- "italic": false,
- "strikethrough": false,
- "underline": false,
- "code": false,
- "color": "default"
- },
- "plain_text": "Subparagraph level 14",
- "href": null
- }
- ],
- "color": "default"
- }
- }
- ]
- }
- ]
- }
- ]
- }
- ]
- }
- ]
- }
- ]
- }
- ]
- }
+ // {
+ // "object": "block",
+ // "id": "bda4b6b0-cc82-49ed-81c1-2da3fe441c81",
+ // "parent": {
+ // "type": "block_id",
+ // "block_id": "58acde88-f2ab-400c-8d01-0f24b588b027"
+ // },
+ // "created_time": "2024-09-03T16:19:00Z",
+ // "last_edited_time": "2024-09-03T16:19:00Z",
+ // "created_by": {
+ // "object": "user",
+ // "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ // },
+ // "last_edited_by": {
+ // "object": "user",
+ // "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ // },
+ // "has_children": true,
+ // "archived": false,
+ // "in_trash": false,
+ // "type": "paragraph",
+ // "paragraph": {
+ // "rich_text": [
+ // {
+ // "type": "text",
+ // "text": {
+ // "content": "Subparagraph level 7",
+ // "link": null
+ // },
+ // "annotations": {
+ // "bold": false,
+ // "italic": false,
+ // "strikethrough": false,
+ // "underline": false,
+ // "code": false,
+ // "color": "default"
+ // },
+ // "plain_text": "Subparagraph level 7",
+ // "href": null
+ // }
+ // ],
+ // "color": "default"
+ // },
+ // "children": [
+ // {
+ // "object": "block",
+ // "id": "6560eb26-64a3-42b3-adfe-598a9d70b4d3",
+ // "parent": {
+ // "type": "block_id",
+ // "block_id": "bda4b6b0-cc82-49ed-81c1-2da3fe441c81"
+ // },
+ // "created_time": "2024-09-03T16:19:00Z",
+ // "last_edited_time": "2024-09-03T16:19:00Z",
+ // "created_by": {
+ // "object": "user",
+ // "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ // },
+ // "last_edited_by": {
+ // "object": "user",
+ // "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ // },
+ // "has_children": true,
+ // "archived": false,
+ // "in_trash": false,
+ // "type": "paragraph",
+ // "paragraph": {
+ // "rich_text": [
+ // {
+ // "type": "text",
+ // "text": {
+ // "content": "Subparagraph level 8",
+ // "link": null
+ // },
+ // "annotations": {
+ // "bold": false,
+ // "italic": false,
+ // "strikethrough": false,
+ // "underline": false,
+ // "code": false,
+ // "color": "default"
+ // },
+ // "plain_text": "Subparagraph level 8",
+ // "href": null
+ // }
+ // ],
+ // "color": "default"
+ // },
+ // "children": [
+ // {
+ // "object": "block",
+ // "id": "0158d0ea-5a3d-4a77-aa88-10aed4fc5d69",
+ // "parent": {
+ // "type": "block_id",
+ // "block_id": "6560eb26-64a3-42b3-adfe-598a9d70b4d3"
+ // },
+ // "created_time": "2024-09-03T16:19:00Z",
+ // "last_edited_time": "2024-09-03T16:19:00Z",
+ // "created_by": {
+ // "object": "user",
+ // "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ // },
+ // "last_edited_by": {
+ // "object": "user",
+ // "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ // },
+ // "has_children": true,
+ // "archived": false,
+ // "in_trash": false,
+ // "type": "paragraph",
+ // "paragraph": {
+ // "rich_text": [
+ // {
+ // "type": "text",
+ // "text": {
+ // "content": "Subparagraph level 9",
+ // "link": null
+ // },
+ // "annotations": {
+ // "bold": false,
+ // "italic": false,
+ // "strikethrough": false,
+ // "underline": false,
+ // "code": false,
+ // "color": "default"
+ // },
+ // "plain_text": "Subparagraph level 9",
+ // "href": null
+ // }
+ // ],
+ // "color": "default"
+ // },
+ // "children": [
+ // {
+ // "object": "block",
+ // "id": "ea4a318c-f324-417b-a2ae-5718408da4a4",
+ // "parent": {
+ // "type": "block_id",
+ // "block_id": "0158d0ea-5a3d-4a77-aa88-10aed4fc5d69"
+ // },
+ // "created_time": "2024-09-03T16:19:00Z",
+ // "last_edited_time": "2024-09-03T16:20:00Z",
+ // "created_by": {
+ // "object": "user",
+ // "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ // },
+ // "last_edited_by": {
+ // "object": "user",
+ // "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ // },
+ // "has_children": true,
+ // "archived": false,
+ // "in_trash": false,
+ // "type": "paragraph",
+ // "paragraph": {
+ // "rich_text": [
+ // {
+ // "type": "text",
+ // "text": {
+ // "content": "Subparagraph level 10",
+ // "link": null
+ // },
+ // "annotations": {
+ // "bold": false,
+ // "italic": false,
+ // "strikethrough": false,
+ // "underline": false,
+ // "code": false,
+ // "color": "default"
+ // },
+ // "plain_text": "Subparagraph level 10",
+ // "href": null
+ // }
+ // ],
+ // "color": "default"
+ // },
+ // "children": [
+ // {
+ // "object": "block",
+ // "id": "9f200f8f-586c-43a9-9f01-e6614dc65ccb",
+ // "parent": {
+ // "type": "block_id",
+ // "block_id": "ea4a318c-f324-417b-a2ae-5718408da4a4"
+ // },
+ // "created_time": "2024-09-03T16:19:00Z",
+ // "last_edited_time": "2024-09-03T16:20:00Z",
+ // "created_by": {
+ // "object": "user",
+ // "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ // },
+ // "last_edited_by": {
+ // "object": "user",
+ // "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ // },
+ // "has_children": true,
+ // "archived": false,
+ // "in_trash": false,
+ // "type": "paragraph",
+ // "paragraph": {
+ // "rich_text": [
+ // {
+ // "type": "text",
+ // "text": {
+ // "content": "Subparagraph level 11",
+ // "link": null
+ // },
+ // "annotations": {
+ // "bold": false,
+ // "italic": false,
+ // "strikethrough": false,
+ // "underline": false,
+ // "code": false,
+ // "color": "default"
+ // },
+ // "plain_text": "Subparagraph level 11",
+ // "href": null
+ // }
+ // ],
+ // "color": "default"
+ // },
+ // "children": [
+ // {
+ // "object": "block",
+ // "id": "43f2148e-f780-4e48-a2a3-e38984b02eaa",
+ // "parent": {
+ // "type": "block_id",
+ // "block_id": "9f200f8f-586c-43a9-9f01-e6614dc65ccb"
+ // },
+ // "created_time": "2024-09-03T16:19:00Z",
+ // "last_edited_time": "2024-09-03T16:20:00Z",
+ // "created_by": {
+ // "object": "user",
+ // "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ // },
+ // "last_edited_by": {
+ // "object": "user",
+ // "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ // },
+ // "has_children": true,
+ // "archived": false,
+ // "in_trash": false,
+ // "type": "paragraph",
+ // "paragraph": {
+ // "rich_text": [
+ // {
+ // "type": "text",
+ // "text": {
+ // "content": "Subparagraph level 12",
+ // "link": null
+ // },
+ // "annotations": {
+ // "bold": false,
+ // "italic": false,
+ // "strikethrough": false,
+ // "underline": false,
+ // "code": false,
+ // "color": "default"
+ // },
+ // "plain_text": "Subparagraph level 12",
+ // "href": null
+ // }
+ // ],
+ // "color": "default"
+ // },
+ // "children": [
+ // {
+ // "object": "block",
+ // "id": "de6c1aee-ab7c-4787-9c25-72168048365c",
+ // "parent": {
+ // "type": "block_id",
+ // "block_id": "43f2148e-f780-4e48-a2a3-e38984b02eaa"
+ // },
+ // "created_time": "2024-09-03T16:20:00Z",
+ // "last_edited_time": "2024-09-03T16:20:00Z",
+ // "created_by": {
+ // "object": "user",
+ // "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ // },
+ // "last_edited_by": {
+ // "object": "user",
+ // "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ // },
+ // "has_children": true,
+ // "archived": false,
+ // "in_trash": false,
+ // "type": "paragraph",
+ // "paragraph": {
+ // "rich_text": [
+ // {
+ // "type": "text",
+ // "text": {
+ // "content": "Subparagraph level 13",
+ // "link": null
+ // },
+ // "annotations": {
+ // "bold": false,
+ // "italic": false,
+ // "strikethrough": false,
+ // "underline": false,
+ // "code": false,
+ // "color": "default"
+ // },
+ // "plain_text": "Subparagraph level 13",
+ // "href": null
+ // }
+ // ],
+ // "color": "default"
+ // },
+ // "children": [
+ // {
+ // "object": "block",
+ // "id": "faf3ccaa-628f-431c-9c85-b752953396fe",
+ // "parent": {
+ // "type": "block_id",
+ // "block_id": "de6c1aee-ab7c-4787-9c25-72168048365c"
+ // },
+ // "created_time": "2024-09-03T16:20:00Z",
+ // "last_edited_time": "2024-09-03T16:20:00Z",
+ // "created_by": {
+ // "object": "user",
+ // "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ // },
+ // "last_edited_by": {
+ // "object": "user",
+ // "id": "b9eb2a95-ab37-462d-b6ff-ff84080051f0"
+ // },
+ // "has_children": false,
+ // "archived": false,
+ // "in_trash": false,
+ // "type": "paragraph",
+ // "paragraph": {
+ // "rich_text": [
+ // {
+ // "type": "text",
+ // "text": {
+ // "content": "Subparagraph level 14",
+ // "link": null
+ // },
+ // "annotations": {
+ // "bold": false,
+ // "italic": false,
+ // "strikethrough": false,
+ // "underline": false,
+ // "code": false,
+ // "color": "default"
+ // },
+ // "plain_text": "Subparagraph level 14",
+ // "href": null
+ // }
+ // ],
+ // "color": "default"
+ // }
+ // }
+ // ]
+ // }
+ // ]
+ // }
+ // ]
+ // }
+ // ]
+ // }
+ // ]
+ // }
+ // ]
+ // }
+ // ]
+ // }
]
}
]
diff --git a/tests/run_serialization_tests.py b/tests/run_serialization_tests.py
index 7fef358..5176d29 100644
--- a/tests/run_serialization_tests.py
+++ b/tests/run_serialization_tests.py
@@ -1,7 +1,8 @@
import difflib
import json
+import time
from jsondoc.serialize import load_page
-from jsondoc.utils import load_json_file
+from jsondoc.utils import load_json_file, timer
PAGE_PATH = "schema/page/ex1_success.json"
@@ -37,7 +38,9 @@ def test_load_page():
content = load_json_file(PAGE_PATH)
# This should not raise any errors
- page = load_page(content)
+ with timer("load_page", unit="ms"):
+ page = load_page(content)
+
assert page is not None
# Serialize it again
From 4c127df294d3094638f9b70abdcde1ed2c1a9746 Mon Sep 17 00:00:00 2001
From: Onur Solmaz <2453968+osolmaz@users.noreply.github.com>
Date: Wed, 4 Sep 2024 18:12:54 +0200
Subject: [PATCH 09/45] Implement ALLOWED_CHILDREN_BLOCK_TYPES
---
docs/children-blocks.md | 4 +-
examples/html/html_nested_elements.html | 57 ++++++++++++++++++
jsondoc/convert/html.py | 35 ++++++-----
jsondoc/rules.py | 60 +++++++++++++++++++
jsondoc/{validate.py => validate/__init__.py} | 0
5 files changed, 141 insertions(+), 15 deletions(-)
create mode 100644 examples/html/html_nested_elements.html
create mode 100644 jsondoc/rules.py
rename jsondoc/{validate.py => validate/__init__.py} (100%)
diff --git a/docs/children-blocks.md b/docs/children-blocks.md
index fb0346a..b60b1bb 100644
--- a/docs/children-blocks.md
+++ b/docs/children-blocks.md
@@ -1,5 +1,7 @@
-Blocks that can have children
+# Children blocks
+
+See `jsondoc.validate.rules` for more details.
## Block types with no restrictions on children types
diff --git a/examples/html/html_nested_elements.html b/examples/html/html_nested_elements.html
new file mode 100644
index 0000000..dd81161
--- /dev/null
+++ b/examples/html/html_nested_elements.html
@@ -0,0 +1,57 @@
+
+
+
+
+
+
+
+ HTML Patterns
+
+
+
+
+
+
+
+
+
+ Nested HTML Elements
+ An example of nested HTML elements
+
+
+
+
+
+
+
+
+
+ This is an example of a nested paragraph.
+
This is a nested paragraph within the main paragraph.
+
This span is nested inside the paragraph.
+
This emphasized text is also nested.
+
And here's some strong text, nested as well.
+
+
+
+
+
diff --git a/jsondoc/convert/html.py b/jsondoc/convert/html.py
index b96a9ce..3b98342 100644
--- a/jsondoc/convert/html.py
+++ b/jsondoc/convert/html.py
@@ -112,6 +112,12 @@ def convert_soup(self, soup):
return self.process_tag(soup, convert_as_inline=False, children_only=True)
def process_tag(self, node, convert_as_inline, children_only=False):
+ """
+ Convert a BeautifulSoup node to JSON-DOC. Recurses through the children
+ nodes and converts them to JSON-DOC corresponding current block type
+ can have children or not.
+ children_only: To be called while inputting
+ """
text = ""
# markdown headings or cells can't include
@@ -122,7 +128,8 @@ def process_tag(self, node, convert_as_inline, children_only=False):
if not children_only and (isHeading or isCell):
convert_children_as_inline = True
-
+ if node.name == "span":
+ import ipdb; ipdb.set_trace()
# Remove whitespace-only textnodes in purely nested nodes
def is_nested_node(el):
return el and el.name in [
@@ -182,8 +189,8 @@ def process_text(self, el):
text = whitespace_re.sub(" ", text)
# escape special characters if we're not inside a preformatted or code element
- if not el.find_parent(["pre", "code", "kbd", "samp"]):
- text = self.escape(text)
+ # if not el.find_parent(["pre", "code", "kbd", "samp"]):
+ # text = self.escape(text)
# remove trailing whitespaces if any of the following condition is true:
# - current text node is the last node in li
@@ -221,17 +228,17 @@ def should_convert_tag(self, tag):
else:
return True
- def escape(self, text):
- if not text:
- return ""
- if self.options["escape_misc"]:
- text = re.sub(r"([\\&<`[>~#=+|-])", r"\\\1", text)
- text = re.sub(r"([0-9])([.)])", r"\1\\\2", text)
- if self.options["escape_asterisks"]:
- text = text.replace("*", r"\*")
- if self.options["escape_underscores"]:
- text = text.replace("_", r"\_")
- return text
+ # def escape(self, text):
+ # if not text:
+ # return ""
+ # if self.options["escape_misc"]:
+ # text = re.sub(r"([\\&<`[>~#=+|-])", r"\\\1", text)
+ # text = re.sub(r"([0-9])([.)])", r"\1\\\2", text)
+ # if self.options["escape_asterisks"]:
+ # text = text.replace("*", r"\*")
+ # if self.options["escape_underscores"]:
+ # text = text.replace("_", r"\_")
+ # return text
def indent(self, text, level):
return line_beginning_re.sub("\t" * level, text) if text else ""
diff --git a/jsondoc/rules.py b/jsondoc/rules.py
new file mode 100644
index 0000000..4c75491
--- /dev/null
+++ b/jsondoc/rules.py
@@ -0,0 +1,60 @@
+from jsondoc.models.block.types.bulleted_list_item import BulletedListItemBlock
+from jsondoc.models.block.types.code import CodeBlock
+from jsondoc.models.block.types.column import ColumnBlock
+from jsondoc.models.block.types.column_list import ColumnListBlock
+from jsondoc.models.block.types.divider import DividerBlock
+from jsondoc.models.block.types.equation import EquationBlock
+from jsondoc.models.block.types.heading_1 import Heading1Block
+from jsondoc.models.block.types.heading_2 import Heading2Block
+from jsondoc.models.block.types.heading_3 import Heading3Block
+from jsondoc.models.block.types.image import ImageBlock
+from jsondoc.models.block.types.numbered_list_item import NumberedListItemBlock
+from jsondoc.models.block.types.paragraph import ParagraphBlock
+from jsondoc.models.block.types.quote import QuoteBlock
+from jsondoc.models.block.types.table import TableBlock
+from jsondoc.models.block.types.table_row import TableRowBlock
+from jsondoc.models.block.types.to_do import ToDoBlock
+from jsondoc.models.block.types.toggle import ToggleBlock
+
+# TODO:
+# - If type: synced_block is added, add it down below as well
+
+ALL_BLOCK_TYPES = [
+ BulletedListItemBlock,
+ CodeBlock,
+ ColumnBlock,
+ ColumnListBlock,
+ DividerBlock,
+ EquationBlock,
+ Heading1Block,
+ Heading2Block,
+ Heading3Block,
+ ImageBlock,
+ NumberedListItemBlock,
+ ParagraphBlock,
+ QuoteBlock,
+ TableBlock,
+ TableRowBlock,
+ ToDoBlock,
+ ToggleBlock,
+]
+
+ALLOWED_CHILDREN_BLOCK_TYPES = {
+ BulletedListItemBlock: ALL_BLOCK_TYPES,
+ CodeBlock: [],
+ ColumnBlock: ALL_BLOCK_TYPES,
+ ColumnListBlock: [ColumnBlock],
+ DividerBlock: [],
+ EquationBlock: [],
+ Heading1Block: [],
+ Heading2Block: [],
+ Heading3Block: [],
+ ImageBlock: [],
+ NumberedListItemBlock: ALL_BLOCK_TYPES,
+ ParagraphBlock: ALL_BLOCK_TYPES,
+ QuoteBlock: ALL_BLOCK_TYPES,
+ TableBlock: [TableRowBlock],
+ TableRowBlock: [],
+ ToDoBlock: ALL_BLOCK_TYPES,
+ ToggleBlock: ALL_BLOCK_TYPES,
+}
diff --git a/jsondoc/validate.py b/jsondoc/validate/__init__.py
similarity index 100%
rename from jsondoc/validate.py
rename to jsondoc/validate/__init__.py
From 06a105ba8d42cf3f5fd680dbe5f47385e2961da9 Mon Sep 17 00:00:00 2001
From: Onur Solmaz <2453968+osolmaz@users.noreply.github.com>
Date: Thu, 5 Sep 2024 00:53:06 +0200
Subject: [PATCH 10/45] wip
---
jsondoc/convert/html.py | 56 +++++++++++++----
jsondoc/convert/utils.py | 61 +++++++++++++++++++
jsondoc/models/block/__init__.py | 2 +-
jsondoc/models/block/base/__init__.py | 4 +-
.../types/bulleted_list_item/__init__.py | 2 +-
jsondoc/models/block/types/code/__init__.py | 6 +-
jsondoc/models/block/types/column/__init__.py | 2 +-
.../block/types/column_list/__init__.py | 2 +-
.../models/block/types/divider/__init__.py | 2 +-
.../models/block/types/equation/__init__.py | 2 +-
.../models/block/types/heading_1/__init__.py | 6 +-
.../models/block/types/heading_2/__init__.py | 6 +-
.../models/block/types/heading_3/__init__.py | 6 +-
jsondoc/models/block/types/image/__init__.py | 2 +-
.../types/image/external_image/__init__.py | 2 +-
.../block/types/image/file_image/__init__.py | 2 +-
.../types/numbered_list_item/__init__.py | 2 +-
.../models/block/types/paragraph/__init__.py | 2 +-
jsondoc/models/block/types/quote/__init__.py | 2 +-
.../models/block/types/rich_text/__init__.py | 2 +-
.../block/types/rich_text/base/__init__.py | 2 +-
.../types/rich_text/equation/__init__.py | 15 ++---
.../block/types/rich_text/text/__init__.py | 17 ++----
jsondoc/models/block/types/table/__init__.py | 2 +-
.../models/block/types/table_row/__init__.py | 2 +-
jsondoc/models/block/types/to_do/__init__.py | 2 +-
jsondoc/models/block/types/toggle/__init__.py | 2 +-
jsondoc/models/file/__init__.py | 2 +-
jsondoc/models/file/base/__init__.py | 2 +-
jsondoc/models/file/external/__init__.py | 2 +-
jsondoc/models/file/file/__init__.py | 2 +-
jsondoc/models/page/__init__.py | 2 +-
jsondoc/models/shared_definitions/__init__.py | 15 ++++-
jsondoc/utils.py | 5 ++
schema/block/base/base_schema.json | 3 +-
.../rich_text/equation/equation_schema.json | 30 +--------
.../types/rich_text/text/text_schema.json | 30 +--------
.../shared_definitions_schema.json | 41 +++++++++++++
38 files changed, 206 insertions(+), 141 deletions(-)
create mode 100644 jsondoc/convert/utils.py
diff --git a/jsondoc/convert/html.py b/jsondoc/convert/html.py
index 3b98342..81ce683 100644
--- a/jsondoc/convert/html.py
+++ b/jsondoc/convert/html.py
@@ -3,6 +3,26 @@
import re
import six
+from jsondoc.convert.utils import create_paragraph_block
+from jsondoc.models.block.types.bulleted_list_item import BulletedListItemBlock
+from jsondoc.models.block.types.code import CodeBlock
+from jsondoc.models.block.types.column import ColumnBlock
+from jsondoc.models.block.types.column_list import ColumnListBlock
+from jsondoc.models.block.types.divider import DividerBlock
+from jsondoc.models.block.types.equation import EquationBlock
+from jsondoc.models.block.types.heading_1 import Heading1Block
+from jsondoc.models.block.types.heading_2 import Heading2Block
+from jsondoc.models.block.types.heading_3 import Heading3Block
+from jsondoc.models.block.types.image import ImageBlock
+from jsondoc.models.block.types.numbered_list_item import NumberedListItemBlock
+from jsondoc.models.block.types.paragraph import Paragraph, ParagraphBlock
+from jsondoc.models.block.types.quote import QuoteBlock
+from jsondoc.models.block.types.rich_text.text import RichTextText
+from jsondoc.models.block.types.table import TableBlock
+from jsondoc.models.block.types.table_row import TableRowBlock
+from jsondoc.models.block.types.to_do import ToDoBlock
+from jsondoc.models.block.types.toggle import ToggleBlock
+
convert_heading_re = re.compile(r"convert_h(\d+)")
line_beginning_re = re.compile(r"^", re.MULTILINE)
@@ -116,20 +136,23 @@ def process_tag(self, node, convert_as_inline, children_only=False):
Convert a BeautifulSoup node to JSON-DOC. Recurses through the children
nodes and converts them to JSON-DOC corresponding current block type
can have children or not.
- children_only: To be called while inputting
+ children_only: Is true only at the top level entry point.
"""
text = ""
# markdown headings or cells can't include
# block elements (elements w/newlines)
- isHeading = html_heading_re.match(node.name) is not None
- isCell = node.name in ["td", "th"]
+ is_heading = html_heading_re.match(node.name) is not None
+ is_cell = node.name in ["td", "th"]
convert_children_as_inline = convert_as_inline
- if not children_only and (isHeading or isCell):
+ if not children_only and (is_heading or is_cell):
convert_children_as_inline = True
if node.name == "span":
- import ipdb; ipdb.set_trace()
+ import ipdb
+
+ ipdb.set_trace()
+
# Remove whitespace-only textnodes in purely nested nodes
def is_nested_node(el):
return el and el.name in [
@@ -382,14 +405,21 @@ def convert_li(self, el, text, convert_as_inline):
def convert_p(self, el, text, convert_as_inline):
if convert_as_inline:
return text
- if self.options["wrap"]:
- text = fill(
- text,
- width=self.options["wrap_width"],
- break_long_words=False,
- break_on_hyphens=False,
- )
- return "%s\n\n" % text if text else ""
+
+ # if self.options["wrap"]:
+ # text = fill(
+ # text,
+ # width=self.options["wrap_width"],
+ # break_long_words=False,
+ # break_on_hyphens=False,
+ # )
+ # return "%s\n\n" % text if text else ""
+ # return ParagraphBlock(
+ # paragraph=Paragraph(
+ # rich_text=[RichTextText(text=text)],
+ # )
+ # )
+ return create_paragraph_block(text=text)
def convert_pre(self, el, text, convert_as_inline):
if not text:
diff --git a/jsondoc/convert/utils.py b/jsondoc/convert/utils.py
new file mode 100644
index 0000000..b843569
--- /dev/null
+++ b/jsondoc/convert/utils.py
@@ -0,0 +1,61 @@
+from datetime import datetime, timezone
+from jsondoc.models.block.types.paragraph import Paragraph, ParagraphBlock
+from jsondoc.models.block.types.rich_text.text import Link, RichTextText, Text
+from jsondoc.models.shared_definitions import Annotations
+from jsondoc.utils import generate_id
+
+
+def create_rich_text(
+ text: str,
+ url: str = None,
+ bold: bool = False,
+ italic: bool = False,
+ strikethrough: bool = False,
+ underline: bool = False,
+ code: bool = False,
+ color: str = "default",
+) -> RichTextText:
+ return RichTextText(
+ type="text",
+ text=Text(
+ content=text,
+ link=Link(url=url) if url else None,
+ ),
+ annotations=Annotations(
+ bold=bold,
+ italic=italic,
+ strikethrough=strikethrough,
+ underline=underline,
+ code=code,
+ color=color,
+ ),
+ plain_text=text,
+ )
+
+
+def create_paragraph_block(
+ text: str,
+ id=None,
+ created_time=None,
+ **kwargs,
+) -> ParagraphBlock:
+ if id is None:
+ id = generate_id()
+ if created_time is None:
+ created_time = datetime.now(tz=timezone.utc)
+
+ return ParagraphBlock(
+ id=id,
+ object="block",
+ created_time=created_time,
+ type="paragraph",
+ paragraph=Paragraph(
+ rich_text=[
+ create_rich_text(text, **kwargs),
+ ]
+ ),
+ has_children=False,
+ )
+
+
+# print(create_paragraph_block("Hello, world!"))
diff --git a/jsondoc/models/block/__init__.py b/jsondoc/models/block/__init__.py
index d585287..571066f 100644
--- a/jsondoc/models/block/__init__.py
+++ b/jsondoc/models/block/__init__.py
@@ -1,6 +1,6 @@
# generated by datamodel-codegen:
# filename: example.json
-# timestamp: 2024-08-21T17:19:54+00:00
+# timestamp: 2024-09-04T22:43:27+00:00
from __future__ import annotations
diff --git a/jsondoc/models/block/base/__init__.py b/jsondoc/models/block/base/__init__.py
index 0ea8f87..f109713 100644
--- a/jsondoc/models/block/base/__init__.py
+++ b/jsondoc/models/block/base/__init__.py
@@ -1,6 +1,6 @@
# generated by datamodel-codegen:
# filename: example.json
-# timestamp: 2024-08-21T17:19:54+00:00
+# timestamp: 2024-09-04T22:43:27+00:00
from __future__ import annotations
@@ -44,7 +44,7 @@ class BlockBase(BaseModel):
created_by: Optional[CreatedBy] = None
last_edited_time: Optional[AwareDatetime] = None
last_edited_by: Optional[LastEditedBy] = None
- archived: bool
+ archived: Optional[bool] = None
in_trash: Optional[bool] = None
has_children: bool
metadata: Optional[Dict[str, Any]] = None
diff --git a/jsondoc/models/block/types/bulleted_list_item/__init__.py b/jsondoc/models/block/types/bulleted_list_item/__init__.py
index 991dbc3..4c865e8 100644
--- a/jsondoc/models/block/types/bulleted_list_item/__init__.py
+++ b/jsondoc/models/block/types/bulleted_list_item/__init__.py
@@ -1,6 +1,6 @@
# generated by datamodel-codegen:
# filename: example.json
-# timestamp: 2024-08-21T17:19:54+00:00
+# timestamp: 2024-09-04T22:43:27+00:00
from __future__ import annotations
diff --git a/jsondoc/models/block/types/code/__init__.py b/jsondoc/models/block/types/code/__init__.py
index 18c2031..cacd763 100644
--- a/jsondoc/models/block/types/code/__init__.py
+++ b/jsondoc/models/block/types/code/__init__.py
@@ -1,6 +1,6 @@
# generated by datamodel-codegen:
# filename: example.json
-# timestamp: 2024-08-21T17:19:54+00:00
+# timestamp: 2024-09-04T22:43:27+00:00
from __future__ import annotations
@@ -99,9 +99,5 @@ class Code(BaseModel):
class CodeBlock(BlockBase):
- model_config = ConfigDict(
- arbitrary_types_allowed=True,
- )
type: Literal['code']
code: Code
- children: Optional[List[BlockBase]] = None
diff --git a/jsondoc/models/block/types/column/__init__.py b/jsondoc/models/block/types/column/__init__.py
index 61f5c20..c31b4d5 100644
--- a/jsondoc/models/block/types/column/__init__.py
+++ b/jsondoc/models/block/types/column/__init__.py
@@ -1,6 +1,6 @@
# generated by datamodel-codegen:
# filename: example.json
-# timestamp: 2024-08-21T17:19:54+00:00
+# timestamp: 2024-09-04T22:43:27+00:00
from __future__ import annotations
diff --git a/jsondoc/models/block/types/column_list/__init__.py b/jsondoc/models/block/types/column_list/__init__.py
index 693306a..49a5ac0 100644
--- a/jsondoc/models/block/types/column_list/__init__.py
+++ b/jsondoc/models/block/types/column_list/__init__.py
@@ -1,6 +1,6 @@
# generated by datamodel-codegen:
# filename: example.json
-# timestamp: 2024-08-21T17:19:54+00:00
+# timestamp: 2024-09-04T22:43:27+00:00
from __future__ import annotations
diff --git a/jsondoc/models/block/types/divider/__init__.py b/jsondoc/models/block/types/divider/__init__.py
index 8e167f6..98373fc 100644
--- a/jsondoc/models/block/types/divider/__init__.py
+++ b/jsondoc/models/block/types/divider/__init__.py
@@ -1,6 +1,6 @@
# generated by datamodel-codegen:
# filename: example.json
-# timestamp: 2024-08-21T17:19:54+00:00
+# timestamp: 2024-09-04T22:43:27+00:00
from __future__ import annotations
diff --git a/jsondoc/models/block/types/equation/__init__.py b/jsondoc/models/block/types/equation/__init__.py
index e5f10c0..09e992a 100644
--- a/jsondoc/models/block/types/equation/__init__.py
+++ b/jsondoc/models/block/types/equation/__init__.py
@@ -1,6 +1,6 @@
# generated by datamodel-codegen:
# filename: example.json
-# timestamp: 2024-08-21T17:19:54+00:00
+# timestamp: 2024-09-04T22:43:27+00:00
from __future__ import annotations
diff --git a/jsondoc/models/block/types/heading_1/__init__.py b/jsondoc/models/block/types/heading_1/__init__.py
index 5bcf594..1397767 100644
--- a/jsondoc/models/block/types/heading_1/__init__.py
+++ b/jsondoc/models/block/types/heading_1/__init__.py
@@ -1,6 +1,6 @@
# generated by datamodel-codegen:
# filename: example.json
-# timestamp: 2024-08-21T17:19:54+00:00
+# timestamp: 2024-09-04T22:43:27+00:00
from __future__ import annotations
@@ -24,9 +24,5 @@ class Heading1(BaseModel):
class Heading1Block(BlockBase):
- model_config = ConfigDict(
- arbitrary_types_allowed=True,
- )
type: Literal['heading_1']
heading_1: Heading1
- children: Optional[List[BlockBase]] = None
diff --git a/jsondoc/models/block/types/heading_2/__init__.py b/jsondoc/models/block/types/heading_2/__init__.py
index bfaeb95..35fcc82 100644
--- a/jsondoc/models/block/types/heading_2/__init__.py
+++ b/jsondoc/models/block/types/heading_2/__init__.py
@@ -1,6 +1,6 @@
# generated by datamodel-codegen:
# filename: example.json
-# timestamp: 2024-08-21T17:19:54+00:00
+# timestamp: 2024-09-04T22:43:27+00:00
from __future__ import annotations
@@ -23,9 +23,5 @@ class Heading2(BaseModel):
class Heading2Block(BlockBase):
- model_config = ConfigDict(
- arbitrary_types_allowed=True,
- )
type: Literal['heading_2']
heading_2: Heading2
- children: Optional[List[BlockBase]] = None
diff --git a/jsondoc/models/block/types/heading_3/__init__.py b/jsondoc/models/block/types/heading_3/__init__.py
index a5d5c79..b912381 100644
--- a/jsondoc/models/block/types/heading_3/__init__.py
+++ b/jsondoc/models/block/types/heading_3/__init__.py
@@ -1,6 +1,6 @@
# generated by datamodel-codegen:
# filename: example.json
-# timestamp: 2024-08-21T17:19:54+00:00
+# timestamp: 2024-09-04T22:43:27+00:00
from __future__ import annotations
@@ -23,9 +23,5 @@ class Heading3(BaseModel):
class Heading3Block(BlockBase):
- model_config = ConfigDict(
- arbitrary_types_allowed=True,
- )
type: Literal['heading_3']
heading_3: Heading3
- children: Optional[List[BlockBase]] = None
diff --git a/jsondoc/models/block/types/image/__init__.py b/jsondoc/models/block/types/image/__init__.py
index a202c7a..79c8f5f 100644
--- a/jsondoc/models/block/types/image/__init__.py
+++ b/jsondoc/models/block/types/image/__init__.py
@@ -1,6 +1,6 @@
# generated by datamodel-codegen:
# filename: example.json
-# timestamp: 2024-08-21T17:19:54+00:00
+# timestamp: 2024-09-04T22:43:27+00:00
from __future__ import annotations
diff --git a/jsondoc/models/block/types/image/external_image/__init__.py b/jsondoc/models/block/types/image/external_image/__init__.py
index 6c620c7..2fa7816 100644
--- a/jsondoc/models/block/types/image/external_image/__init__.py
+++ b/jsondoc/models/block/types/image/external_image/__init__.py
@@ -1,6 +1,6 @@
# generated by datamodel-codegen:
# filename: example.json
-# timestamp: 2024-08-21T17:19:54+00:00
+# timestamp: 2024-09-04T22:43:27+00:00
from __future__ import annotations
diff --git a/jsondoc/models/block/types/image/file_image/__init__.py b/jsondoc/models/block/types/image/file_image/__init__.py
index d8939b4..3464307 100644
--- a/jsondoc/models/block/types/image/file_image/__init__.py
+++ b/jsondoc/models/block/types/image/file_image/__init__.py
@@ -1,6 +1,6 @@
# generated by datamodel-codegen:
# filename: example.json
-# timestamp: 2024-08-21T17:19:54+00:00
+# timestamp: 2024-09-04T22:43:27+00:00
from __future__ import annotations
diff --git a/jsondoc/models/block/types/numbered_list_item/__init__.py b/jsondoc/models/block/types/numbered_list_item/__init__.py
index 9ab0557..15a89f6 100644
--- a/jsondoc/models/block/types/numbered_list_item/__init__.py
+++ b/jsondoc/models/block/types/numbered_list_item/__init__.py
@@ -1,6 +1,6 @@
# generated by datamodel-codegen:
# filename: example.json
-# timestamp: 2024-08-21T17:19:54+00:00
+# timestamp: 2024-09-04T22:43:27+00:00
from __future__ import annotations
diff --git a/jsondoc/models/block/types/paragraph/__init__.py b/jsondoc/models/block/types/paragraph/__init__.py
index 47c81f8..6cedfde 100644
--- a/jsondoc/models/block/types/paragraph/__init__.py
+++ b/jsondoc/models/block/types/paragraph/__init__.py
@@ -1,6 +1,6 @@
# generated by datamodel-codegen:
# filename: example.json
-# timestamp: 2024-08-21T17:19:54+00:00
+# timestamp: 2024-09-04T22:43:27+00:00
from __future__ import annotations
diff --git a/jsondoc/models/block/types/quote/__init__.py b/jsondoc/models/block/types/quote/__init__.py
index 406ee5d..c262b78 100644
--- a/jsondoc/models/block/types/quote/__init__.py
+++ b/jsondoc/models/block/types/quote/__init__.py
@@ -1,6 +1,6 @@
# generated by datamodel-codegen:
# filename: example.json
-# timestamp: 2024-08-21T17:19:54+00:00
+# timestamp: 2024-09-04T22:43:27+00:00
from __future__ import annotations
diff --git a/jsondoc/models/block/types/rich_text/__init__.py b/jsondoc/models/block/types/rich_text/__init__.py
index 1527263..0be0b8b 100644
--- a/jsondoc/models/block/types/rich_text/__init__.py
+++ b/jsondoc/models/block/types/rich_text/__init__.py
@@ -1,6 +1,6 @@
# generated by datamodel-codegen:
# filename: example.json
-# timestamp: 2024-08-21T17:19:54+00:00
+# timestamp: 2024-09-04T22:43:27+00:00
from __future__ import annotations
diff --git a/jsondoc/models/block/types/rich_text/base/__init__.py b/jsondoc/models/block/types/rich_text/base/__init__.py
index 1291b8d..c546728 100644
--- a/jsondoc/models/block/types/rich_text/base/__init__.py
+++ b/jsondoc/models/block/types/rich_text/base/__init__.py
@@ -1,6 +1,6 @@
# generated by datamodel-codegen:
# filename: example.json
-# timestamp: 2024-08-21T17:19:54+00:00
+# timestamp: 2024-09-04T22:43:27+00:00
from __future__ import annotations
diff --git a/jsondoc/models/block/types/rich_text/equation/__init__.py b/jsondoc/models/block/types/rich_text/equation/__init__.py
index 42a3663..44b4cf7 100644
--- a/jsondoc/models/block/types/rich_text/equation/__init__.py
+++ b/jsondoc/models/block/types/rich_text/equation/__init__.py
@@ -1,12 +1,13 @@
# generated by datamodel-codegen:
# filename: example.json
-# timestamp: 2024-08-21T17:19:54+00:00
+# timestamp: 2024-09-04T22:43:27+00:00
from __future__ import annotations
from typing import Optional
from jsondoc.models.block.types.rich_text.base import RichTextBase
+from jsondoc.models.shared_definitions import Annotations
from pydantic import BaseModel, ConfigDict
from typing_extensions import Literal
@@ -18,16 +19,10 @@ class Equation(BaseModel):
expression: str
-class Annotations(BaseModel):
- bold: bool
- italic: bool
- strikethrough: bool
- underline: bool
- code: bool
- color: str
-
-
class RichTextEquation(RichTextBase):
+ model_config = ConfigDict(
+ arbitrary_types_allowed=True,
+ )
type: Literal['equation']
equation: Equation
annotations: Annotations
diff --git a/jsondoc/models/block/types/rich_text/text/__init__.py b/jsondoc/models/block/types/rich_text/text/__init__.py
index dcd4594..b28584b 100644
--- a/jsondoc/models/block/types/rich_text/text/__init__.py
+++ b/jsondoc/models/block/types/rich_text/text/__init__.py
@@ -1,13 +1,14 @@
# generated by datamodel-codegen:
# filename: example.json
-# timestamp: 2024-08-21T17:19:54+00:00
+# timestamp: 2024-09-04T22:43:27+00:00
from __future__ import annotations
from typing import Optional
from jsondoc.models.block.types.rich_text.base import RichTextBase
-from pydantic import BaseModel
+from jsondoc.models.shared_definitions import Annotations
+from pydantic import BaseModel, ConfigDict
from typing_extensions import Literal
@@ -20,16 +21,10 @@ class Text(BaseModel):
link: Optional[Link] = None
-class Annotations(BaseModel):
- bold: bool
- italic: bool
- strikethrough: bool
- underline: bool
- code: bool
- color: str
-
-
class RichTextText(RichTextBase):
+ model_config = ConfigDict(
+ arbitrary_types_allowed=True,
+ )
type: Literal['text']
text: Text
annotations: Annotations
diff --git a/jsondoc/models/block/types/table/__init__.py b/jsondoc/models/block/types/table/__init__.py
index a9861f2..c1130ca 100644
--- a/jsondoc/models/block/types/table/__init__.py
+++ b/jsondoc/models/block/types/table/__init__.py
@@ -1,6 +1,6 @@
# generated by datamodel-codegen:
# filename: example.json
-# timestamp: 2024-08-21T17:19:54+00:00
+# timestamp: 2024-09-04T22:43:27+00:00
from __future__ import annotations
diff --git a/jsondoc/models/block/types/table_row/__init__.py b/jsondoc/models/block/types/table_row/__init__.py
index e9e6243..c58953c 100644
--- a/jsondoc/models/block/types/table_row/__init__.py
+++ b/jsondoc/models/block/types/table_row/__init__.py
@@ -1,6 +1,6 @@
# generated by datamodel-codegen:
# filename: example.json
-# timestamp: 2024-08-21T17:19:54+00:00
+# timestamp: 2024-09-04T22:43:27+00:00
from __future__ import annotations
diff --git a/jsondoc/models/block/types/to_do/__init__.py b/jsondoc/models/block/types/to_do/__init__.py
index 4e75f0d..0175983 100644
--- a/jsondoc/models/block/types/to_do/__init__.py
+++ b/jsondoc/models/block/types/to_do/__init__.py
@@ -1,6 +1,6 @@
# generated by datamodel-codegen:
# filename: example.json
-# timestamp: 2024-08-21T17:19:54+00:00
+# timestamp: 2024-09-04T22:43:27+00:00
from __future__ import annotations
diff --git a/jsondoc/models/block/types/toggle/__init__.py b/jsondoc/models/block/types/toggle/__init__.py
index d062e76..d14b19e 100644
--- a/jsondoc/models/block/types/toggle/__init__.py
+++ b/jsondoc/models/block/types/toggle/__init__.py
@@ -1,6 +1,6 @@
# generated by datamodel-codegen:
# filename: example.json
-# timestamp: 2024-08-21T17:19:54+00:00
+# timestamp: 2024-09-04T22:43:27+00:00
from __future__ import annotations
diff --git a/jsondoc/models/file/__init__.py b/jsondoc/models/file/__init__.py
index a453a48..5b16fa8 100644
--- a/jsondoc/models/file/__init__.py
+++ b/jsondoc/models/file/__init__.py
@@ -1,6 +1,6 @@
# generated by datamodel-codegen:
# filename: example.json
-# timestamp: 2024-08-21T17:19:54+00:00
+# timestamp: 2024-09-04T22:43:27+00:00
from __future__ import annotations
diff --git a/jsondoc/models/file/base/__init__.py b/jsondoc/models/file/base/__init__.py
index 89efdc1..c704e5c 100644
--- a/jsondoc/models/file/base/__init__.py
+++ b/jsondoc/models/file/base/__init__.py
@@ -1,6 +1,6 @@
# generated by datamodel-codegen:
# filename: example.json
-# timestamp: 2024-08-21T17:19:54+00:00
+# timestamp: 2024-09-04T22:43:27+00:00
from __future__ import annotations
diff --git a/jsondoc/models/file/external/__init__.py b/jsondoc/models/file/external/__init__.py
index 90bec60..07a3654 100644
--- a/jsondoc/models/file/external/__init__.py
+++ b/jsondoc/models/file/external/__init__.py
@@ -1,6 +1,6 @@
# generated by datamodel-codegen:
# filename: example.json
-# timestamp: 2024-08-21T17:19:54+00:00
+# timestamp: 2024-09-04T22:43:27+00:00
from __future__ import annotations
diff --git a/jsondoc/models/file/file/__init__.py b/jsondoc/models/file/file/__init__.py
index 44d562d..52e0896 100644
--- a/jsondoc/models/file/file/__init__.py
+++ b/jsondoc/models/file/file/__init__.py
@@ -1,6 +1,6 @@
# generated by datamodel-codegen:
# filename: example.json
-# timestamp: 2024-08-21T17:19:54+00:00
+# timestamp: 2024-09-04T22:43:27+00:00
from __future__ import annotations
diff --git a/jsondoc/models/page/__init__.py b/jsondoc/models/page/__init__.py
index dfa9327..e1fd4d9 100644
--- a/jsondoc/models/page/__init__.py
+++ b/jsondoc/models/page/__init__.py
@@ -1,6 +1,6 @@
# generated by datamodel-codegen:
# filename: example.json
-# timestamp: 2024-08-21T17:19:54+00:00
+# timestamp: 2024-09-04T22:43:27+00:00
from __future__ import annotations
diff --git a/jsondoc/models/shared_definitions/__init__.py b/jsondoc/models/shared_definitions/__init__.py
index 51c1464..0c57e50 100644
--- a/jsondoc/models/shared_definitions/__init__.py
+++ b/jsondoc/models/shared_definitions/__init__.py
@@ -1,13 +1,13 @@
# generated by datamodel-codegen:
# filename: example.json
-# timestamp: 2024-08-21T17:19:54+00:00
+# timestamp: 2024-09-04T22:43:27+00:00
from __future__ import annotations
from enum import Enum
-from typing import Any
+from typing import Any, Optional
-from pydantic import RootModel
+from pydantic import BaseModel, RootModel
class Model(RootModel[Any]):
@@ -34,3 +34,12 @@ class Color(Enum):
red = 'red'
red_background = 'red_background'
yellow_background = 'yellow_background'
+
+
+class Annotations(BaseModel):
+ bold: Optional[bool] = False
+ italic: Optional[bool] = False
+ strikethrough: Optional[bool] = False
+ underline: Optional[bool] = False
+ code: Optional[bool] = False
+ color: Optional[str] = 'default'
diff --git a/jsondoc/utils.py b/jsondoc/utils.py
index 43fb1f3..966cab8 100644
--- a/jsondoc/utils.py
+++ b/jsondoc/utils.py
@@ -1,6 +1,7 @@
import json
import time
from contextlib import contextmanager
+import uuid
ARBITRARY_JSON_SCHEMA_OBJECT = {
"type": "object",
@@ -9,6 +10,10 @@
}
+def generate_id() -> str:
+ return uuid.uuid4().hex
+
+
def replace_refs_with_arbitrary_object(data):
if isinstance(data, dict):
if "$ref" in data:
diff --git a/schema/block/base/base_schema.json b/schema/block/base/base_schema.json
index 229843e..fa40c04 100644
--- a/schema/block/base/base_schema.json
+++ b/schema/block/base/base_schema.json
@@ -123,10 +123,11 @@
"id",
"type",
"created_time",
+ // notion-diverge
// "created_by", // These are optional since we can be out of Notion context
// "last_edited_time",
// "last_edited_by",
- "archived",
+ // "archived",
"has_children"
]
// This was meant to refer to the object that contains type-specific block
diff --git a/schema/block/types/rich_text/equation/equation_schema.json b/schema/block/types/rich_text/equation/equation_schema.json
index c893a22..b9e56a2 100644
--- a/schema/block/types/rich_text/equation/equation_schema.json
+++ b/schema/block/types/rich_text/equation/equation_schema.json
@@ -19,35 +19,7 @@
"additionalProperties": false
},
"annotations": {
- "type": "object",
- "properties": {
- "bold": {
- "type": "boolean"
- },
- "italic": {
- "type": "boolean"
- },
- "strikethrough": {
- "type": "boolean"
- },
- "underline": {
- "type": "boolean"
- },
- "code": {
- "type": "boolean"
- },
- "color": {
- "type": "string"
- }
- },
- "required": [
- "bold",
- "italic",
- "strikethrough",
- "underline",
- "code",
- "color"
- ]
+ "$ref": "/shared_definitions/shared_definitions_schema.json#/$defs/annotations"
},
"plain_text": {
"type": "string"
diff --git a/schema/block/types/rich_text/text/text_schema.json b/schema/block/types/rich_text/text/text_schema.json
index d6751c5..70db841 100644
--- a/schema/block/types/rich_text/text/text_schema.json
+++ b/schema/block/types/rich_text/text/text_schema.json
@@ -27,35 +27,7 @@
"required": ["content", "link"]
},
"annotations": {
- "type": "object",
- "properties": {
- "bold": {
- "type": "boolean"
- },
- "italic": {
- "type": "boolean"
- },
- "strikethrough": {
- "type": "boolean"
- },
- "underline": {
- "type": "boolean"
- },
- "code": {
- "type": "boolean"
- },
- "color": {
- "type": "string"
- }
- },
- "required": [
- "bold",
- "italic",
- "strikethrough",
- "underline",
- "code",
- "color"
- ]
+ "$ref": "/shared_definitions/shared_definitions_schema.json#/$defs/annotations"
},
"plain_text": {
"type": "string"
diff --git a/schema/shared_definitions/shared_definitions_schema.json b/schema/shared_definitions/shared_definitions_schema.json
index a83312c..8ad6195 100644
--- a/schema/shared_definitions/shared_definitions_schema.json
+++ b/schema/shared_definitions/shared_definitions_schema.json
@@ -25,6 +25,47 @@
"red_background",
"yellow_background"
]
+ },
+ "annotations": {
+ "type": "object",
+ "customTypePath": "jsondoc.models.shared_definitions.Annotations",
+ "properties": {
+ "bold": {
+ "type": "boolean",
+ "default": false
+ },
+ "italic": {
+ "type": "boolean",
+ "default": false
+ },
+ "strikethrough": {
+ "type": "boolean",
+ "default": false
+ },
+ "underline": {
+ "type": "boolean",
+ "default": false
+ },
+ "code": {
+ "type": "boolean",
+ "default": false
+ },
+ "color": {
+ "type": "string",
+ "default": "default"
+ // TODO: Fix resolution of this reference
+ // "$ref": "/shared_definitions/shared_definitions_schema.json#/$defs/color"
+ }
+ }
+ // notion-diverge
+ // "required": [
+ // "bold",
+ // "italic",
+ // "strikethrough",
+ // "underline",
+ // "code",
+ // "color"
+ // ]
}
}
}
From d1144dcb7cffb3205de02442876c7af4272eed2b Mon Sep 17 00:00:00 2001
From: Onur Solmaz <2453968+osolmaz@users.noreply.github.com>
Date: Thu, 5 Sep 2024 16:39:35 +0200
Subject: [PATCH 11/45] Default const values, create mermaid diagram for HTML
---
docs/html-conversion.md | 2 +
examples/html/html_nested_elements.html | 1 +
examples/html/html_to_mermaid.py | 97 +++++++++++++++++++
jsondoc/convert/utils.py | 75 +++++++++-----
jsondoc/models/block/__init__.py | 2 +-
jsondoc/models/block/base/__init__.py | 10 +-
.../types/bulleted_list_item/__init__.py | 4 +-
jsondoc/models/block/types/code/__init__.py | 4 +-
jsondoc/models/block/types/column/__init__.py | 4 +-
.../block/types/column_list/__init__.py | 4 +-
.../models/block/types/divider/__init__.py | 4 +-
.../models/block/types/equation/__init__.py | 4 +-
.../models/block/types/heading_1/__init__.py | 4 +-
.../models/block/types/heading_2/__init__.py | 4 +-
.../models/block/types/heading_3/__init__.py | 4 +-
jsondoc/models/block/types/image/__init__.py | 4 +-
.../types/image/external_image/__init__.py | 2 +-
.../block/types/image/file_image/__init__.py | 2 +-
.../types/numbered_list_item/__init__.py | 4 +-
.../models/block/types/paragraph/__init__.py | 4 +-
jsondoc/models/block/types/quote/__init__.py | 4 +-
.../models/block/types/rich_text/__init__.py | 2 +-
.../block/types/rich_text/base/__init__.py | 2 +-
.../types/rich_text/equation/__init__.py | 4 +-
.../block/types/rich_text/text/__init__.py | 4 +-
jsondoc/models/block/types/table/__init__.py | 4 +-
.../models/block/types/table_row/__init__.py | 4 +-
jsondoc/models/block/types/to_do/__init__.py | 4 +-
jsondoc/models/block/types/toggle/__init__.py | 4 +-
jsondoc/models/file/__init__.py | 2 +-
jsondoc/models/file/base/__init__.py | 2 +-
jsondoc/models/file/external/__init__.py | 2 +-
jsondoc/models/file/file/__init__.py | 2 +-
jsondoc/models/page/__init__.py | 8 +-
jsondoc/models/shared_definitions/__init__.py | 2 +-
schema/block/base/base_schema.json | 16 +--
.../bulleted_list_item_schema.json | 4 +-
schema/block/types/code/code_schema.json | 4 +-
schema/block/types/column/column_schema.json | 4 +-
.../types/column_list/column_list_schema.json | 4 +-
.../block/types/divider/divider_schema.json | 4 +-
.../block/types/equation/equation_schema.json | 4 +-
.../types/heading_1/heading_1_schema.json | 4 +-
.../types/heading_2/heading_2_schema.json | 4 +-
.../types/heading_3/heading_3_schema.json | 4 +-
schema/block/types/image/image_schema.json | 4 +-
.../numbered_list_item_schema.json | 4 +-
.../types/paragraph/paragraph_schema.json | 4 +-
schema/block/types/quote/quote_schema.json | 4 +-
.../rich_text/equation/equation_schema.json | 3 +-
.../types/rich_text/text/text_schema.json | 3 +-
schema/block/types/table/table_schema.json | 4 +-
.../types/table_row/table_row_schema.json | 4 +-
schema/block/types/to_do/to_do_schema.json | 4 +-
schema/block/types/toggle/toggle_schema.json | 4 +-
schema/file/external/external_schema.json | 4 +-
schema/file/file/file_schema.json | 4 +-
schema/page/page_schema.json | 12 ++-
scripts/autogen_pydantic.py | 1 +
59 files changed, 286 insertions(+), 114 deletions(-)
create mode 100644 docs/html-conversion.md
create mode 100644 examples/html/html_to_mermaid.py
diff --git a/docs/html-conversion.md b/docs/html-conversion.md
new file mode 100644
index 0000000..6edca55
--- /dev/null
+++ b/docs/html-conversion.md
@@ -0,0 +1,2 @@
+
+- Terminal text nodes are to be converted to rich text blocks.
diff --git a/examples/html/html_nested_elements.html b/examples/html/html_nested_elements.html
index dd81161..c48829d 100644
--- a/examples/html/html_nested_elements.html
+++ b/examples/html/html_nested_elements.html
@@ -51,6 +51,7 @@ An example of nested HTML elements
This emphasized text is also nested.
And here's some strong text, nested as well.
+ This is a bold word and this is an emphasized word.
"