Merge remote-tracking branch 'origin/dev' into dev

This commit is contained in:
Vanessa 2024-01-01 14:38:01 +08:00
commit 3915f7e90f
5 changed files with 234 additions and 8 deletions

View file

@ -0,0 +1,57 @@
## Overview
This version improves kernel stability and supports adding the watermark on export PDF and image.
In addition, starting from this version, S3/WebDAV data sync and backup will end the free public beta phase, and subsequent use requires payment. For details, please visit [https://b3log.org/siyuan/pricing.html].
## Changelogs
Below are the detailed changes in this version.
### Feature
* [Support adding the watermark on export PDF](https://github.com/siyuan-note/siyuan/issues/9961)
* [Support adding the watermark on export image](https://github.com/siyuan-note/siyuan/issues/9992)
### Enhancement
* [S3/WebDAV data sync and backup are available for a fee](https://github.com/siyuan-note/siyuan/issues/8780)
* [Improve `inline code` Markdown editing](https://github.com/siyuan-note/siyuan/issues/9978)
* [Improve `//!js` query embed block result sorting](https://github.com/siyuan-note/siyuan/issues/9977)
* [Improve kernel API requesting concurrency control](https://github.com/siyuan-note/siyuan/issues/9979)
* [Improve web page clip content conversion](https://github.com/siyuan-note/siyuan/issues/9980)
* [Improve position when reopening document on mobile](https://github.com/siyuan-note/siyuan/issues/9981)
* [Support click to open hyperlinks like `www.foo.com` ](https://github.com/siyuan-note/siyuan/issues/9986)
* [Improve some inline elements Markdown editing](https://github.com/siyuan-note/siyuan/issues/9999)
* [Improve flashcard cloze style](https://github.com/siyuan-note/siyuan/issues/10009)
* [Improve math rendering when copy to Zhihu](https://github.com/siyuan-note/siyuan/issues/10015)
* [Remove line breaks when exporting inline formulas that contain line breaks to Markdown](https://github.com/siyuan-note/siyuan/issues/10017)
### Bugfix
* [The status of flashcards after re-reviewing the previous one is incorrect](https://github.com/siyuan-note/siyuan/issues/9988)
* [Inline memos and inline formula replacement are invalid](https://github.com/siyuan-note/siyuan/issues/9990)
* [Unable to export inline formulas with italics](https://github.com/siyuan-note/siyuan/issues/9998)
* [Search and replace fails in some cases](https://github.com/siyuan-note/siyuan/issues/10016)
* [Reference jump is not located in read-only mode](https://github.com/siyuan-note/siyuan/issues/10028)
* [Converting PDF annotation ref to text fails after setting the appearance](https://github.com/siyuan-note/siyuan/issues/10029)
### Development
* [Add Rollup column to database table view](https://github.com/siyuan-note/siyuan/issues/9958)
* [Add plugin event bus `open-menu-inbox`](https://github.com/siyuan-note/siyuan/pull/9967)
* [Error when switching dock on mobile](https://github.com/siyuan-note/siyuan/issues/9974)
* [Database table view asset column support Ctrl+V](https://github.com/siyuan-note/siyuan/issues/9982)
* [Database table view primary key column cell support `[[` bind to a block](https://github.com/siyuan-note/siyuan/issues/9983)
* [Improve kernel API `/api/notebook/*`](https://github.com/siyuan-note/siyuan/pull/9987)
* [Database table view supports inserting columns in the middle](https://github.com/siyuan-note/siyuan/issues/9993)
* [Add internal kernel API `/api/sqlite/flushTransaction`](https://github.com/siyuan-note/siyuan/issues/10005)
* [Add plugin event bus `lock-screen`](https://github.com/siyuan-note/siyuan/issues/10006)
* [Improve adding rows of the filtered database table view](https://github.com/siyuan-note/siyuan/issues/10025)
* [The primary key are no longer shown in the attribute panel database](https://github.com/siyuan-note/siyuan/issues/10027)
* [Show database tab action buttons and tabs can be scrolled](https://github.com/siyuan-note/siyuan/issues/10030)
## Download
* [B3log](https://b3log.org/siyuan/en/download.html)
* [GitHub](https://github.com/siyuan-note/siyuan/releases)

View file

@ -0,0 +1,57 @@
## 概述
此版本改進了內核穩定性,支援在匯出 PDF 和圖片時添加浮水印。
另外,從該版本開始 S3/WebDAV 資料同步和備份結束免費公測階段,後續需要付費才能使用,細節請[訪問](https://b3log.org/siyuan/pricing.html)。
## 變更記錄
以下是此版本中的詳細變更。
### 引入特性
* [支援匯出 PDF 新增浮水印](https://github.com/siyuan-note/siyuan/issues/9961)
* [支援匯出圖片新增浮水印](https://github.com/siyuan-note/siyuan/issues/9992)
### 改進功能
* [S3/WebDAV 資料同步與備份需要付費才能使用](https://github.com/siyuan-note/siyuan/issues/8780)
* [改進 `行級程式碼` Markdown 編輯](https://github.com/siyuan-note/siyuan/issues/9978)
* [改進 `//!js` 查詢嵌入區塊結果排序](https://github.com/siyuan-note/siyuan/issues/9977)
* [改進內核 API 請求並發控制](https://github.com/siyuan-note/siyuan/issues/9979)
* [改進網頁剪藏內容轉換](https://github.com/siyuan-note/siyuan/issues/9980)
* [改進行動端上開啟文件定位瀏覽位置](https://github.com/siyuan-note/siyuan/issues/9981)
* [支援點選開啟形狀如 `www.foo.com` 的超連結](https://github.com/siyuan-note/siyuan/issues/9986)
* [改進一些行級元素 Markdown 編輯](https://github.com/siyuan-note/siyuan/issues/9999)
* [改良閃卡挖空樣式](https://github.com/siyuan-note/siyuan/issues/10009)
* [改進複製到知乎時公式渲染](https://github.com/siyuan-note/siyuan/issues/10015)
* [匯出 Markdown 時刪除行級公式中的換行](https://github.com/siyuan-note/siyuan/issues/10017)
### 修復缺陷
* [閃卡回到上一步重新複習後狀態不正確](https://github.com/siyuan-note/siyuan/issues/9988)
* [行級備註與行級公式查找替換失效](https://github.com/siyuan-note/siyuan/issues/9990)
* [無法匯出斜體的行級公式](https://github.com/siyuan-note/siyuan/issues/9998)
* [某些情況下搜尋替換失效](https://github.com/siyuan-note/siyuan/issues/10016)
* [唯讀模式下引用跳轉後未定位瀏覽位置](https://github.com/siyuan-note/siyuan/issues/10028)
* [無法轉換外觀樣式的 PDF 註解引用為文字](https://github.com/siyuan-note/siyuan/issues/10029)
### 開發者
* [資料庫表格檢視新增總計欄位](https://github.com/siyuan-note/siyuan/issues/9958)
* [新增外掛事件匯流排 `open-menu-inbox`](https://github.com/siyuan-note/siyuan/pull/9967)
* [行動端切換停靠列異常](https://github.com/siyuan-note/siyuan/issues/9974)
* [資料庫表格檢視資源列支援 Ctrl+V](https://github.com/siyuan-note/siyuan/issues/9982)
* [資料庫表格視圖主鍵列支援 `[[` 綁定區塊](https://github.com/siyuan-note/siyuan/issues/9983)
* [改進內核 API `/api/notebook/*`](https://github.com/siyuan-note/siyuan/pull/9987)
* [資料庫表格檢視支援在中間插入欄位](https://github.com/siyuan-note/siyuan/issues/9993)
* [新增內部核心 API `/api/sqlite/flushTransaction`](https://github.com/siyuan-note/siyuan/issues/10005)
* [新增外掛事件匯流排 `lock-screen`](https://github.com/siyuan-note/siyuan/issues/10006)
* [改進資料庫開啟過濾時新增行操作](https://github.com/siyuan-note/siyuan/issues/10025)
* [主鍵不再在屬性面板資料庫頁籤中顯示](https://github.com/siyuan-note/siyuan/issues/10027)
* [資料庫視圖頁籤支援滾動](https://github.com/siyuan-note/siyuan/issues/10030)
## 下載
* [B3log](https://b3log.org/siyuan/download.html)
* [GitHub](https://github.com/siyuan-note/siyuan/releases)

View file

@ -0,0 +1,57 @@
## 概述
该版本改进了内核稳定性,支持导出 PDF 和图片时添加水印。
另外,从该版本开始 S3/WebDAV 数据同步和备份结束免费公测阶段,后续需要付费才能使用,细节请[访问](https://b3log.org/siyuan/pricing.html)。
## 变更记录
以下是此版本中的详细变更。
### 引入特性
* [支持导出 PDF 添加水印](https://github.com/siyuan-note/siyuan/issues/9961)
* [支持导出图片添加水印](https://github.com/siyuan-note/siyuan/issues/9992)
### 改进功能
* [S3/WebDAV 数据同步和备份需要付费才能使用](https://github.com/siyuan-note/siyuan/issues/8780)
* [改进 `行级代码` Markdown 编辑](https://github.com/siyuan-note/siyuan/issues/9978)
* [改进 `//!js` 查询嵌入块结果排序](https://github.com/siyuan-note/siyuan/issues/9977)
* [改进内核 API 请求并发控制](https://github.com/siyuan-note/siyuan/issues/9979)
* [改进网页剪藏内容转换](https://github.com/siyuan-note/siyuan/issues/9980)
* [改进移动端上打开文档定位浏览位置](https://github.com/siyuan-note/siyuan/issues/9981)
* [支持单击打开形如 `www.foo.com` 的超链接](https://github.com/siyuan-note/siyuan/issues/9986)
* [改进一些行级元素 Markdown 编辑](https://github.com/siyuan-note/siyuan/issues/9999)
* [改进闪卡挖空样式](https://github.com/siyuan-note/siyuan/issues/10009)
* [改进复制到知乎时公式渲染](https://github.com/siyuan-note/siyuan/issues/10015)
* [导出 Markdown 时删除行级公式中的换行](https://github.com/siyuan-note/siyuan/issues/10017)
### 修复缺陷
* [闪卡返回上一步重新复习后状态不正确](https://github.com/siyuan-note/siyuan/issues/9988)
* [行级备注和行级公式查找替换失效](https://github.com/siyuan-note/siyuan/issues/9990)
* [无法导出带斜体的行级公式](https://github.com/siyuan-note/siyuan/issues/9998)
* [某些情况下搜索替换失效](https://github.com/siyuan-note/siyuan/issues/10016)
* [只读模式下引用跳转后未定位浏览位置](https://github.com/siyuan-note/siyuan/issues/10028)
* [无法转换带外观样式的 PDF 注释引用为文本](https://github.com/siyuan-note/siyuan/issues/10029)
### 开发者
* [数据库表格视图添加汇总列](https://github.com/siyuan-note/siyuan/issues/9958)
* [添加插件事件总线 `open-menu-inbox`](https://github.com/siyuan-note/siyuan/pull/9967)
* [移动端切换停靠栏异常](https://github.com/siyuan-note/siyuan/issues/9974)
* [数据库表格视图资源列支持 Ctrl+V](https://github.com/siyuan-note/siyuan/issues/9982)
* [数据库表格视图主键列支持 `[[` 绑定块](https://github.com/siyuan-note/siyuan/issues/9983)
* [改进内核 API `/api/notebook/*`](https://github.com/siyuan-note/siyuan/pull/9987)
* [数据库表格视图支持在中间插入列](https://github.com/siyuan-note/siyuan/issues/9993)
* [添加内部内核 API `/api/sqlite/flushTransaction`](https://github.com/siyuan-note/siyuan/issues/10005)
* [添加插件事件总线 `lock-screen`](https://github.com/siyuan-note/siyuan/issues/10006)
* [改进数据库开启过滤时添加行操作](https://github.com/siyuan-note/siyuan/issues/10025)
* [主键不再在属性面板数据库页签中显示](https://github.com/siyuan-note/siyuan/issues/10027)
* [数据库视图页签支持滚动](https://github.com/siyuan-note/siyuan/issues/10030)
## 下载
* [B3log](https://b3log.org/siyuan/download.html)
* [GitHub](https://github.com/siyuan-note/siyuan/releases)

View file

@ -246,15 +246,21 @@ func GetBlockAttributeViewKeys(blockID string) (ret []*BlockAttributeViewKeys) {
if nil != destAv {
for _, bID := range relVal.Relation.BlockIDs {
destVal := destAv.GetValue(kv.Key.Rollup.KeyID, bID)
if nil != destVal {
if av.KeyTypeNumber == destVal.Type {
destVal.Number.Format = kv.Key.NumberFormat
destVal.Number.FormatNumber()
if nil == destVal {
destKey, _ := destAv.GetKey(kv.Key.Rollup.KeyID)
if nil == destKey {
continue
}
kv.Values[0].Rollup.Contents = append(kv.Values[0].Rollup.Contents, destVal.String())
destVal = treenode.GetAttributeViewDefaultValue(ast.NewNodeID(), kv.Key.Rollup.KeyID, blockID, destKey.Type)
}
if av.KeyTypeNumber == destVal.Type {
destVal.Number.Format = kv.Key.NumberFormat
destVal.Number.FormatNumber()
}
kv.Values[0].Rollup.Contents = append(kv.Values[0].Rollup.Contents, destVal.String())
kv.Values[0].Rollup.RenderContents(kv.Key.Rollup.Calc)
}
}
@ -814,7 +820,12 @@ func renderAttributeViewTable(attrView *av.AttributeView, view *av.View) (ret *a
for _, blockID := range relVal.Relation.BlockIDs {
destVal := destAv.GetValue(rollupKey.Rollup.KeyID, blockID)
if nil == destVal {
continue
destKey, _ := destAv.GetKey(rollupKey.Rollup.KeyID)
if nil == destKey {
continue
}
destVal = treenode.GetAttributeViewDefaultValue(ast.NewNodeID(), rollupKey.Rollup.KeyID, blockID, destKey.Type)
}
if av.KeyTypeNumber == destVal.Type {
destVal.Number.Format = rollupKey.NumberFormat

View file

@ -777,7 +777,12 @@ func renderAttributeViewTable(attrView *av.AttributeView, view *av.View) (ret *a
for _, blockID := range relVal.Relation.BlockIDs {
destVal := destAv.GetValue(rollupKey.Rollup.KeyID, blockID)
if nil == destVal {
continue
destKey, _ := destAv.GetKey(rollupKey.Rollup.KeyID)
if nil == destKey {
continue
}
destVal = GetAttributeViewDefaultValue(ast.NewNodeID(), rollupKey.Rollup.KeyID, blockID, destKey.Type)
}
if av.KeyTypeNumber == destVal.Type {
destVal.Number.Format = rollupKey.NumberFormat
@ -841,8 +846,10 @@ func renderAttributeViewTable(attrView *av.AttributeView, view *av.View) (ret *a
func FillAttributeViewTableCellNilValue(tableCell *av.TableCell, rowID, colID string) {
if nil == tableCell.Value {
tableCell.Value = &av.Value{ID: tableCell.ID, KeyID: colID, BlockID: rowID, Type: tableCell.ValueType}
tableCell.Value = GetAttributeViewDefaultValue(tableCell.ID, colID, rowID, tableCell.ValueType)
return
}
tableCell.Value.Type = tableCell.ValueType
switch tableCell.ValueType {
case av.KeyTypeText:
@ -908,6 +915,43 @@ func FillAttributeViewTableCellNilValue(tableCell *av.TableCell, rowID, colID st
}
}
func GetAttributeViewDefaultValue(valueID, keyID, blockID string, typ av.KeyType) (ret *av.Value) {
ret = &av.Value{ID: valueID, KeyID: keyID, BlockID: blockID, Type: typ}
switch typ {
case av.KeyTypeText:
ret.Text = &av.ValueText{}
case av.KeyTypeNumber:
ret.Number = &av.ValueNumber{}
case av.KeyTypeDate:
ret.Date = &av.ValueDate{}
case av.KeyTypeSelect:
ret.MSelect = []*av.ValueSelect{}
case av.KeyTypeMSelect:
ret.MSelect = []*av.ValueSelect{}
case av.KeyTypeURL:
ret.URL = &av.ValueURL{}
case av.KeyTypeEmail:
ret.Email = &av.ValueEmail{}
case av.KeyTypePhone:
ret.Phone = &av.ValuePhone{}
case av.KeyTypeMAsset:
ret.MAsset = []*av.ValueAsset{}
case av.KeyTypeTemplate:
ret.Template = &av.ValueTemplate{}
case av.KeyTypeCreated:
ret.Created = &av.ValueCreated{}
case av.KeyTypeUpdated:
ret.Updated = &av.ValueUpdated{}
case av.KeyTypeCheckbox:
ret.Checkbox = &av.ValueCheckbox{}
case av.KeyTypeRelation:
ret.Relation = &av.ValueRelation{}
case av.KeyTypeRollup:
ret.Rollup = &av.ValueRollup{}
}
return
}
func renderTemplateCol(ial map[string]string, tplContent string, rowValues []*av.KeyValues) string {
if "" == ial["id"] {
block := getRowBlockValue(rowValues)