File tree 2 files changed +16
-7
lines changed
2 files changed +16
-7
lines changed Original file line number Diff line number Diff line change @@ -41,7 +41,7 @@ The following [Notion API block object types](https://developers.notion.com/refe
41
41
| Video | ❌ Missing | |
42
42
| File | ❌ Missing | |
43
43
| PDF | ❌ Missing | |
44
- | Bookmark | ❌ Missing | |
44
+ | Bookmark | ✅ Yes | use a caption as a link name | |
45
45
| Equation | ❌ Missing | |
46
46
| Divider | ✅ Yes | |
47
47
| Table Of Contents | ❌ not planned | static site generators have their own ToC implementations |
Original file line number Diff line number Diff line change @@ -102,16 +102,28 @@ export class BlockRenderer {
102
102
return { lines : "---" } ;
103
103
case "child_database" :
104
104
const msg = `<!-- included database ${ block . id } -->\n` ;
105
- const db = await this . deferredRenderer . renderChildDatabase ( block . id , context . linkResolver ) ;
105
+ const db = await this . deferredRenderer . renderChildDatabase (
106
+ block . id ,
107
+ context . linkResolver
108
+ ) ;
106
109
return { lines : msg + db . markdown } ;
107
110
case "synced_block" :
108
111
// nothing to render, only the contents of the synced block are relevant
109
112
// however, these are children nöpcl, and thus retrieved by recursion in RecusivveBodyRenderer
110
113
return null ;
114
+ case "bookmark" :
115
+ const caption = block . bookmark . caption ;
116
+ let title = block . bookmark . url ;
117
+ if ( caption ) {
118
+ if ( caption . length > 0 )
119
+ title = await this . richText . renderPlainText ( caption ) ;
120
+ }
121
+ return {
122
+ lines : `[${ title } ](${ block . bookmark . url } )` ,
123
+ } ;
111
124
case "toggle" :
112
125
case "child_page" :
113
126
case "embed" :
114
- case "bookmark" :
115
127
case "video" :
116
128
case "file" :
117
129
case "pdf" :
@@ -145,10 +157,7 @@ export class BlockRenderer {
145
157
}
146
158
}
147
159
148
- async renderImage (
149
- block : ImageBlock ,
150
- assets : AssetWriter
151
- ) : Promise < string > {
160
+ async renderImage ( block : ImageBlock , assets : AssetWriter ) : Promise < string > {
152
161
const url = this . parseUrl ( block . image ) ;
153
162
154
163
const imageFile = await assets . download ( url , block . id ) ;
You can’t perform that action at this time.
0 commit comments