mirror of
https://github.com/jxpeng98/obsidian-to-NotionNext
synced 2026-07-29 16:35:57 +08:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
31b72f3bd3 | ||
|
|
ee5aada1b9 | ||
|
|
9e15044f6a |
149
.github/workflows/release.yml
vendored
149
.github/workflows/release.yml
vendored
@@ -7,93 +7,94 @@ on:
|
||||
|
||||
env:
|
||||
PLUGIN_NAME: share-to-notionnext # Change this to match the id of your plugin.
|
||||
|
||||
CHANGELOG_FILENAME: CHANGELOG.md
|
||||
jobs:
|
||||
build:
|
||||
name: release
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Use Node.js
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: "18"
|
||||
- uses: actions/checkout@v4
|
||||
- name: Use Node.js
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: "18"
|
||||
|
||||
# - name: Generate changelog
|
||||
# id: changelog
|
||||
# uses: saadmk11/changelog-ci@v1.1.2
|
||||
# with:
|
||||
# github_token: ${{ secrets.REPO_ACCESS_TOKEN }}
|
||||
# release_version: ${{ github.ref }}
|
||||
# changelog_filename: CHANGELOG.md
|
||||
# - name: Generate changelog
|
||||
# id: changelog
|
||||
# uses: saadmk11/changelog-ci@v1.1.2
|
||||
# with:
|
||||
# github_token: ${{ secrets.REPO_ACCESS_TOKEN }}
|
||||
# release_version: ${{ github.ref }}
|
||||
# changelog_filename: CHANGELOG.md
|
||||
|
||||
- name: Build
|
||||
id: build
|
||||
run: |
|
||||
npm install
|
||||
npm run build
|
||||
mkdir ${{ env.PLUGIN_NAME }}
|
||||
cp main.js manifest.json ${{ env.PLUGIN_NAME }}
|
||||
zip -r ${{ env.PLUGIN_NAME }}.zip ${{ env.PLUGIN_NAME }}
|
||||
ls
|
||||
echo "tag_name=$(git tag --sort version:refname | tail -n 1)" >> $GITHUB_OUTPUT
|
||||
- name: Build
|
||||
id: build
|
||||
run: |
|
||||
npm install
|
||||
npm run build
|
||||
mkdir ${{ env.PLUGIN_NAME }}
|
||||
cp main.js manifest.json ${{ env.PLUGIN_NAME }}
|
||||
zip -r ${{ env.PLUGIN_NAME }}.zip ${{ env.PLUGIN_NAME }}
|
||||
ls
|
||||
echo "tag_name=$(git tag --sort version:refname | tail -n 1)" >> $GITHUB_OUTPUT
|
||||
|
||||
- name: Create Release
|
||||
id: create_release
|
||||
uses: actions/create-release@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.REPO_ACCESS_TOKEN }}
|
||||
VERSION: ${{ github.ref }}
|
||||
with:
|
||||
tag_name: ${{ github.ref }}
|
||||
release_name: ${{ github.ref }}
|
||||
draft: false
|
||||
prerelease: false
|
||||
- name: Create Release
|
||||
id: create_release
|
||||
uses: actions/create-release@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.REPO_ACCESS_TOKEN }}
|
||||
VERSION: ${{ github.ref }}
|
||||
with:
|
||||
tag_name: ${{ github.ref }}
|
||||
release_name: ${{ github.ref }}
|
||||
body_path: ${{ env.CHANGELOG_FILENAME }}
|
||||
draft: false
|
||||
prerelease: false
|
||||
|
||||
- name: Upload zip file
|
||||
id: upload-zip
|
||||
uses: actions/upload-release-asset@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.REPO_ACCESS_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||
asset_path: ./${{ env.PLUGIN_NAME }}.zip
|
||||
asset_name: ${{ env.PLUGIN_NAME }}-${{ steps.build.outputs.tag_name }}.zip
|
||||
asset_content_type: application/zip
|
||||
- name: Upload zip file
|
||||
id: upload-zip
|
||||
uses: actions/upload-release-asset@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.REPO_ACCESS_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||
asset_path: ./${{ env.PLUGIN_NAME }}.zip
|
||||
asset_name: ${{ env.PLUGIN_NAME }}-${{ steps.build.outputs.tag_name }}.zip
|
||||
asset_content_type: application/zip
|
||||
|
||||
- name: Upload main.js
|
||||
id: upload-main
|
||||
uses: actions/upload-release-asset@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.REPO_ACCESS_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||
asset_path: ./main.js
|
||||
asset_name: main.js
|
||||
asset_content_type: text/javascript
|
||||
- name: Upload main.js
|
||||
id: upload-main
|
||||
uses: actions/upload-release-asset@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.REPO_ACCESS_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||
asset_path: ./main.js
|
||||
asset_name: main.js
|
||||
asset_content_type: text/javascript
|
||||
|
||||
- name: Upload manifest.json
|
||||
id: upload-manifest
|
||||
uses: actions/upload-release-asset@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.REPO_ACCESS_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||
asset_path: ./manifest.json
|
||||
asset_name: manifest.json
|
||||
asset_content_type: application/json
|
||||
- name: Upload manifest.json
|
||||
id: upload-manifest
|
||||
uses: actions/upload-release-asset@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.REPO_ACCESS_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||
asset_path: ./manifest.json
|
||||
asset_name: manifest.json
|
||||
asset_content_type: application/json
|
||||
|
||||
- name: Upload markdown template
|
||||
id: upload-md
|
||||
uses: actions/upload-release-asset@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.REPO_ACCESS_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||
asset_path: ./obsidian_template.md
|
||||
asset_name: template.md
|
||||
asset_content_type: text/markdown
|
||||
- name: Upload markdown template
|
||||
id: upload-md
|
||||
uses: actions/upload-release-asset@v1
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.REPO_ACCESS_TOKEN }}
|
||||
with:
|
||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||
asset_path: ./obsidian_template.md
|
||||
asset_name: template.md
|
||||
asset_content_type: text/markdown
|
||||
|
||||
# - name: Upload styles.css
|
||||
# id: upload-css
|
||||
|
||||
20
CHANGELOG.md
20
CHANGELOG.md
@@ -1,19 +1,5 @@
|
||||
# Changelog v2.2.0
|
||||
# Changelog v2.2.3
|
||||
|
||||
## Feature
|
||||
## Bug Fixes
|
||||
|
||||
- add the support for the customised properties of general databases
|
||||
- 增加对普通数据库自定义属性的支持
|
||||
|
||||
- support
|
||||
- [x] `title`, which is the first column of the database
|
||||
- [x] 'Text'
|
||||
- [x] 'Number'
|
||||
- [x] 'Date'
|
||||
- [x] 'Checkbox'
|
||||
- [x] 'Select'
|
||||
- [x] 'Multi-select'
|
||||
- [x] 'URL'
|
||||
- [x] 'Email'
|
||||
- [x] 'Phone'
|
||||
- [x] 'File' (**Only support external embedded files**)
|
||||
- Fix a bug that 'text' property cannot be synchronized. 修复了一个无法同步'text'属性的bug。
|
||||
|
||||
13
README.md
13
README.md
@@ -7,6 +7,7 @@
|
||||
|
||||
[//]: # ([](https://GitHub.com/jxpeng98/obsidian-to-NotionNext/releases/))
|
||||
|
||||
|
||||
[中文文档](README-zh.md)
|
||||
|
||||
**Now, support both NotionNext and General databases with customised properties.**
|
||||
@@ -15,12 +16,22 @@
|
||||
|
||||
## TODO List
|
||||
|
||||
- [x] Support custom properties for Notion General database. 支持自定义属性
|
||||
- [ ] Modify the Edit function for the custom properties. 改进自定义属性的编辑功能
|
||||
- [ ] Support group upload with one click 支持一键多数据库上传
|
||||
- [x] Support custom properties for Notion General database. 支持自定义属性
|
||||
- [x] Support preview for database details in plugin settings. 支持预览数据库详情
|
||||
- [x] Support edit for database details in plugin settings. 支持编辑数据库详情
|
||||
|
||||
## Update
|
||||
|
||||
### 2.2.3
|
||||
|
||||
- Fix a bug that 'text' property cannot be synchronized. 修复了一个无法同步'text'属性的bug。
|
||||
|
||||
### 2.2.2
|
||||
|
||||
- Fix the setting description of database. 修复数据库设置的描述错误。
|
||||
|
||||
### 2.2.1
|
||||
|
||||
- improve the localisation for the custom properties setting. 改进自定义属性设置的本地化。
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"id": "share-to-notionnext",
|
||||
"name": "Share to NotionNext",
|
||||
"version": "2.2.1",
|
||||
"version": "2.2.4",
|
||||
"minAppVersion": "0.0.1",
|
||||
"description": "Shares obsidian md file to notion with notion api for NotionNext web deploy, originally created by EasyChris/obsidian-to-notion.",
|
||||
"author": "EasyChris, jxpeng98",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "share-to-notionnext",
|
||||
"version": "2.2.1",
|
||||
"version": "2.2.4",
|
||||
"type": "module",
|
||||
"description": "Shares obsidian md file to notion with notion api for NotionNext web deploy, originally created by EasyChris/obsidian-to-notion.",
|
||||
"main": "main.js",
|
||||
|
||||
@@ -23,10 +23,11 @@ export const en = {
|
||||
NotionAPIDesc: "Generate from https://www.notion.so/my-integrations",
|
||||
NotionAPIText: "Enter your Notion API Token",
|
||||
DatabaseID: "Database ID",
|
||||
DatabaseIDDesc: "Collect from the top-right Share --> Publish",
|
||||
DatabaseIDText: "Enter your Database ID",
|
||||
BannerUrl: "Banner url (optional)",
|
||||
BannerUrlDesc:
|
||||
"Default is empty, if you want to show a banner, please enter the url (like: https://minioapi.pjx.ac.cn/img1/2023/11/b7b40a0724e93b7d7ab494bb3b8a2da8.png)",
|
||||
"Default is empty, if you want to show a banner, please enter the url (like: https://abc.com/b.png)",
|
||||
BannerUrlText: "Enter your banner url",
|
||||
NotionUser: "Notion ID (username, optional)",
|
||||
NotionUserDesc:
|
||||
|
||||
@@ -23,9 +23,10 @@ export const ja = {
|
||||
NotionAPIDesc: "https://www.notion.so/my-integrations から生成してください",
|
||||
NotionAPIText: "Notion API トークンを入力",
|
||||
DatabaseID: "データベースID",
|
||||
DatabaseIDDesc: "右上の共有 --> 公開から取得してください",
|
||||
DatabaseIDText: "データベースIDを入力",
|
||||
BannerUrl: "バナーのURL(任意)",
|
||||
BannerUrlDesc: "デフォルトは空白です。バナーを表示したい場合は、URLを入力してください(例:https://minioapi.pjx.ac.cn/img1/2023/11/b7b40a0724e93b7d7ab494bb3b8a2da8.png)",
|
||||
BannerUrlDesc: "デフォルトは空白です。バナーを表示したい場合は、URLを入力してください(例:https://abc.com/b.png)",
|
||||
BannerUrlText: "バナーのURLを入力",
|
||||
NotionUser: "Notion ID(ユーザー名、任意)",
|
||||
NotionUserDesc: "共有リンクから取得(例:https://username.notion.site)。Notion IDは[username]です",
|
||||
|
||||
@@ -23,10 +23,11 @@ export const zh = {
|
||||
NotionAPIDesc: "从 https://www.notion.so/my-integrations 生成",
|
||||
NotionAPIText: "输入你的 Notion API 令牌",
|
||||
DatabaseID: "数据库 ID",
|
||||
DatabaseIDDesc: "从右上角的分享 --> 发布中获取",
|
||||
DatabaseIDText: "输入你的数据库 ID",
|
||||
BannerUrl: "封面图片地址(可选)",
|
||||
BannerUrlDesc:
|
||||
"默认为空,如果你想显示封面图片,请输入图片地址(例如:https://minioapi.pjx.ac.cn/img1/2023/11/b7b40a0724e93b7d7ab494bb3b8a2da8.png)",
|
||||
"默认为空,如果你想显示封面图片,请输入图片地址(例如:https://abc.com/b.png)",
|
||||
BannerUrlText: "输入你的封面图片地址",
|
||||
NotionUser: "Notion ID(用户名,可选)",
|
||||
NotionUserDesc:
|
||||
|
||||
@@ -45,7 +45,7 @@ export class CustomModal extends Modal {
|
||||
}
|
||||
)
|
||||
} else {
|
||||
propertyLine
|
||||
propertyLine
|
||||
.setName(i18nConfig.CustomProperty + (propertyIndex))
|
||||
|
||||
propertyLine.addText((text) => {
|
||||
@@ -60,13 +60,14 @@ export class CustomModal extends Modal {
|
||||
|
||||
propertyLine.addDropdown((dropdown) => {
|
||||
dropdown
|
||||
// .addOption("none", '')
|
||||
.addOption("text", "Text")
|
||||
.addOption("number", "Number")
|
||||
.addOption("select", "Select")
|
||||
.addOption("multi_select", "Multi-Select")
|
||||
.addOption("date", "Date")
|
||||
// .addOption("person", "Person")
|
||||
.addOption("file", "Files & Media")
|
||||
.addOption("files", "Files & Media")
|
||||
.addOption("checkbox", "Checkbox")
|
||||
.addOption("url", "URL")
|
||||
.addOption("email", "Email")
|
||||
@@ -78,7 +79,7 @@ export class CustomModal extends Modal {
|
||||
// .addOption("created_by", "Created by")
|
||||
// .addOption("last_edited_time", "Last Edited Time")
|
||||
// .addOption("last_edited_by", "Last Edited By")
|
||||
.setValue("text")
|
||||
.setValue("")
|
||||
.onChange(async (value) => {
|
||||
this.properties[propertyIndex].customType = value; // Update the customType of the specific property
|
||||
});
|
||||
|
||||
@@ -200,7 +200,7 @@ export class EditModal extends SettingModal {
|
||||
this.createSettingEl(nextTabs, i18nConfig.NotionAPI, i18nConfig.NotionAPIDesc, 'password', i18nConfig.NotionAPIText, this.dataTemp.notionAPITemp, 'dataTemp','notionAPITemp')
|
||||
|
||||
// add database id
|
||||
this.createSettingEl(nextTabs, i18nConfig.DatabaseID, i18nConfig.NotionAPIDesc, 'password', i18nConfig.DatabaseIDText, this.dataTemp.databaseIDTemp, 'dataTemp','databaseIDTemp')
|
||||
this.createSettingEl(nextTabs, i18nConfig.DatabaseID, i18nConfig.DatabaseIDDesc, 'password', i18nConfig.DatabaseIDText, this.dataTemp.databaseIDTemp, 'dataTemp','databaseIDTemp')
|
||||
|
||||
|
||||
} else if (value === 'next') {
|
||||
@@ -217,7 +217,7 @@ export class EditModal extends SettingModal {
|
||||
this.createSettingEl(nextTabs, i18nConfig.NotionAPI, i18nConfig.NotionAPIDesc, 'password', i18nConfig.NotionAPIText, this.dataTemp.notionAPITemp, 'dataTemp','notionAPITemp')
|
||||
|
||||
// add database id
|
||||
this.createSettingEl(nextTabs, i18nConfig.DatabaseID, i18nConfig.NotionAPIDesc, 'password', i18nConfig.DatabaseIDText, this.dataTemp.databaseIDTemp, 'dataTemp','databaseIDTemp')
|
||||
this.createSettingEl(nextTabs, i18nConfig.DatabaseID, i18nConfig.DatabaseIDDesc, 'password', i18nConfig.DatabaseIDText, this.dataTemp.databaseIDTemp, 'dataTemp','databaseIDTemp')
|
||||
|
||||
} else if (value === 'custom') {
|
||||
|
||||
@@ -233,7 +233,7 @@ export class EditModal extends SettingModal {
|
||||
this.createSettingEl(nextTabs, i18nConfig.NotionAPI, i18nConfig.NotionAPIDesc, 'password', i18nConfig.NotionAPIText, this.dataTemp.notionAPITemp, 'dataTemp', 'notionAPITemp')
|
||||
|
||||
// add database id
|
||||
this.createSettingEl(nextTabs, i18nConfig.DatabaseID, i18nConfig.NotionAPIDesc, 'password', i18nConfig.DatabaseIDText, this.dataTemp.databaseIDTemp, 'dataTemp', 'databaseIDTemp')
|
||||
this.createSettingEl(nextTabs, i18nConfig.DatabaseID, i18nConfig.DatabaseIDDesc, 'password', i18nConfig.DatabaseIDText, this.dataTemp.databaseIDTemp, 'dataTemp', 'databaseIDTemp')
|
||||
|
||||
// add new property button
|
||||
new Setting(nextTabs)
|
||||
|
||||
@@ -178,7 +178,7 @@ export class SettingModal extends Modal {
|
||||
this.createSettingEl(nextTabs, i18nConfig.NotionAPI, i18nConfig.NotionAPIDesc, 'password', i18nConfig.NotionAPIText, this.data.notionAPI, 'data', 'notionAPI')
|
||||
|
||||
// add database id
|
||||
this.createSettingEl(nextTabs, i18nConfig.DatabaseID, i18nConfig.NotionAPIDesc, 'password', i18nConfig.DatabaseIDText, this.data.databaseID, 'data', 'databaseID')
|
||||
this.createSettingEl(nextTabs, i18nConfig.DatabaseID, i18nConfig.DatabaseIDDesc, 'password', i18nConfig.DatabaseIDText, this.data.databaseID, 'data', 'databaseID')
|
||||
|
||||
|
||||
} else if (value === 'next') {
|
||||
@@ -196,7 +196,7 @@ export class SettingModal extends Modal {
|
||||
|
||||
|
||||
// add database id
|
||||
this.createSettingEl(nextTabs, i18nConfig.DatabaseID, i18nConfig.NotionAPIDesc, 'password', i18nConfig.DatabaseIDText, this.data.databaseID, 'data', 'databaseID')
|
||||
this.createSettingEl(nextTabs, i18nConfig.DatabaseID, i18nConfig.DatabaseIDDesc, 'password', i18nConfig.DatabaseIDText, this.data.databaseID, 'data', 'databaseID')
|
||||
|
||||
} else if (value === 'custom') {
|
||||
|
||||
@@ -212,7 +212,7 @@ export class SettingModal extends Modal {
|
||||
this.createSettingEl(nextTabs, i18nConfig.NotionAPI, i18nConfig.NotionAPIDesc, 'password', i18nConfig.NotionAPIText, this.data.notionAPI, 'data', 'notionAPI')
|
||||
|
||||
// add database id
|
||||
this.createSettingEl(nextTabs, i18nConfig.DatabaseID, i18nConfig.NotionAPIDesc, 'password', i18nConfig.DatabaseIDText, this.data.databaseID, 'data', 'databaseID')
|
||||
this.createSettingEl(nextTabs, i18nConfig.DatabaseID, i18nConfig.DatabaseIDDesc, 'password', i18nConfig.DatabaseIDText, this.data.databaseID, 'data', 'databaseID')
|
||||
|
||||
// add new property button
|
||||
new Setting(nextTabs)
|
||||
|
||||
Reference in New Issue
Block a user