GithubHelp home page GithubHelp logo

henoheno / lukiwiki Goto Github PK

View Code? Open in Web Editor NEW

This project forked from logue/lukiwiki

0.0 2.0 0.0 3.29 MB

[forked for preservation] alternate of PukiWiki Adv

Home Page: https://lukiwiki.logue.be/

License: MIT License

JavaScript 89.29% PHP 9.46% Vue 0.03% HTML 1.21% Batchfile 0.01%

lukiwiki's Introduction

LukiWiki

LukiWiki(ルキウィキ)とはLaravelをベースにPukiWiki Advanceを作り直したWikiシステムです。

サンプルサイト:https://lukiwiki.logue.be ※上がっているソースと同じとは限りません。

開発方針

  • PukiWiki Adv.で肥大化した機能を削減し、よりシンプルに。極力Laravelの機能を使う
  • DB対応は検討中。当面はPukiWiki Adv.との互換性重視(storageディレクトリ内にデーターが置かれます。)
  • グローバル変数を削除

非互換

  • プラグインすべて。OOPにするため互換性はありません。PukiWiki Adv.と異なりラッパーを用意する予定もありません。作り直しになります。まだ仕様は決まっていませんが原則的にこのAbstractPluginクラスに則る形になると思います。composerや
  • 設定ファイル。前述のグローバル変数を削除するため使えません。設定項目は大幅に少なくなる予定です。

試験方法

インストール時は以下のコマンドを実行してください。

composer install
npm install

テスト環境を作る際は、PHPの機能とLaravelの機能でサーバーをインストールする必要はありません。以下のコマンドを打って常駐させるだけです。

php artisan serve

また、JavaScriptやスタイルシートの修正は、別途以下のコマンドを打って、resources/assets内のファイルを修正してください。 直接public/js内のファイルやpublic/css内のファイルはいじらないでください。 このコマンドを常駐させている間は変更があったタイミングで自動的にコンパイルされます。

npm run watch -- --watch-poll

お願い

  • アイデアなどがありましたら、GithubのIssuesに登録してください。
  • コーディングルールは同封の.php-csとなっています。コミット前や投稿前にphp-cs-fixer fix .を実行してください。
  • 現在のところ推奨エディタは、OSを問わずVisual Studio Codeです。一部の設定は、プロジェクトに含まれています。

主な変更点

  • 文法などは原則的にPukiWiki Adv.準拠だが大幅に削減。
  • 顔文字やハートなどはUnicodeに標準で含まれるようになったため削除
  • ページ名はREQUEST_URIからのみ取り、Query Stringは使わない。
  • 凍結(freeze)はロック(Lock)に変更
  • FrontPageはMainPageに変更
  • シンタックスハイライトの処理とテキストエリアの処理はCodeMirrorで統一。
  • MenuBarはSideBarに変更だが、サイドバーをWikiで実装するメリットがあるのか微妙なので保留中。後述のAMP対応などの事情があるため管理画面からカスタマイズという形にする予定。
  • jQuery Mobile廃止し代わりにAMP(Accelerated Mobile Pages)で代用。各ページで?action=ampパラメータを付けることで表示される予定です。
  • ユーザ管理はすべて廃止。代わりにLaravelの任意のモジュールで実装。SNSログイン前提。
  • データーのやり取りはFileクラスに変わって、WikiFileSystemクラスで行います。極力マジックメソッドで実装するようにしているため、Wikiのページをあたかも変数のように使用可能です。
  • スパムの温床になったりHTTPS化で正確なパラメータが取れないため、トラックバック、アクセス解析、PingBack機能はすべて廃止。Google Analyticsを使用してください。

TODO

  • 添付ファイルの管理をどうするか?WordpressやMediaWikiのように全体で管理するか、それともこれまでのようにページ単位で管理するか。
  • バックアップの仕様。予定ではページごとにSqliteで管理予定。
  • LaravelじゃなくLumenでもいいんじゃね?

必要要件

  • PHP 7.2以上
  • nodejs

ライセンス

MIT

Advの時点で原型を留めないくらいコードを書き直しちゃってますけど、途中からGPLからMITに変えるってどうなんでしょうね?

lukiwiki's People

Contributors

logue avatar

Watchers

James Cloos avatar heno avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.