kujirahand / konawiki3 Goto Github PK
View Code? Open in Web Editor NEWWiki clone
Home Page: https://kujirahand.com/konawiki3/
License: MIT License
Wiki clone
Home Page: https://kujirahand.com/konawiki3/
License: MIT License
nako3プラグインで表示時に実行するオプション。
ファイルベースのWIKIゆえの問題だが、ファイルリネームしたとき更新履歴や人気のページが壊れる。
せめて、履歴や人気のページから無効なページを削除する機能が欲しい。
ファイル→名前管理DBの同期機能があると良い。
ページ内に<>があるとエンコードされて表示されてしまう
konawiki2にある タグ機能を konawiki3 でも使いたい。
「xxxx.php」というページを作ると正しく保存されないので、確認する。
指定の拡張子以外のファイルであれば、「.txt」を付与する、そうでなければ直接編集するようにする。
最近更新されたページが分かるようにする。
WIKIのメンテナンスをする上で重要。
#17 との関連
現状、保存だけはしているが、復元する機能がない。
復元できるようにする。
URLが自動的にリンクされるが、末尾に~がついてアクセスできない
信頼性を高めるために、テストを作る。
普通に直すよりも、分かりやすく、ソースコードを別途返すような仕組みにすると良いかも。
今は、失敗しているけど、直接dataディレクトリ以下にリンクするようにしようとしている。
現行のプラグインはコードを表示+実行なので、ただ実行するだけのプラグイン。
あるいは、現行のプラグインに実行モードつければ良いかも。
直す
konawiki2のようにindex.php?go(id)
で指定IDに飛ぶように。
複数人の同時入力に、あるいは、複数のページを開いて更新してしまった時に、一発で更新があることが分かるようにする。
キーが押された時などアクティブなアクションがあったとき、ページが更新されているかどうかを調べるようにする。
グローバル変数 $kona3conf にユーザー情報やその他の重要なデータを設定しないようにする。
どこに何が書いてあるのか悩むので設定ファイルを一元化する。
konawiki3.ini.php
kona3conf.inc.php
tmp-konawiki3.ini.php
今のところ、
ソースコードにリンクしている
TODOコメントがついているページを強調して教えてくれるようにする。
たとえば、なでしこ3のマニュアルで「文法/無名関数」が候補に出てこない。
すみません。さっき、思わずマージしてしまいましたが、毎回、ページを表示するたびに、シェルコマンドを実行するのはあまり良い方法に思えません。設定ファイルの作成時に一度だけ実行するようにすると良いと思います。
nako3プラグイン - ネットが繋がっていなくて読み込めないときエラーを表示
簡単なユーザー登録の機能を持たせる
現在、実行効率の問題から、
kona3engine/fw_template_engine.lib.php
のテンプレートで {{ include ... }}コマンドで上位テンプレートのパラメータ変数を検証しないようにしています。
うまく継承する方法を考える。
案としては、上位のパラメータをグローバル変数に入れておいて、テンプレート入る、抜ける時に、push/popするようにする。
現行では、「保存」ボタンを押したとき、改行による自動時にも、git pushが走るので、非常に重たい印象。
そこで、「一時保存」ボタンを押した時、自動保存時には、JavaScriptでlocalStorageへ保存するようにし、「保存と反映」ボタンを押した時に、Git commit & push が走るようにする。
書き込みができないときのエラー処理をしっかりやるように。
あまり真面目にユーザー管理機能作ってなかったので、設定ファイルにべた書き状態となっている。
べた書き設定を廃止して、データベースにユーザー情報を記録し、ハッシュだけを保存するようにする。
オプションにします。
ログインして編集中の内容を保全するように
konawiki2のなでしこ3簡易エディタを表示するプラグインを実装する。
ただし、konawiki2と処理を同一にしたい。
iframeなどで埋め込むようにするのが良いかも。
ログインページと検索ページが検索エンジンにヒットしないようにする
現状、KonaWiki記法がメインだが、Markdownでも正しくWikiが動くようにしたい。
デフォルトの表記法を選べるようにする。
かなりデザインが崩れている感じがあるので
そろそろまともなデザインテンプレートを適用する
簡単なので、Markdownのパーサーも自作する
普段から、テキストエディタの代わりにKonaWiki3を使っていて、頻繁に保存と表示を行ったり来たりしています。
一時保存機能の実装 #9 でlocalStorageにだけ保存するようにしてもらいましたが、、、しばらく執筆の仕事に使ってみたところ、Ctrl + Sでファイルへ保存し、Git pushはせずファイル保存だけやって欲しく感じました。
そのため、保存キーは以下のように三種類作ろうと思います。
アップロード機能を付けた。
dataフォルダに直接アップするようにした。
なぜか、ずっとやる気にならなかったのでなかったけど、そろそろつける。
どちらかという画像掲示板的な感じで実装すると楽しいかも。
アップロードにはログインが必要。誰がアップしたか記録する。
SQLITEにIDとファイル名とMIMEタイプをつける
KONA3_SHOW_DATA_DIRをTRUEにしていると
非公開モードでもファイルパスが表示されてしまう
デフォルトオフにすること
また、ログインチェックを行ってから表示すること
localhostでテストする場合には、Enterで保存が良い感じに働くが、Web経由だと遅延があり、保存に失敗したと出てることがある。
#counter
#popular
ページ毎にアクセスをカウントする。
年間、月間のアクセスランキングを出すようにする。
#53 と関連して
現在、拡張子「.md」のマークダウンファイルの編集ができないようです。
書き換えされたくないページには、ページの先頭に「#freeze」と書いておく。すると、書き換えの際に管理者パスワードが必要になるようにする。安全にWIKIを運用するために仕組みを導入する。
DBに履歴は残っているけど、見れない状態になっている
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.