inwardly_srv

command module
v0.0.0-...-356bce9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 21, 2023 License: MIT Imports: 45 Imported by: 0

README

inwardly_srv

独り言ツール

ローカルホストでサーバー起動してhttp://127.8.9.72:8972/にブラウザから利用する


details
ヘッダー

prev: 表示してる日の前日の独り言の一覧ページへ移動
next: 表示してる日の後日の独り言の一覧ページへ移動
home: 今日の独り言の一覧ページへ移動
setting: ブログ投稿のための設定ページへ移動
link: ローカルドキュメント閲覧のためのページへ移動 

search: 独り言を検索する

say

独り言入力フォーム

say脇のチェックボックス: フォームの表示位置をView内で固定する
submitボタン: 独り言を確定する
img1~img4ボタン: 独り言に画像を添付する
secretチェックボックス: 独り言を非公開に設定する(ブログ投稿に使用しない)

独り言テキスト入力欄でctrl+enterの入力でsubmitボタンと同様に作用する

クリップボードにpng形式の画像バイナリがある場合、
独り言テキスト入力欄での貼り付けでクリップボードからの画像を添付できる

独り言ツリー (Thread)

独り言の日時末尾の#のリンクをクリックするとツリーを表示できる

日々の独り言一覧とは表示の順番が逆になる(日付の若い独り言が上位に来る)

settingページでブログ投稿をonに設定していると
ツリー単位での投稿が可能になる
記事タイトルとカテゴリの設定も可能

パソコン内のローカルドキュメント(html)などをinwardly_srvを通してブラウザで閲覧できるようにする機能

C:\foo\bar\baz\index.htmlなどのファイルパスを指定して利用する
これのエントリーネームをhogeとした場合、http://127.8.9.72:8972/docs/hoge/index.htmlからアクセスできるようになる
C:\foo\bar\baz\をルートとしたファイルアクセス(閲覧)を可能にする

※ドキュメント内のリソースへのリンクが絶対パスで指定されていたり、遡る相対リンクがあると正常に表示はされない

digボタン: ドキュメントルート以下のファイル等を列挙したりする

検索キーワードは半角スペース区切りで入力する
列挙したキーワード全てを含む独り言を検索する
大文字小文字は区別されない

特殊なキーワードを含めると検索条件などを設定できる

:case: ... 大文字小文字を区別する
:since:2020-10-01 ... 指定日からを検索対象とする(指定日を含む)
:until:2021-06-29 ... 指定日までを検索対象とする(指定日を含む)
:limit:15 ... 検索結果の表示最大件数を指定する (default 200)
:space:+ ... 検索キーワードに半角スペースを含めたい場合に半角スペースに置き換える文字列を指定する
 (example: [:space:@@ "abcd@@efg"] -> ["abcd efg"])
:not:keyword ... 検索結果から除外したいキーワードを指定する
 (example: [foo :not:bar baz] -> fooとbazを含みかつbarを含まない独り言を検索する)
:image: ... 画像投稿を含む独り言だけを検索対象とする  (画像を含まないものだけを対象とする場合は :image:not と指定する)
:edited: ... 編集履歴がある独り言だけを検索対象とする (編集履歴のないものだけを対象とする場合は :edited:not と指定する)
:order:old ... 検索の順序を古い日時のものから行う (default :order:new)
:update: ... :since: と :until: において独り言の最終更新日時を対象にしたものに変更する
:root: ... 独り言ツリーのルートのみを検索対象とする (ルート以外を対象にする場合 :root:not)
:leaf: ... 独り言ツリーのリーフ(末端)のみを検索対象とする (リーフ以外を対象にする場合 :leaf:not)
:reply: ... 独り言ツリーの非ルートのみを検索対象とする (非ルート以外を対象にする場合 :reply:not)
 (※注意 :root:not,:leaf:not,:reply:not のこれらのnot指定は独り言ツリーになってない単独独り言も検索対象になる)
:quoted: ... 引用されている独り言のみを検索対象とする (非引用のみを対象とする場合 :quoted:not)
:unquote: ... 各キーワードのダブルクオーテーションをトリミングする
 (example: [:unquote: "abcd" ""efg""] -> [abcd "efg"])
:week:134 ... 列挙した指定曜日の独り言を検索対象とする (日曜日は0,土曜日は6)
:hour:6-8,11,13,19-21 ... 列挙した指定時間帯の独り言を検索対象とする
:secret: ... 非公開設定の独り言のみを検索対象とする (非公開設定以外を対象とする場合 :secret:not)
:deleted: ... 削除設定された独り言のみを検索対象とする
:history: ... 編集履歴をキーワードの検索対象とする
settingページ

hatenaブログに独り言の一覧を投稿するための設定をするページ

私(neetsdkasu)以外の人が使うことは想定されてない

それゆえ投稿は私(neetsdkasu)のブログ設定を前提としたものとなっている

※注意 APIキーやアクセストークンは平文で管理するのでセキュリティ的な漏洩リスクがある

Hatena API Setting: hatena開発者登録のキーを設定する
Hatena Authorization: 開発者キーによるhatenaユーザアカウントへのアクセス許可を設定する
Hatena Blog: 投稿先のブログのIDを設定する
Debug Mode: デバッグモードのブログ投稿の制御を設定する

Timeline Upload: 日々の独り言の一覧をブログ投稿するかを設定する
Thread Upload: 指定の独り言ツリーをブログ投稿するかを設定する

※Timeline Uploadをonにした場合は約1時間ごとに独り言一覧の最新状態がブログ投稿される

※Debug Modeの設定
Timeline Upload Target: ブログ投稿に使う独り言一覧を指定する
Uploaded Non-Targets: 上記指定外の投稿済みのブログ記事の取り扱い
※いずれもデバッグモードのデータ投稿のみを対象とする

status

inwardly_srvの挙動に関する情報の表示やinwardly_srv.exeのシャットダウンを行える

Log Link: エラーログなどを確認できるページへのリンク
Routine Start Time: バックグラウンド処理の前回の始動日時
Routine End Time: バックグラウンド処理の前回の終了日時
Generator Mode: 静的リソースが埋め込みモードか読み込みモードかを表す
Generator Build: 自動生成ソースコードの生成時点のgit commit情報
Shutdown Token: シャットダウン実行時に必要となるトークン(スワップケースで表示)
Shutdown Form: シャットダウンのトークを入力する欄

Updateボタン: 上記の表示情報を最新にする
Shutdownボタン: inwardly_srv.exeを終了させる


development
開発環境

OS: Windows7 SP1 Starter
ブラウザ: Vivaldi 3.6.2165.40 (Chrome/88.0.4324.186相当?)
Goコンパイラ: go version go1.16 windows/386
TypeScript: 3.8.3 (node.js v8.11.2, npm 6.14.4)

デバッグモード

debugSwitch.goにある定数DebugModeの値をtrueにしてコンパイルすることでデバッグモードになる

デバッグモードでは

  • データの保存場所が変わる(カレントディレクトリが保存先になる)
  • アドレスが http://127.8.8.64:8864/ に変わる
  • UIにdevマークが付く
  • settingページにブログ投稿の制御設定が追加される
  • ブログ投稿時にカテゴリにtestingが追加される
  • ブログの表示時刻が変わる

などの通常モードとの違いがある

自動生成ソースコードについて

自動生成により生成されるGoのソースコード(サフィックス _gen.go)は
基本的にはhtml,css,jsの静的リソースを埋め込んだソースコード

developブランチには自動生成されたソースコードは含まれていない

jsファイルはTypeScriptによるコンパイルでtsファイルから生成される

go generateにTypeScriptによるコンパイルとGoソースコードの生成のコマンドが登録されている

自動生成プログラム本体のソースコードは inwardly/inwardly_srv/gen/main.go

カレントディレクトリが inwardly/inwardly_srv/ であることを前提になった作りなっている
ので inwardly/inwardly_srv/go generateを実行する必要がある \

go generateで実行されるコマンドは inwardly/inwardly_srv/main.go に指定されている

//go:generate tsc --build tsconfig.json
//go:generate go run ./gen

自動生成プログラムに引数 -fs 与えると
静的リソースを埋め込まずにリクエストのたびにファイルシステムから読み込み返す動作に変わる
その場合、inwardly_srv.exeの実行時のカレントディレクトリもinwardly/inwardly_srv/である必要がある

go run ./gen -fs

静的リソースを編集する場合にはこの動作にすると反映の確認が容易になる
go getでのバイナリにまとめてインストールをするには静的リソースが埋め込まれているようにする必要がある

Documentation

Overview

Code generated by inwardly/inwardly_srv/gen DO NOT EDIT.

Code generated by inwardly/inwardly_srv/gen DO NOT EDIT.

Code generated by inwardly/inwardly_srv/gen DO NOT EDIT.

Code generated by inwardly/inwardly_srv/gen DO NOT EDIT.

Code generated by inwardly/inwardly_srv/gen DO NOT EDIT.

Code generated by inwardly/inwardly_srv/gen DO NOT EDIT.

Code generated by inwardly/inwardly_srv/gen DO NOT EDIT.

Code generated by inwardly/inwardly_srv/gen DO NOT EDIT.

Code generated by inwardly/inwardly_srv/gen DO NOT EDIT.

Code generated by inwardly/inwardly_srv/gen DO NOT EDIT.

Code generated by inwardly/inwardly_srv/gen DO NOT EDIT.

Code generated by inwardly/inwardly_srv/gen DO NOT EDIT.

Code generated by inwardly/inwardly_srv/gen DO NOT EDIT.

Code generated by inwardly/inwardly_srv/gen DO NOT EDIT.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL