**您载入了该文档旧的修订版!** 如果您保存了它,您就会用这些数据创建一份新的修订版。
&
<h1>建立新页面</h1> <label for="namespace"
>建立文件夹名称 : </label>
>建立文件夹名称 : </label>&
<h1>建立新页面</h1> <label for="namespace"
>建立文件夹名称 : </label>
>建立文件夹名称 : </label>&
<input type="text" id="namespace" placeholder="file-name/file-name/…."
>
>&
<br> <label for="pageName"
>文章名称 : </label>
>文章名称 : </label>&
<input type="text" id="pageName" placeholder="page-name" required> <br> <button onclick="createPage()"
>创建并跳转</button>
>创建并跳转</button>&
<div id="resultUrl"
></div>
></div>&
</div>
<script>
function createPage() {
const dokuwikiBaseUrl = "https://wiki.ww3.tw/"; // !!! 这里替换成你的 DokuWiki 实际的 URL !!!
const namespaceInput = document.getElementById('namespace').value.trim();
const pageNameInput = document.getElementById('pageName').value.trim();
const templateInput = document.getElementById('template').value.trim();
const resultUrlDiv = document.getElementById('resultUrl');
if (!pageNameInput) {
alert("文章名称是必填的!");
return;
}
// 1. 处理命名空间和页面名称,将斜杠 `/` 转换为冒号 `:`
let fullPageId = '';
if (namespaceInput) {
// 将所有 `/` 替换为 `:`,并确保没有连续的 `:`
const cleanNamespace = namespaceInput.replace(/\//g, ':').replace(/:+/g, ':');
fullPageId = cleanNamespace + ':' + pageNameInput;
} else {
fullPageId = pageNameInput;
}
// 确保页面ID以字母或数字开头,且没有多余的冒号
fullPageId = fullPageId.replace(/^:|:$/g, ''); // 移除开头或结尾的冒号
// 2. 构建 DokuWiki 编辑页面的 URL
// DokuWiki 编辑页面的URL格式通常是:
// your_dokuwiki_base_url/doku.php?id=FULL_PAGE_ID&do=edit
// 如果使用模板,则加上 &tpl=TEMPLATE_ID
let targetUrl = `${dokuwikiBaseUrl}doku.php?id=${encodeURIComponent(fullPageId)}&do=edit`;
if (templateInput) {
// 确保模板 ID 格式正确,也允许用户使用 / 或 :
const cleanTemplateId = templateInput.replace(/\//g, ':').replace(/:+/g, ':');
targetUrl += `&tpl=${encodeURIComponent(cleanTemplateId)}`;
}
// 3. 显示结果 URL (可选,用于调试或用户查看)
resultUrlDiv.innerText = "将跳转到: " + targetUrl;
resultUrlDiv.style.display = 'block';
// 4. 跳转到 DokuWiki 的编辑页面
window.location.href = targetUrl;
}
</script>
</html>