support-project / knowledge Goto Github PK
View Code? Open in Web Editor NEWFree Knowledge Management System
License: Apache License 2.0
Free Knowledge Management System
License: Apache License 2.0
データベースファイルをそのまま利用して0.4.1から0.4.2にバージョンアップすると、ナレッジを開く際にNot Foundになるようです。
catalina.logには特にエラーは出ていません。
0.4.1に戻したらまた開けるようになったので、データベースが壊れたわけではなさそうです。
サインアウトが押せない?
絵文字記法→HTML→HTMLのコードと認識してしまい、
絵文字表示にならない
ナレッジ一覧でのナレッジへのマウスオーバー時に、リンクの範囲を色を変えるなどしてわかりやすくしてもらうことは出来ますでしょうか。 どこをクリックしたらいいのかぱっと見でわかりづらい気がしましたので。
メールアドレス変更時に確認のメールを送信する
どういう条件かまだわかりませんが、こちらの環境でしばらく使っていると、Internal Server Errorになることがあります。
Tomcatを再起動すると直ります。
以下はノウハウ一覧を表示しようとした際のエラーログです。
ERROR 2015-03-11 00:02:30,970 [Transaction(41)] Error(Rollback) : org.support.project.knowledge.dao.KnowledgesDao_$$_jvst838_2#_d44selectKnowledges ERROR 2015-03-11 00:02:30,976 [Transaction(45)] Error org.h2.jdbc.JdbcSQLException: General error: "java.lang.IllegalArgumentException"; SQL statement: COMMIT [50000-183] at org.h2.message.DbException.getJdbcSQLException(DbException.java:345) at org.h2.message.DbException.get(DbException.java:168) at org.h2.message.DbException.convert(DbException.java:295) at org.h2.command.Command.executeUpdate(Command.java:262) at org.h2.server.TcpServerThread.process(TcpServerThread.java:345) at org.h2.server.TcpServerThread.run(TcpServerThread.java:159) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.IllegalArgumentException at java.nio.Buffer.limit(Buffer.java:275) at org.h2.mvstore.Page$PageChildren.read(Page.java:1040) at org.h2.mvstore.MVStore.readPageChunkReferences(MVStore.java:1267) at org.h2.mvstore.MVStore.collectReferencedChunks(MVStore.java:1240) at org.h2.mvstore.MVStore.collectReferencedChunks(MVStore.java:1244) at org.h2.mvstore.MVStore.collectReferencedChunks(MVStore.java:1244) at org.h2.mvstore.MVStore.collectReferencedChunks(MVStore.java:1227) at org.h2.mvstore.MVStore.freeUnusedChunks(MVStore.java:1186) at org.h2.mvstore.MVStore.storeNow(MVStore.java:980) at org.h2.mvstore.MVStore.commitAndSave(MVStore.java:970) at org.h2.mvstore.MVStore.commit(MVStore.java:931) at org.h2.mvstore.db.TransactionStore.endTransaction(TransactionStore.java:450) at org.h2.mvstore.db.TransactionStore.commit(TransactionStore.java:348) at org.h2.mvstore.db.TransactionStore$Transaction.commit(TransactionStore.java:762) at org.h2.engine.Session.commit(Session.java:492) at org.h2.command.dml.TransactionCommand.update(TransactionCommand.java:46) at org.h2.command.CommandContainer.update(CommandContainer.java:78) at org.h2.command.Command.executeUpdate(Command.java:254) ... 3 more at org.h2.engine.SessionRemote.done(SessionRemote.java:622) at org.h2.command.CommandRemote.executeUpdate(CommandRemote.java:191) at org.h2.jdbc.JdbcConnection.commit(JdbcConnection.java:468) at org.support.project.ormapping.connection.PoolableConnectionWrapper.commit(PoolableConnectionWrapper.java:91) at org.support.project.ormapping.connection.PoolableConnectionWrapper.commit(PoolableConnectionWrapper.java:91) at org.support.project.ormapping.transaction.TransactionPool.commit(TransactionPool.java:98) at org.support.project.ormapping.transaction.TransactionManager.commit(TransactionManager.java:33) at org.support.project.ormapping.transaction.Transaction.invoke(Transaction.java:36) at org.support.project.knowledge.logic.KnowledgeLogic.getKnowledgeDatas(KnowledgeLogic.java:421) at org.support.project.knowledge.logic.KnowledgeLogic.searchKnowledge(KnowledgeLogic.java:264) at org.support.project.knowledge.logic.KnowledgeLogic.searchKnowledge(KnowledgeLogic.java:318) at org.support.project.knowledge.control.open.KnowledgeControl.list(KnowledgeControl.java:170) at org.support.project.common.util.ObjectUtils.invoke(ObjectUtils.java:130) at org.support.project.web.common.InvokeTarget.invoke(InvokeTarget.java:83) at org.support.project.web.filter.ControlManagerFilter.doInvoke(ControlManagerFilter.java:349) at org.support.project.web.filter.ControlFilter.invoke(ControlFilter.java:32) at org.support.project.web.filter.ControlManagerFilter.doFilter(ControlManagerFilter.java:173) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.support.project.web.filter.MultipartFilter.doFilter(MultipartFilter.java:79) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.support.project.web.filter.AuthenticationFilter.doFilter(AuthenticationFilter.java:199) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.support.project.web.filter.LoggingFilter.doFilter(LoggingFilter.java:61) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.support.project.web.filter.EncodingFilter.doFilter(EncodingFilter.java:36) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:136) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:526) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:655) at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745) ERROR 2015-03-11 00:02:30,983 [Transaction(46)] Error org.h2.jdbc.JdbcSQLException: General error: "java.lang.IllegalStateException: Transaction is closed [1.4.183/4]"; SQL statement: ROLLBACK [50000-183] at org.h2.message.DbException.getJdbcSQLException(DbException.java:345) at org.h2.message.DbException.get(DbException.java:168) at org.h2.message.DbException.convert(DbException.java:295) at org.h2.command.Command.executeUpdate(Command.java:262) at org.h2.server.TcpServerThread.process(TcpServerThread.java:345) at org.h2.server.TcpServerThread.run(TcpServerThread.java:159) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.IllegalStateException: Transaction is closed [1.4.183/4] at org.h2.mvstore.DataUtils.newIllegalStateException(DataUtils.java:768) at org.h2.mvstore.db.TransactionStore$Transaction.checkNotClosed(TransactionStore.java:804) at org.h2.mvstore.db.TransactionStore$Transaction.commit(TransactionStore.java:761) at org.h2.engine.Session.rollback(Session.java:575) at org.h2.command.dml.TransactionCommand.update(TransactionCommand.java:49) at org.h2.command.CommandContainer.update(CommandContainer.java:78) at org.h2.command.Command.executeUpdate(Command.java:254) ... 3 more at org.h2.engine.SessionRemote.done(SessionRemote.java:622) at org.h2.command.CommandRemote.executeUpdate(CommandRemote.java:191) at org.h2.jdbc.JdbcConnection.rollbackInternal(JdbcConnection.java:1501) at org.h2.jdbc.JdbcConnection.rollback(JdbcConnection.java:489) at org.support.project.ormapping.connection.PoolableConnectionWrapper.rollback(PoolableConnectionWrapper.java:95) at org.support.project.ormapping.connection.PoolableConnectionWrapper.rollback(PoolableConnectionWrapper.java:95) at org.support.project.ormapping.transaction.TransactionPool.rollback(TransactionPool.java:106) at org.support.project.ormapping.transaction.TransactionManager.rollback(TransactionManager.java:38) at org.support.project.ormapping.transaction.Transaction.invoke(Transaction.java:43) at org.support.project.knowledge.logic.KnowledgeLogic.getKnowledgeDatas(KnowledgeLogic.java:421) at org.support.project.knowledge.logic.KnowledgeLogic.searchKnowledge(KnowledgeLogic.java:264) at org.support.project.knowledge.logic.KnowledgeLogic.searchKnowledge(KnowledgeLogic.java:318) at org.support.project.knowledge.control.open.KnowledgeControl.list(KnowledgeControl.java:170) at org.support.project.common.util.ObjectUtils.invoke(ObjectUtils.java:130) at org.support.project.web.common.InvokeTarget.invoke(InvokeTarget.java:83) at org.support.project.web.filter.ControlManagerFilter.doInvoke(ControlManagerFilter.java:349) at org.support.project.web.filter.ControlFilter.invoke(ControlFilter.java:32) at org.support.project.web.filter.ControlManagerFilter.doFilter(ControlManagerFilter.java:173) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.support.project.web.filter.MultipartFilter.doFilter(MultipartFilter.java:79) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.support.project.web.filter.AuthenticationFilter.doFilter(AuthenticationFilter.java:199) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.support.project.web.filter.LoggingFilter.doFilter(LoggingFilter.java:61) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.support.project.web.filter.EncodingFilter.doFilter(EncodingFilter.java:36) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:136) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:526) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:655) at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745) INFO 2015-03-11 00:02:30,985 [Intercepter(220)] [ERROR] class org.support.project.knowledge.dao.KnowledgesDao_$$_jvst838_2 : selectKnowledges : General error: "java.lang.IllegalArgumentException"; SQL statement: COMMIT [50000-183] INFO 2015-03-11 00:02:30,986 [Intercepter(215)] error. [object]class org.support.project.knowledge.logic.KnowledgeLogic_$$_jvst838_1[proceed]_d15searchKnowledge[param0][param1]null[param2]0[param3]10 General error: "java.lang.IllegalArgumentException"; SQL statement: COMMIT [50000-183] ERROR 2015-03-11 00:02:30,989 [ControlManagerFilter(195)] ERROR SEND ERROR 2015-03-11 00:02:30,991 [LoggingFilter(63)] Any exception is thrown. [javax.servlet.ServletException] javax.servlet.ServletException: javax.servlet.ServletException: org.support.project.common.exception.SystemException: at org.support.project.web.filter.AuthenticationFilter.doFilter(AuthenticationFilter.java:305) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.support.project.web.filter.LoggingFilter.doFilter(LoggingFilter.java:61) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.support.project.web.filter.EncodingFilter.doFilter(EncodingFilter.java:36) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:136) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:526) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:655) at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745) Caused by: javax.servlet.ServletException: org.support.project.common.exception.SystemException: at org.support.project.web.filter.ControlManagerFilter.doFilter(ControlManagerFilter.java:205) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.support.project.web.filter.MultipartFilter.doFilter(MultipartFilter.java:79) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.support.project.web.filter.AuthenticationFilter.doFilter(AuthenticationFilter.java:199) ... 25 more Caused by: org.support.project.common.exception.SystemException: at org.support.project.common.util.ObjectUtils.invoke(ObjectUtils.java:134) at org.support.project.web.common.InvokeTarget.invoke(InvokeTarget.java:83) at org.support.project.web.filter.ControlManagerFilter.doInvoke(ControlManagerFilter.java:349) at org.support.project.web.filter.ControlFilter.invoke(ControlFilter.java:32) at org.support.project.web.filter.ControlManagerFilter.doFilter(ControlManagerFilter.java:173) ... 31 more Caused by: java.lang.reflect.InvocationTargetException at org.support.project.common.util.ObjectUtils.invoke(ObjectUtils.java:130) ... 35 more Caused by: org.h2.jdbc.JdbcSQLException: General error: "java.lang.IllegalArgumentException"; SQL statement: COMMIT [50000-183] at org.h2.message.DbException.getJdbcSQLException(DbException.java:345) at org.h2.message.DbException.get(DbException.java:168) at org.h2.message.DbException.convert(DbException.java:295) at org.h2.command.Command.executeUpdate(Command.java:262) at org.h2.server.TcpServerThread.process(TcpServerThread.java:345) at org.h2.server.TcpServerThread.run(TcpServerThread.java:159) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.IllegalArgumentException at java.nio.Buffer.limit(Buffer.java:275) at org.h2.mvstore.Page$PageChildren.read(Page.java:1040) at org.h2.mvstore.MVStore.readPageChunkReferences(MVStore.java:1267) at org.h2.mvstore.MVStore.collectReferencedChunks(MVStore.java:1240) at org.h2.mvstore.MVStore.collectReferencedChunks(MVStore.java:1244) at org.h2.mvstore.MVStore.collectReferencedChunks(MVStore.java:1244) at org.h2.mvstore.MVStore.collectReferencedChunks(MVStore.java:1227) at org.h2.mvstore.MVStore.freeUnusedChunks(MVStore.java:1186) at org.h2.mvstore.MVStore.storeNow(MVStore.java:980) at org.h2.mvstore.MVStore.commitAndSave(MVStore.java:970) at org.h2.mvstore.MVStore.commit(MVStore.java:931) at org.h2.mvstore.db.TransactionStore.endTransaction(TransactionStore.java:450) at org.h2.mvstore.db.TransactionStore.commit(TransactionStore.java:348) at org.h2.mvstore.db.TransactionStore$Transaction.commit(TransactionStore.java:762) at org.h2.engine.Session.commit(Session.java:492) at org.h2.command.dml.TransactionCommand.update(TransactionCommand.java:46) at org.h2.command.CommandContainer.update(CommandContainer.java:78) at org.h2.command.Command.executeUpdate(Command.java:254) ... 3 more at org.h2.engine.SessionRemote.done(SessionRemote.java:622) at org.h2.command.CommandRemote.executeUpdate(CommandRemote.java:191) at org.h2.jdbc.JdbcConnection.commit(JdbcConnection.java:468) at org.support.project.ormapping.connection.PoolableConnectionWrapper.commit(PoolableConnectionWrapper.java:91) at org.support.project.ormapping.connection.PoolableConnectionWrapper.commit(PoolableConnectionWrapper.java:91) at org.support.project.ormapping.transaction.TransactionPool.commit(TransactionPool.java:98) at org.support.project.ormapping.transaction.TransactionManager.commit(TransactionManager.java:33) at org.support.project.ormapping.transaction.Transaction.invoke(Transaction.java:36) at org.support.project.knowledge.logic.KnowledgeLogic.getKnowledgeDatas(KnowledgeLogic.java:421) at org.support.project.knowledge.logic.KnowledgeLogic.searchKnowledge(KnowledgeLogic.java:264) at org.support.project.knowledge.logic.KnowledgeLogic.searchKnowledge(KnowledgeLogic.java:318) at org.support.project.knowledge.control.open.KnowledgeControl.list(KnowledgeControl.java:170) ... 36 more
ナレッジ一覧の表示がデモサイトで極端に悪い。(マシンパワーが貧弱)
一覧取得の処理を見なおして、速度改善する。
処理を簡単にするため、一覧を表示するナレッジの付加情報の取得を
1件づつ行っているが当然ボトルネックになっている。
まずは、そこから改善していく。
オンラインヘルプがあると、問い合わせが来なくて楽
未ログイン時に押すと、ユーザ1で押したことになる?
コメント未入力時の画面遷移を間違えた
画像を添付して、それを本文の中に埋め込むのを簡単にしたい
公開範囲で「ユーザ」も指定可能にする #21
に関連して、自分宛ての投稿があったらメール通知する機能は欲しい
(ON/OFFできるように)
現在、言語ファイルは「英語」と「日本語」を用意しているが、
リソースファイルを追加すれば別言語にも対応できる。
別言語で使いたいというリクエストが来てるので、追加できる方法をまとめる。
(Readme.mdに書けば良いかな)
パースの順序を変更すれば直ると思う
ナレッジの登録で、定型形式でアップしたいさいにテンプレートを適用できるようにする
自分のデータをエクスポートできると便利?
ユーザの認証をLDAPで行えるようになると会社の中で使いやすくなります。
バージョンアップの中で、コメントでも検索出来るようにしたが、検索インデックス(Lucene)に入っていないので検索できない。
また、DBをダンプから復元したような場合でも、インデックスは復元されない。
このため、インデックスを再更新する仕組みを作成する。
現在の knowledge では記事の作成者のみが記事の編集が可能だと思います。(管理者権限を除く)
実際の情報共有の場では
もあるのではと思います。
そこで Qiita の 編集リクエストを作成
のような機能があると良いなと感じました。
現状はセッションが切れるとログインし直す必要がありますが、クッキーを使って数日間程度はログイン情報を保持していただけるとより使いやすくなるかと思います。
コードハイライト
font awesomeのアイコン表示
が、プレビュー時には表示されない。
実際の表示の時点では表示できる。
作成日時でソートしていなかった。
いちいちグループ登録するのが面倒なので、ユーザで指定できるようにして欲しい。
うちの社内だと年末までIE8推奨なので、対応してもらえると嬉しいです
(あと半年耐えればいい話ではあるのですが…)
http://qiita.com/kimromi/items/d2f234c90c07f5417a8f
互換表示設定をされているIE11でも閲覧できるようになると嬉しいです
たぶん、以下の様な指定があると互換表示が働かなくなるとおもうのですが…
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
バージョン数限定でも良いので、各記事の更新履歴が見られると良いです。
Markdownの格納はGitなどを使うと楽かもしれません。
現在、インストールを簡単にするために、H2DatabaseをWebアプリ起動時に同時起動しています。
組織運用する場合、既にある管理されたDBを利用できるようにしたほうが良いかもという意見がある。
初期設定の中で、組み込みDBを起動するか、接続指定できるようにすることを検討する。
(SQLはpostgresql準拠で作っているのでpostgresqlでは動くと思う。)
hrタグのスタイルに指定されている画像をセットしていなかった
http://www.emoji-cheat-sheet.com/
のような一覧を見えるようにすれば良いかな?
Markdownの説明もあった方が良いそうです。
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.