2 Commits

3 changed files with 35 additions and 2 deletions

View File

@@ -20,8 +20,8 @@ android {
applicationId = "com.docmost.app"
minSdk = 26
targetSdk = 34
versionCode = 9
versionName = "1.0.8"
versionCode = 11
versionName = "1.0.10"
}
signingConfigs {

View File

@@ -2200,6 +2200,10 @@ class PageEditorActivity : AppCompatActivity() {
a {
color: #64b5f6 !important;
}
ul[data-type="taskList"] li > label > input[type="checkbox"] {
border-color: #666 !important;
accent-color: #369FFF;
}
""" else ""
return """
@@ -2235,6 +2239,12 @@ class PageEditorActivity : AppCompatActivity() {
th, td { border: 1px solid #ddd; padding: 8px; white-space: nowrap; }
th { background: #f4f4f4; }
a { color: #0066cc; word-wrap: break-word; overflow-wrap: break-word; }
ul[data-type="taskList"] { list-style: none; padding-left: 0; margin: 8px 0; }
ul[data-type="taskList"] li { display: flex; align-items: flex-start; margin: 4px 0; }
ul[data-type="taskList"] li > label { flex-shrink: 0; margin-right: 8px; display: flex; align-items: center; padding-top: 2px; }
ul[data-type="taskList"] li > label > input[type="checkbox"] { width: 16px; height: 16px; cursor: default; }
ul[data-type="taskList"] li > div { flex: 1; }
ul[data-type="taskList"] li > div > p { margin: 0; }
$darkModeCss
</style>
<script>

View File

@@ -140,6 +140,29 @@ object ContentConverter {
}
sb.append("</li>")
}
"taskList" -> {
sb.append("<ul data-type=\"taskList\">")
content?.forEach { child ->
if (child is Map<*, *>) {
@Suppress("UNCHECKED_CAST")
sb.append(nodeToHtml(child as Map<String, Any?>))
}
}
sb.append("</ul>")
}
"taskItem" -> {
val checked = (node["attrs"] as? Map<*, *>)?.get("checked") as? Boolean ?: false
val checkedAttr = if (checked) " checked" else ""
sb.append("<li data-type=\"taskItem\" data-checked=\"$checked\">")
sb.append("<label><input type=\"checkbox\"$checkedAttr></label>")
content?.forEach { child ->
if (child is Map<*, *>) {
@Suppress("UNCHECKED_CAST")
sb.append(nodeToHtml(child as Map<String, Any?>))
}
}
sb.append("</li>")
}
"codeBlock" -> {
sb.append("<pre><code>")
content?.forEach { child ->