jQuery選擇特定元素但是不含特定class (反向選擇器)

在實作 jQuery 選擇器時, 有時會用到選擇出的 elements 不含指定的 class, 有兩種方式實現:

  1. not() method ex: $(“div.item”).not(“.red”)
  2. :not() seudo-class ex: $(“div.item:not(.red)”)

其中 2. 為 css 原本 selector 的做法.

來看看範例吧:

其中, item 1 ~5 都有 item class, 但 item 2, 3, 4 有 red class, 兩個 button 分別使用 method 1, method 2 來進行切換沒有 red class 的 item 隱藏與顯示 (toggle method).

程式如下:

$("#m1").click(function(){
  $("div.item").not(".red").toggle();
});

$("#m2").click(function(){
  $("div.item:not(.red)").toggle();  
});

參考資料:

https://stackoverflow.com/questions/2448051/how-can-i-select-all-elements-without-a-given-class-in-jquery

分類
程式技術

css grid方法來排版網頁

利用 css 排版頁面的新方法, 除了 flex 外, 還有 css grid 排版方式, 以常見的 header, sidebar, content, footer 來看, 我們可以這樣進行:

先定義外面的 div.conatiner 為 display: grid;

再來依序在該 container 中新增 4個 div 分別為 header, sidebar, content, footer.

我們希望 siderbar 與 content 比例為 1:4 所以在 div.container 設定 grid-columns-template: 1fr 4fr; (這裡的 fr 是 fraction)

不過因為 header 與 footer 都是全寬, 所以需要指定為 column 的起始位置, 所以加上 grid-column: 1/3; (這裡是指從 line 1 ~ line 3, 因為共兩欄, 所以會有三條縱線)

來看看 example 吧: https://codepen.io/timhuang/pen/xxdayNW

目前的 modern browser 都可以支援, 可以參考 caniuse 資料:

https://caniuse.com/?search=grid-column

繼續閱讀:

https://dev.to/cenacr007_harsh/complete-introduction-to-css-grid-2ffh

 

 

 

 

分類
好用軟體

可抛棄的wordpress測試實驗環境

之前介紹過兩個免費代管 wordpress的服務:

不過若要更快速地測試與實驗 wordpress 還有這些選擇(短時間lab應用):

這兩個建立一個 wordpress 站台的速度都超快, 幾10秒的時間就完成了, 然後要測試什麼 plugin 或是 theme, 都可以很快地來達成, 不過若是想要更 geeker 一點, 可以利用 play-with-docker 來玩.

這些工具都是 wordpress 開發測試時期的好幫手.

[2023/5/12 13:31]

還有一個官方快速的 playground 環境: https://playground.wordpress.net/ 也可以用來測試與驗證 wordpress 功能哦!

 

台灣寺廟地圖

想做個台灣的寺廟地圖, 我們先來找政府 opendata 資料, 可以看到在這裡有:

https://data.gov.tw/dataset/8203

內容為全國宗教資訊系統資料-寺廟

資料只有一種格式, 就是 XML, 連結在此:

https://data.moi.gov.tw/MoiOD/System/DownloadFile.aspx?DATA=78CA6206-2E8C-4688-AB54-925330B0784B

不過會被重導至一個拿不到資料的連結:

分類
好用軟體

Google Public DNS查詢

大家對於 Google DNS 解析服務器應該不陌生, Google 提供了對外服務的 8.8.8.8, 8.8.4.4 兩組 DNS解析服務.

不過網站介面的 DNS 解析可以利用以下兩組服務:

有興趣的朋友們可以玩看看.

 

分類
懶得分類

AWS AP-EAST-1 EC2/RDS Issue!

今天早上開始, AWS 位在香港的 AP-EAST-1 Region 有大量的異常, 包含了 EC2 與 RDS, 看起來還蠻嚴重的.

根據 AWS 服務狀態頁來看:

https://status.aws.amazon.com/

等看看稍晚有沒有其他訊息或新聞..

[2021/6/19 18:53]

目前看起來都恢復的差不多了, 還好終於恢復了呢.

分類
數學

[物理]彈性碰撞與完全非彈性碰撞題目

題目: 三物體 A, B, C, 質量為 m, 2m, 3m, 其中 B, C 用一個彈簧連結, 若 A物體以彈性碰撞 B物體的彈簧壓縮量為 x1, A物體以完全非彈性碰撞 B物體彈簧壓縮量為 x2, 求 x1 / x2?

這裡會用到彈性碰撞與完全非彈性碰撞的計算, 請參考:

以下為詳解:

分類
手機大未來

關於政府官方版本利用簡訊實聯制-你可以了解更多

在還沒有推出政府官方版本實聯制功能之前, 各店家只能透過實聯制實體表單、線上的Google Doc的 Form (link)、Survey Cake Form (link)等來進行實聯資料收集, 主要是因為實體表單有共用筆填資料有風險, 而用線上表單有些人沒有4G連網, 或是填寫速度太慢等問題, 更不用談個資收集的濫用與外洩風險, 填假資料等困境.

在政府唐政委快速地研擬使用免付費簡訊方案, 除了可以快速免填寫, 只需要透過QR Code 掃碼後, 利用 SMS protocal 來調用出手機簡訊APP, 來進行傳送地點(店家)代碼的方式, 配上傳出的手機號碼, 時間等參數後, 完整地記錄出足跡, 方便日後的追蹤疫調使用, 實在是十分便利的設計, 也免除民眾對個資外洩的疑慮.

下面是架構示意圖:

而完整的說明與設計方案(包含上圖引用來源), 可以參考 g0v 的HackMD – https://g0v.hackmd.io/@au/HkmyoS-Fu

若不明白技術的朋友, 也可以直接參考媒體提問逐字稿: https://g0v.hackmd.io/@au/HkmyoS-Fu#%E5%AA%92%E9%AB%94%E6%8F%90%E5%95%8F

附上疾管家官方帳號: http://line.me/ti/p/@taiwancdc

 

分類
好用軟體

cockpit安裝ssl憑證自動化

cockpit 是個方便好用的 linux 管理員介面:

https://cockpit-project.org/

安裝完成後, 由於預設是自簽的 ssl 憑證, 所以會有需要強制瀏覽器在自簽憑證下使用, 若需要使用 letsencrypt 憑證, 可以利用 acme.sh 來進行自動化簽發(issue)與安裝(install).

而 acme.sh 配合 apache / nginx 來簽發 ssl 是都可以的, 請參考:

https://github.com/acmesh-official/acme.sh

不過在 cockpit 是需要將已簽發的 key 與 cer 合併後, 放在 /etc/cockpit/ws-certs.d 目錄中, 可以參考:

https://cockpit-project.org/guide/228/https.html

然而在 acme.sh 中, 沒有直接產出合併的檔案可以供 cockpit 用, 所以要如何自動化後續的更新, 可以利用 .acme.sh –install-cmd 中的 reloadcmd 參數來實現合併 cert 後, 並重起服務, 指令如下:

./acme.sh --install-cert -d [domain] --reloadcmd "cat \$CERT_KEY_PATH \$CERT_FULLCHAIN_PATH > /etc/cockpit/ws-certs.d/50-[domain].cert && service cockpit restart"

其實就是藉由原來在執行 reload 指令時, 前面多利用了 cat 指令將兩個檔案合併寫入至 cockpit 中所需要的 cert 檔案即可, 再重起 cockpit 服務就完成囉. 這樣一來指令也會寫入 Le_ReloadCmd 的 acme.sh 的對應域名參數檔案中, 十分方便.

參考資料:

https://github.com/acmesh-official/acme.sh/issues/793#issuecomment-317987555

 

分類
好用軟體

如何利用vi快速刪除所有文字檔案內容?

在 linux 下最常用, 最好用, 最快速的文字編輯器是 vi, 不過要如何快速地將所有檔案內容刪除呢?

大家應該都知道指令 dd, 就是刪去一行, 刪去全部行則為先進入指令模式, 並下達 :1,$d 即可, 說明如下:

: 指令

1,$ 為指定行, 由 1 到 $ (指最後一行)

d 指令為刪除

所以若是要保留前 3行與最後 2行, 可以使用指令 :4,$-2d 即可.

參考資料:

https://unix.stackexchange.com/questions/161821/how-can-i-delete-all-lines-in-a-file-using-vi