Skip to content

Commit 71f0148

Browse files
committed
add twttr script
1 parent eff7bca commit 71f0148

File tree

4 files changed

+44
-116
lines changed

4 files changed

+44
-116
lines changed

package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@
5252
"katex": "^0.15.1",
5353
"pathe": "^0.2.0",
5454
"prismjs": "^1.25.0",
55-
"static-tweet": "^0.0.1",
5655
"vue": "^3.2.26",
5756
"vue-router": "4"
5857
},

src/blocks/tweet.vue

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<script setup lang="ts">
2+
import { useNotionBlock, defineNotionProps } from "@/lib/blockable"
3+
import { computed, nextTick, onBeforeMount, onMounted, ref, watch } from "vue"
4+
5+
const props = defineProps({ ...defineNotionProps })
6+
//@ts-ignore
7+
const { properties, pass } = useNotionBlock(props)
8+
const tweetId = computed(() => properties.value?.source?.[0]?.[0].split("status/")?.[1])
9+
const el = ref<HTMLElement>()
10+
11+
const renderTweet = () => {
12+
//@ts-ignore
13+
const twttr = window["twttr"]
14+
//@ts-ignore
15+
twttr?.ready().then(({ widgets }) => {
16+
if (el.value) {
17+
el.value.innerHTML = ""
18+
}
19+
widgets.createTweetEmbed(tweetId.value, el.value, {})
20+
})
21+
}
22+
23+
onBeforeMount(() => {
24+
let twttrScript = document.getElementById("twitter-widgets-js")
25+
if (!twttrScript) {
26+
var s = document.createElement("script")
27+
s.id = "twitter-widgets-js"
28+
s.src = "https://platform.twitter.com/widgets.js"
29+
document.body.appendChild(s)
30+
}
31+
})
32+
</script>
33+
34+
<script lang="ts">
35+
export default {
36+
name: "NotionTweet",
37+
}
38+
</script>
39+
40+
<template>
41+
<div ref="el"></div>
42+
</template>

src/components/block.vue

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import NotionToggle from "@/blocks/toggle.vue"
1919
import NotionTableOfContents from "@/blocks/table-of-contents.vue"
2020
import NotionSyncBlock from "@/blocks/sync-block.vue"
2121
import NotionSyncPointerBlock from "@/blocks/sync-pointer-block.vue"
22+
import NotionTweet from "@/blocks/tweet.vue"
2223
2324
const NotionCode = defineAsyncComponent(() => import("@/blocks/code.vue"))
2425
@@ -61,5 +62,6 @@ if (!availableType.includes(type.value)) console.warn(`${type.value.toUpperCase(
6162
<NotionTableOfContents v-else-if="isType('table_of_contents')" v-bind="pass"></NotionTableOfContents>
6263
<NotionSyncBlock v-else-if="isType('transclusion_container')"><slot /></NotionSyncBlock>
6364
<NotionSyncPointerBlock v-else-if="isType('transclusion_reference')" v-bind="pass"></NotionSyncPointerBlock>
65+
<NotionTweet v-else-if="isType('tweet')" v-bind="pass"></NotionTweet>
6466
<hr v-else-if="isType('divider')" class="notion-hr" />
6567
</template>

yarn.lock

Lines changed: 0 additions & 115 deletions
Original file line numberDiff line numberDiff line change
@@ -833,17 +833,6 @@ css-select@^4.1.3:
833833
domutils "^2.8.0"
834834
nth-check "^2.0.1"
835835

836-
css-select@^4.2.1:
837-
version "4.3.0"
838-
resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b"
839-
integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==
840-
dependencies:
841-
boolbase "^1.0.0"
842-
css-what "^6.0.1"
843-
domhandler "^4.3.1"
844-
domutils "^2.8.0"
845-
nth-check "^2.0.1"
846-
847836
css-tree@^1.1.2, css-tree@^1.1.3:
848837
version "1.1.3"
849838
resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d"
@@ -857,11 +846,6 @@ css-what@^5.1.0:
857846
resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe"
858847
integrity sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==
859848

860-
css-what@^6.0.1:
861-
version "6.1.0"
862-
resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4"
863-
integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==
864-
865849
cssesc@^3.0.0:
866850
version "3.0.0"
867851
resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
@@ -985,13 +969,6 @@ domhandler@^4.2.0, domhandler@^4.3.0:
985969
dependencies:
986970
domelementtype "^2.2.0"
987971

988-
domhandler@^4.3.1:
989-
version "4.3.1"
990-
resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c"
991-
integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==
992-
dependencies:
993-
domelementtype "^2.2.0"
994-
995972
domutils@^2.8.0:
996973
version "2.8.0"
997974
resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135"
@@ -1242,15 +1219,6 @@ fs-extra@^10.0.0:
12421219
jsonfile "^6.0.1"
12431220
universalify "^2.0.0"
12441221

1245-
fs-extra@^8.0.1:
1246-
version "8.1.0"
1247-
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0"
1248-
integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==
1249-
dependencies:
1250-
graceful-fs "^4.2.0"
1251-
jsonfile "^4.0.0"
1252-
universalify "^0.1.0"
1253-
12541222
fs-minipass@^1.2.7:
12551223
version "1.2.7"
12561224
resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7"
@@ -1360,11 +1328,6 @@ hash-sum@^2.0.0:
13601328
resolved "https://registry.yarnpkg.com/hash-sum/-/hash-sum-2.0.0.tgz#81d01bb5de8ea4a214ad5d6ead1b523460b0b45a"
13611329
integrity sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==
13621330

1363-
1364-
version "1.2.0"
1365-
resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
1366-
integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
1367-
13681331
icss-replace-symbols@^1.1.0:
13691332
version "1.1.0"
13701333
resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded"
@@ -1480,22 +1443,6 @@ jsonc-parser@^3.0.0:
14801443
resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.0.0.tgz#abdd785701c7e7eaca8a9ec8cf070ca51a745a22"
14811444
integrity sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==
14821445

1483-
jsonfile@^4.0.0:
1484-
version "4.0.0"
1485-
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
1486-
integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=
1487-
optionalDependencies:
1488-
graceful-fs "^4.1.6"
1489-
1490-
jsonfile@^5.0.0:
1491-
version "5.0.0"
1492-
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-5.0.0.tgz#e6b718f73da420d612823996fdf14a03f6ff6922"
1493-
integrity sha512-NQRZ5CRo74MhMMC3/3r5g2k4fjodJ/wh8MxjFbCViWKFjxrnudWSY5vomh+23ZaXzAS7J3fBZIR2dV6WbmfM0w==
1494-
dependencies:
1495-
universalify "^0.1.2"
1496-
optionalDependencies:
1497-
graceful-fs "^4.1.6"
1498-
14991446
jsonfile@^6.0.1:
15001447
version "6.1.0"
15011448
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae"
@@ -1681,19 +1628,6 @@ nanoid@^3.3.3:
16811628
resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab"
16821629
integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==
16831630

1684-
node-fetch-native@^0.1.3:
1685-
version "0.1.3"
1686-
resolved "https://registry.yarnpkg.com/node-fetch-native/-/node-fetch-native-0.1.3.tgz#61a4e4250d7aa6e272cacdbaa979ea916bff321a"
1687-
integrity sha512-Jf1IQZdovUIv9E+5avmN6Sf+bND+rnMlODnBQhdE2VRyuWP9WgqZb/KEgPekh19DAN1X2C4vbS1VCOaz2OH19g==
1688-
1689-
node-html-parser@^5.3.3:
1690-
version "5.3.3"
1691-
resolved "https://registry.yarnpkg.com/node-html-parser/-/node-html-parser-5.3.3.tgz#2845704f3a7331a610e0e551bf5fa02b266341b6"
1692-
integrity sha512-ncg1033CaX9UexbyA7e1N0aAoAYRDiV8jkTvzEnfd1GDvzFdrsXLzR4p4ik8mwLgnaKP/jyUFWDy9q3jvRT2Jw==
1693-
dependencies:
1694-
css-select "^4.2.1"
1695-
he "1.2.0"
1696-
16971631
node-releases@^2.0.2:
16981632
version "2.0.2"
16991633
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.2.tgz#7139fe71e2f4f11b47d4d2986aaf8c48699e0c01"
@@ -1721,16 +1655,6 @@ nth-check@^2.0.1:
17211655
dependencies:
17221656
boolbase "^1.0.0"
17231657

1724-
ohmyfetch@^0.4.18:
1725-
version "0.4.18"
1726-
resolved "https://registry.yarnpkg.com/ohmyfetch/-/ohmyfetch-0.4.18.tgz#2952e04bd52662d0618d3d2f344db0250c3eeac2"
1727-
integrity sha512-MslzNrQzBLtZHmiZBI8QMOcMpdNFlK61OJ34nFNFynZ4v+4BonfCQ7VIN4EGXvGGq5zhDzgdJoY3o9S1l2T7KQ==
1728-
dependencies:
1729-
destr "^1.1.1"
1730-
node-fetch-native "^0.1.3"
1731-
ufo "^0.8.4"
1732-
undici "^5.2.0"
1733-
17341658
once@^1.3.0:
17351659
version "1.4.0"
17361660
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
@@ -2293,15 +2217,6 @@ stable@^0.1.8:
22932217
resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf"
22942218
integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==
22952219

2296-
static-tweet@^0.0.1:
2297-
version "0.0.1"
2298-
resolved "https://registry.yarnpkg.com/static-tweet/-/static-tweet-0.0.1.tgz#b1e266872476f6b998660be1caf39a7336646307"
2299-
integrity sha512-CQKwM+KCn0z1q7vJg2vrBbu5D26CHGgv0pl2pyuUwyus4TqBnpF1pWNWSxmkQuIyu0h3K3uGtgC/bABJJNZXqw==
2300-
dependencies:
2301-
node-html-parser "^5.3.3"
2302-
ohmyfetch "^0.4.18"
2303-
twemoji "^14.0.2"
2304-
23052220
std-env@^3.1.1:
23062221
version "3.1.1"
23072222
resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.1.1.tgz#1f19c4d3f6278c52efd08a94574a2a8d32b7d092"
@@ -2412,21 +2327,6 @@ [email protected], tslib@^2.3.1:
24122327
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01"
24132328
integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==
24142329

2415-
2416-
version "14.0.0"
2417-
resolved "https://registry.yarnpkg.com/twemoji-parser/-/twemoji-parser-14.0.0.tgz#13dabcb6d3a261d9efbf58a1666b182033bf2b62"
2418-
integrity sha512-9DUOTGLOWs0pFWnh1p6NF+C3CkQ96PWmEFwhOVmT3WbecRC+68AIqpsnJXygfkFcp4aXbOp8Dwbhh/HQgvoRxA==
2419-
2420-
twemoji@^14.0.2:
2421-
version "14.0.2"
2422-
resolved "https://registry.yarnpkg.com/twemoji/-/twemoji-14.0.2.tgz#c53adb01dab22bf4870f648ca8cc347ce99ee37e"
2423-
integrity sha512-BzOoXIe1QVdmsUmZ54xbEH+8AgtOKUiG53zO5vVP2iUu6h5u9lN15NcuS6te4OY96qx0H7JK9vjjl9WQbkTRuA==
2424-
dependencies:
2425-
fs-extra "^8.0.1"
2426-
jsonfile "^5.0.0"
2427-
twemoji-parser "14.0.0"
2428-
universalify "^0.1.2"
2429-
24302330
typescript@^4.4.4:
24312331
version "4.6.2"
24322332
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.2.tgz#fe12d2727b708f4eef40f51598b3398baa9611d4"
@@ -2437,11 +2337,6 @@ ufo@^0.8.3:
24372337
resolved "https://registry.yarnpkg.com/ufo/-/ufo-0.8.3.tgz#3a2430f94afc13ba556f6dad498a2a6520dcb5d3"
24382338
integrity sha512-AIkk06G21y/P+NCatfU+1qldCmI0XCszZLn8AkuKotffF3eqCvlce0KuwM7ZemLE/my0GSYADOAeM5zDYWMB+A==
24392339

2440-
ufo@^0.8.4:
2441-
version "0.8.4"
2442-
resolved "https://registry.yarnpkg.com/ufo/-/ufo-0.8.4.tgz#23e9ed82398d2116dcb378e8fba5ced8eca2ee40"
2443-
integrity sha512-/+BmBDe8GvlB2nIflWasLLAInjYG0bC9HRnfEpNi4sw77J2AJNnEVnTDReVrehoh825+Q/evF3THXTAweyam2g==
2444-
24452340
unctx@^1.1.4:
24462341
version "1.1.4"
24472342
resolved "https://registry.yarnpkg.com/unctx/-/unctx-1.1.4.tgz#18d5c0a81d9ce0a790e89b81715f286ac0fa29bb"
@@ -2452,11 +2347,6 @@ unctx@^1.1.4:
24522347
magic-string "^0.26.1"
24532348
unplugin "^0.6.1"
24542349

2455-
undici@^5.2.0:
2456-
version "5.5.1"
2457-
resolved "https://registry.yarnpkg.com/undici/-/undici-5.5.1.tgz#baaf25844a99eaa0b22e1ef8d205bffe587c8f43"
2458-
integrity sha512-MEvryPLf18HvlCbLSzCW0U00IMftKGI5udnjrQbC5D4P0Hodwffhv+iGfWuJwg16Y/TK11ZFK8i+BPVW2z/eAw==
2459-
24602350
unimport@^0.1.6:
24612351
version "0.1.6"
24622352
resolved "https://registry.yarnpkg.com/unimport/-/unimport-0.1.6.tgz#e672a1ae84660d47b759ac566902e7cd35a00252"
@@ -2472,11 +2362,6 @@ unimport@^0.1.6:
24722362
scule "^0.2.1"
24732363
unplugin "^0.6.2"
24742364

2475-
universalify@^0.1.0, universalify@^0.1.2:
2476-
version "0.1.2"
2477-
resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
2478-
integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
2479-
24802365
universalify@^2.0.0:
24812366
version "2.0.0"
24822367
resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717"

0 commit comments

Comments
 (0)