IkumaTadokoro / diary

MIT License
0 stars 0 forks source link

2022-05-20 #6

Open IkumaTadokoro opened 2 years ago

IkumaTadokoro commented 2 years ago

.

IkumaTadokoro commented 2 years ago

新聞

content_secutiry_policy

dependent: :destroy_async

テスト実行時にdeclared nameで実行できるように

class MyTest < ActiveSupport::TestCase
  test "does something" do
    # ...
  end
end

これを

$ rails test test/my_test.rb -n "does something"

で呼べるようにしたとのこと。もともと、test_does_somethingでないと呼べなかったみたい。

[ci skip]

IkumaTadokoro commented 2 years ago

最後の一個は時間切れ

IkumaTadokoro commented 2 years ago

pigs_can_fly?をサンプルコードに使用するケースって、「絶対にfalseをかえすメソッド」って意図で使っている理解でいいのかな? https://ja.wikipedia.org/wiki/%E7%A9%BA%E9%A3%9B%E3%81%B6%E8%B1%9A

IkumaTadokoro commented 2 years ago

ソフトスキル分析少し疲れたので、Chrome拡張の方に切り替える

IkumaTadokoro commented 2 years ago

オプションページを作っていく

参考

メモ

タスク

IkumaTadokoro commented 2 years ago

CleanShot 2022-05-20 at 12 39 27

とりあえずoptionページが表示されるようになりました。デザイン無視してガワだけ作成します。

CleanShot 2022-05-20 at 12 47 18

入力されたデータを保存するように変更します

// Saves options to chrome.storage
const save_options = () => {
  const accessToken = document.getElementById('accessToken').value

  chrome.storage.sync.set({
    accessToken: accessToken
  }, () => {
    console.log('保存しました!')
    const status = document.getElementById('status')
    status.textContent = 'Options saved'
    setTimeout(() => {
      status.textContent = ''
    }, 750)
  })
}

document.getElementById('save').addEventListener('click', save_options);
Uncaught TypeError: Cannot read properties of undefined (reading 'sync')
    at HTMLButtonElement.save_options (options.js:5:18)

う〜ん、chromeのAPIの方がうまく読み取れていないみたいですね。 →リロードしたら治ったんですが、どうもmanifest.jsonのpermissionが読み取れていなかったときの挙動のようです。メッセージとしてこれはわかりづらいなあ

IkumaTadokoro commented 2 years ago

StorageAPIで保存した情報はどこに設定されているのか?Local Storage?

chrome.storage - Chrome Developers Chromeエクステンションを作ろう:ストレージ編 - Qiita

Storageの形態には複数あるようです

IkumaTadokoro commented 2 years ago

image

syncに保存して、永続化できるようになりました!

IkumaTadokoro commented 2 years ago

保存した情報でAPIアクセスができるようになった。

https://github.com/IkumaTadokoro/kyo-no-esa/commit/5c4449c28fdba265047e1e6ebe040f7f651d0198

IkumaTadokoro commented 2 years ago

その他の情報についてもオプションページで指定できるように変更する

IkumaTadokoro commented 2 years ago

CleanShot 2022-05-20 at 13 55 01

とりあえず枠だけ作成する

IkumaTadokoro commented 2 years ago

全部オプションページを使用した値を使って設定できるようになった。

IkumaTadokoro commented 2 years ago

あとはちゃんとスタイルを当てるか。ViteでTailwindCSSでやるならこれかな〜 Install Tailwind CSS with Vue 3 and Vite - Tailwind CSS

IkumaTadokoro commented 2 years ago

デザインはざっくりにして、buildをする

$ npm run build

src/App.vue:17:70 - error TS2304: Cannot find name 'chrome'.

17   const { accessToken, teamName, diaryCategory, templateId } = await chrome.storage.sync.get([
                                                                        ~~~~~~

src/App.vue:32:29 - error TS2322: Type '{}' is not assignable to type 'string'.

32     <a class="text-center" :href="diaryUrl">今日の<br>esa</a>
                               ~~~~

  node_modules/@vue/runtime-dom/dist/runtime-dom.d.ts:481:3
    481   href?: string
          ~~~~
    The expected type comes from property 'href' which is declared here on type 'ElementAttrs<AnchorHTMLAttributes>'

Found 2 errors in the same file, starting at: src/App.vue:17

とりあえずchrome関連については、chromeのtypesを追加する

npm install --save-dev @types/chrome

これで再度buildする


src/App.vue:32:29 - error TS2322: Type '{}' is not assignable to type 'string'.

32     <a class="text-center" :href="diaryUrl">今日の<br>esa</a>
                               ~~~~

  node_modules/@vue/runtime-dom/dist/runtime-dom.d.ts:481:3
    481   href?: string
          ~~~~
    The expected type comes from property 'href' which is declared here on type 'ElementAttrs<AnchorHTMLAttributes>'

Found 1 error in src/App.vue:32

{}に対してstringを代入することはできないよってか?

// before
const diaryUrl = ref({})

// after
const diaryUrl = ref('')

これで解決しました。

IkumaTadokoro commented 2 years ago

今日の分のdiaryがGitHub Pagesに反映されていないのは何故だろう?GitHub Actionsは問題なさそうなんだけどね。

IkumaTadokoro commented 2 years ago

最初のコメントを編集したら連携された。本家の方も連携されていなかったっぽいので、構造的に問題があるのかな?

IkumaTadokoro commented 2 years ago

CleanShot 2022-05-20 at 21 45 46

https://apps.apple.com/jp/app/moom/id419330170?mt=12

Moomという画面分割アプリを買った。1500円くらい。 アプリの画面配置を覚えてくれるので、Twitter用ChromerとterminalとメインChromeみたいな構成を保持できて便利。結構ストレスだったので買ってよかった