内容へ移動
あちあち情報局
趣味や日曜プログラムなどを書いています
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
現在位置:
トップページ
»
📝DokuWiki
»
📝DokuWiki 自動ページid+自動リスト
dokuwiki:notepad
この文書は読取専用です。文書のソースを閲覧することは可能ですが、変更はできません。もし変更したい場合は管理者に連絡してください。
====== 📝DokuWiki 自動ページid+自動リスト ====== 編集時に自動でページ名をつけ、編集後にページ名をリストに自動追加する方法([[nspages-plugin |nspagesプラグイン]]+JavaScript) ---- <html> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <!-- respon_0 --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-9251612436023685" data-ad-slot="1409739163" data-ad-format="auto"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </html> ===== 概要 ===== DokuWikiはページ名を自分でつけなければページを作成できず、自分でリンクを作らないとそのページに移動できません。ちょっとしたブログやメモ書きをする時にこの2つの作業は手間だったのでプラグインとJavaScriptにより自動化を試してみました。 ===== 動作イメージ ===== [[dokuwiki:demo-notepad:]] ===== ページidを自動作成 ===== サイト設定で「HTMLの埋め込み」を有効にした状態で任意の名前空間のページに下記のJavaScriptをページに記述します。コードの【1】と【2】は各自の環境や好みに変更が必要です(後述)。 「新規ページ作成」というボタンを押すと日付ベースのページIDを作成し編集ページに移動します。 <code javascript> <html> <script> function newpage(){ //メモを書きたい名前空間のURL・・・【1】 var base='http://www.example.com/dokuwiki/wiki/'; //日時を取得 var nowTime=new Date(); var yyyy = nowTime.getFullYear(); var mm = ("0"+(nowTime.getMonth()+1)).slice(-2); var dd = ("0"+(nowTime.getDate())).slice(-2); var hh = ("0"+(nowTime.getHours())).slice(-2); var nn = ("0"+(nowTime.getMinutes())).slice(-2); var ss = ("0"+(nowTime.getSeconds())).slice(-2); //編集ページ名「ベースURLyyyy-mm-dd-hhnnss?do=edit」・・・【2】 location.href = base+yyyy+'-'+mm+'-'+dd+'-'+hh+nn+ss+'?do=edit'; } </script> <input type="button" name="link" value="新規ページ作成" onclick="newpage()"> </html> </code> ** 変更箇所 ** 「DokuWikiの設置URL」やサイト設定の「URLの書き換え」「名前空間の区切り」の状態によって【1】と【2】の部分は変更が必要です。 URLの書き換えや名前空間の区切りを変更していない場合 ^(1)|%%var base='http://www.example.com/dokuwiki/doku.php?id=wiki:';%%| ^(2)|location.href = base+yyyy+'-'+mm+'-'+dd+'-'+hh+nn+ss+'**&**do=edit';| URLの書き換えを「dokuwikiによる設定」にして名前空間の区切りを変更していない場合 ^(1)|%%var base='http://www.example.com/dokuwiki/doku.php/wiki:';%%| ^(2)|location.href = base+yyyy+'-'+mm+'-'+dd+'-'+hh+nn+ss+'**?**do=edit';| URLの書き換えを変更せず名前空間の区切りを「/」にしている場合 ^(1)|%%var base='http://www.example.com/dokuwiki/doku.php?id=wiki/';%%| ^(2)|location.href = base+yyyy+'-'+mm+'-'+dd+'-'+hh+nn+ss+'**&**do=edit';| URLの書き換えを「dokuwikiによる設定」にして名前空間の区切り「/」にしている場合 ^(1)|%%var base='http://www.example.com/dokuwiki/doku.php/wiki/';%%| ^(2)|location.href = base+yyyy+'-'+mm+'-'+dd+'-'+hh+nn+ss+'**?**do=edit';| URLの書き換えを「.htaccess」にして名前空間の区切り「/」にしている場合 ^(1)|%%var base='http://www.example.com/dokuwiki/wiki/';%%| ^(2)|location.href = base+yyyy+'-'+mm+'-'+dd+'-'+hh+nn+ss+'**?**do=edit';| ===== 名前空間中のページリストを表示 ===== nspagesプラグインをインストールして、ページ中に下記のコードを記述します。表示オプションはnspagesプラグインを利用できます。 <code> <nspages> </code> ===== 終わりに ===== 自分用の備忘録・メモ書きなど簡単に書き残したい時にはかなり便利になると思います。(もう少しnspagesプラグインの表示方法が色々変更できたり装飾できるとメインページでも使用できるのになー) ページ名を自分で決めたい場合は [[https://www.dokuwiki.org/plugin:addnewpage|Add New Page Plugin]] を使うと良いかもしれません(未検証)
dokuwiki/notepad.txt
· 最終更新: 2019/01/12 21:12 by
管理者
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ