Git Product home page Git Product logo

lemonade's Introduction

Lemonade

About Lemonade

Lemonade は、SPARQLを用いたアサルトリリィファンサイト用情報システムです。
アサルトリリィRDFデータベース LuciaDB と連携し、様々な情報を提供するシステムとして設計されています。

一柳梨璃さんがラムネ好きであることから "Lemonade" と名付けられました。
(ラムネは英語のレモネードが転訛したものと言われています。)

Lemonade は PHPのフレームワーク Laravel をベースに構築されています。

License

CC BY-NC-SA

Lemonadeは クリエイティブ・コモンズ 表示 - 非営利 - 継承 4.0 国際 ライセンスで利用できます。

ただし、このライセンスの適用は本リポジトリ内の内容に限られ、パッケージ管理システムによって読み込まれるライブラリ等や、<script>要素によりクライアントで読み込まれる外部ライブラリについては適用されません。

2022年7月24日にライセンスがMITライセンスから変更されました。

The Lemonade is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International.

However, this license is limited to the contents in this repository. It does not apply to libraries loaded by the package management system or external libraries loaded by the client by <script> elements.

The license was changed from the MIT license on July 24, 2022.

Requirement

  • Web server(e.g. Apache)
  • PHP after Ver8.1
  • MySQL or MariaDB

lemonade's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

lemonade's Issues

"・"を名前に含むリリィのIME辞書での扱いについて

課題

現状、フルネームを変換で出したい場合

  • フルネームの読み仮名を入力するしか方法がない
  • ルドビコ女学院のリリィなど、"・"を名前に含むリリィでは"・"も入力しないと変換候補に出ない

「岸本・マリア・未来」を変換で出したい場合
✕ きしもとまりあみらい
○ きしもと・まりあ・みらい

提案

  1. "・"なしで変換できるようにする
  2. 苗字を入力するとフルネームが候補に出るようにする
  3. 名前を入力するとフルネームが候補に出るようにする

どれを採用するかは要検討、複数採用してもいいと思います。

追記
Microsoft IME と MacOS 経由で iOS の標準IMEで使ってますが、両方とも同じ挙動をしています。別のIMEだともしかしたら違うのかも…?

クリエイティブ・コモンズのライセンス画像のURLが変更されている

細かいことですが、
フッター部のCC BY-NC-SA 4.0の画像リンクが
https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png

https://licensebuttons.net/l/by-nc-sa/4.0/88x31.png
に変更されています。

リダイレクトが行われているため、表示上の問題はありませんが、パフォーマンス的には少し影響があるため、対応したほうが良いかと思われます。

ラスバレ公式サイトへのリンクが機能していない

昨年6月ごろのラスバレ運営体制の変更により、ラスバレ公式サイトのURLが https://assaultlily.bushimo.jp から https://assaultlily.jp に変更されています。

リダイレクトもされていないため、Lemonade内でのラスバレ公式サイトへのリンク(キャラ詳細など)が機能していない状況です。

幸いディレクトリ構造は(おそらく)変更されていないため、対応は該当ドメイン名を差し替えるのみだと思います。

メインストーリーで追加された新生グラン・エプレ(元生徒会防衛隊)の4人に関しては、ラスバレ公式サイト内でのキャラ紹介が用意されていません。

Assault-Lily/LuciaDB#96 で顕在化した問題ですが、こちらに関しては公式サイトの方で対応が行われるかもしれないので、様子見でも良いかもしれません。

関連URL登録 バリデーションが正しくない

概要

関連URL紐付け時、概要欄が未入力でも送信できるが、DBではRequiredで定義されているため500エラーが発生する。DB上で概要欄をNullableとするか画面上で概要欄を必須とするか、どちらかに合わせる必要がある。

OGP画像にアイコンを載せる

OGP画像が味気ないので右側の空きスペースにアイコンを載せる提案です。

OGPController.php 内で

  1. アイコン画像をmakeで読み込む
  2. アイコン画像をアス比保持でResize
  3. アイコン画像をキャンバスにInsert

とするだけなら難しくなさそうだと思ったのですが、フルネームが長いリリィだと名前テキストがアイコンに被ってしまうことに気付きました。テキストの折り返しか、全体的なテキスト位置の見直しが必要になってしまいます。

image
https://lemonade.lily.garden/ogp/lily/%E3%83%9F%E3%83%AA%E3%82%A2%E3%83%A0%E3%83%BB%E3%83%92%E3%83%AB%E3%83%87%E3%82%AC%E3%83%AB%E3%83%89%E3%83%BBv%E3%83%BB%E3%82%B0%E3%83%AD%E3%83%94%E3%82%A6%E3%82%B9.jpg

見たところ名刺をモチーフにしたOGP画像のようなので、アイコンでなくとも、ルーン文字や校章でも構わないと思います。その場合は文字が被っても問題なさそうです。

身も蓋もないことを言えば、1200x630の巨大カード画像でなくとも、アイコン画像やメモリア画像が存在するものについてはそれをそのままOGP画像として採用すればいいのではという気がしなくもないです。

複数のアイコンのいずれかをランダムで載せる場合、SNSや画像検索でどのように表示されるのか(一定時間キャッシュされるのか、特定のアイコンで永久に固定されるのか、検索結果に複数並ぶのか、いずれかひとつが並ぶのか)は確認しておいた方がいいかもしれません。

メタ情報がマディックや教導官を考慮していない

HTMLのメタ情報でマディックや教導官が一律でリリィ扱いになっています。

view-source:https://lemonade.lily.garden/lily/Michikawa_Miaki

    <meta name="description" content="リリィ「道川深顯」のプロフィールを閲覧できます。シエルリント女学薗のリリィです。">
    <meta property="og:title" content="道川深顯 - Lemonade">
    <meta property="og:description" content="リリィ「道川深顯」のプロフィールを閲覧できます。シエルリント女学薗のリリィです。">

道川深顯の場合、以下のようにマディックとする必要があります。

    <meta name="description" content="アサルトリリィの登場人物「道川深顯」のプロフィールを閲覧できます。シエルリント女学薗のマディックです。">
    <meta property="og:title" content="道川深顯 - Lemonade">
    <meta property="og:description" content="アサルトリリィの登場人物「道川深顯」のプロフィールを閲覧できます。シエルリント女学薗のマディックです。">

文章はあくまで一例です。

その他のエッジケースとして https://github.com/fvh-P/assaultlily-rdf/blob/master/RDFs/character.ttl に記載のある「御前」「今村咲魅」「六角瀬名」で矛盾のない文章に出来れば良いと思います。

二水ちゃんのツイートを探すのが大変すぎる

ツイート検索リンクからTwitterに遷移した場合、基本的に問題なくそのリリィに関するツイートが表示されるが、二川二水のツイートを検索すると公式アカウント名に"二川二水"が含まれるため全部出てくる

OGP画像生成

Pixiv小説のOGPみたいな感じにできるといいな(寝言)

ソフトウェア類にCCライセンスの適用は非推奨とされていますが大丈夫でしょうか?

ライセンスの変更に関するお知らせ #303 で予告の通り、Lemonadeは本日よりMITライセンスからCC BY-NC-SA 4.0ライセンスに移行されました。しかしながら、ソフトウェアの類にCCライセンスを適用することをCreative Commonsは推奨していません。

ソフトウェアにクリエイティブ・コモンズ・ライセンスを適用することはできますか?

私たちはソフトウェアにクリエイティブ・コモンズ・ライセンスを適用することをお勧めしません。代わりに、既に利用可能な非常に優れたソフトウェア・ライセンスの一つを利用することを強くお勧めします。私たちは、Free Software Foundationによってフリーとされたライセンスや、Open Source Initiativeによってオープンソースとされたライセンスを検討することをお勧めします。

ソフトウェア固有のライセンスとは異なり、CCライセンスには、ソフトウェアの自由な再利用と改変可能性を保証するためにしばしば重要となる、ソースコードの配布に関する特定の条項が含まれていません。また、多くのソフトウェアライセンスは特許権も扱っており、これはソフトウェアにとっては重要ですが、他の著作物には適用されない場合があります。さらに、私たちのライセンスは現在、主要なソフトウェアライセンスと互換性がないため、CCライセンスの作品を他のフリーソフトウェアと統合することは困難でしょう。既存のソフトウェアライセンスは、特にソフトウェアで使用するために設計されており、クリエイティブ・コモンズ・ライセンスと同様の権利群を提供しています。

―― Frequently Asked Questions - Creative CommonsよりDeepL翻訳(クリエイティブ・コモンズ・ジャパンによる簡易訳もあり)

これらの事情を承知の上でCC BY-NC-SA 4.0を選択されたのであれば構いませんが、もしご存じでなければ再考の余地があるように思われます。

宮野さんのツイートによると、

ライセンスについてですが、CC BY-NC-SAに切り替えたのはMITライセンスのままでは私や公式ではない第三者がLemonadeを商用利用する可能性を排除できなかったための苦渋の決断です。

とのことですが、LuciaDBと違ってLemonadeのソースコードの大半はAZONE INTERNATIONAL・acusの知財とは無関係なロジックであり、第三者に商用利用されて困る部分は『ラスバレ』を模したサイトデザインくらいしか思い当たらず、本当にCC BY-NC-SA 4.0とする必要があったのかという疑問があります。

[IME辞書] 同一の変換読みが2つ以上あるとMS-IMEでインポートエラー

アサルトリリィ非公式オープン拡張辞書をMS-IMEでインポートした際に、729語中1語がエラーのため除外されてしまいます。

スクリーンショット 2021-10-26 15 40 59

「海堂・ベアトリス・千春」と「大中臣千春」で下の名前が同じため、後者の辞書エントリがエラーとなってしまうようです。

assaultlily-dic.dctx

    <ns1:DictionaryEntry>
		<ns1:PartOfSpeech>Name-Given</ns1:PartOfSpeech>
		<ns1:OutputString>千春</ns1:OutputString>
		<ns1:InputString>ちはる</ns1:InputString>
		<ns1:CommentData1>教導官</ns1:CommentData1>
		<ns1:CommentData2>LG情報なし</ns1:CommentData2>
		<ns1:CommentData3>私立ルドビコ女学院</ns1:CommentData3>
		<ns1:Priority>0</ns1:Priority>
		<ns1:ReverseConversion>true</ns1:ReverseConversion>
		<ns1:CommonWord>true</ns1:CommonWord>
	</ns1:DictionaryEntry>
    <ns1:DictionaryEntry>
		<ns1:PartOfSpeech>Name-Given</ns1:PartOfSpeech>
		<ns1:OutputString>千春</ns1:OutputString>
		<ns1:InputString>ちはる</ns1:InputString>
		<ns1:CommentData1>教導官</ns1:CommentData1>
		<ns1:CommentData2>LG情報なし</ns1:CommentData2>
		<ns1:CommentData3>鹿野苑高等女学園</ns1:CommentData3>
		<ns1:Priority>0</ns1:Priority>
		<ns1:ReverseConversion>true</ns1:ReverseConversion>
		<ns1:CommonWord>true</ns1:CommonWord>
	</ns1:DictionaryEntry>

現時点での対処方法は不明です。#145 での対応 8de5180 を契機に顕在化したものと思われますが、ロールバックするよりは仕様として現状維持の方がユーザメリットは大きいです。他のIMEでどうなるかは確認していません。

[IME辞書] Gboard用IME辞書ダウンロード機能の復活

Android用「Google日本語入力」がサポート終了となっていることから、後継となるGboard用のIME辞書ダウンロード機能の復活はできないでしょうか。

そうそう、アサルトリリィ非公式IME辞書生成機能には既知の問題があり、Android端末でAndroid向けの辞書を落とそうとするとネットワーク接続待機でDLが進まない問題があります
(最近のAndroidであれば回避策があります)

からはじまる一連のツイートを拝見し、過去に一度そうした機能が実装されたものの、今はコメントアウトされたことまでは把握したのですが、再実装のために何かお手伝いできないかと考えています。

PHPのコード(app/Http/Controllers/InfoController.php)を見ても特段おかしいところはなく、AndroidのChromeブラウザから https://lemonade.lily.garden/imedic?format=zip に直接アクセスして問題なくダウンロードできているので、逆にどういった環境で問題が発生するのかが気になっています。

【提案】faviconの設置

サイトにファビコンが設置されていないため,ブラウザが繰り返しリクエストを送ってページの読み込み完了までに時間がかかります。
ファビコンの設置を提案します。

アイコン画像をS3から配信したい

何気にアイコン画像のダウンロードに数百msかかっているので高速化したい

同時に画像のアップロードをLemonade管理UIからできるようになると最高

データベースから誕生日をCSVファイルに出力する機能

方針

LuciaDBのリリィの名前と誕生日の情報を纏めたcsvをGoogleCalenderに取り込める書式で出力する。

御託

オタクはリリィの誕生日を祝いたい。
また、絵描きとしては誕生日の日程管理は大事な課題というかそういうところがある。

参考

CSV 形式のイベント一覧情報を Google カレンダーに一括登録する 2 つの方法
https://qiita.com/tanabee/items/7ebcc63e5b561d18a582

[IME辞書] MS-IME用システム辞書ダウンロード機能

MS-IME用のシステム辞書(アドオン辞書、追加辞書、オープン拡張辞書とも呼ばれる)のダウンロード機能を追加できないでしょうか。

システム辞書は、現在Lemonadeで提供されているユーザー辞書(Shift-JIS版)と比べ、

  • ダブルクリックで簡単にインストールできる
  • オン/オフの切り替え、削除、更新が容易
  • ユーザー辞書を大量の単語で汚さない

といったメリットがあります。ユーザー辞書は編集可能ですが、システム辞書は編集不可という違いがあります。

ファイルフォーマットはMicrosoft Office IME 2010 オープン拡張辞書作成用 Excel テンプレートに付属のXPSドキュメントに記載されています。同様の解説はIME2010の辞書作成 | きほんのきでも読むことができます。

拡張子は.dctxと.dctxcがあり、前者はXMLファイル、後者はそれをCAB圧縮したものになります。どちらであってもシステム辞書として有効です。.dctxの方はPropertyList版の処理を少し変えるだけで実装できそうですが、.dctxcの方はPHPにCAB圧縮の標準関数がないため、やや面倒そうです。

assaultlily-dic.zip

試しに現在のユーザー辞書を元に作成したシステム辞書をZIPで添付します。

レスポンシブ対応

「やらなくちゃ...やらなくちゃ...やらなくちゃ...やらなくちゃ...ぅうへぇ~~~~~~ゥグッ」

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.