沉冰浮水

沉冰浮水

做最终到的事,成为最终成为的人!
github
bilibili
mastodon
zhihu
douban

「水坑」Z-BlogPHP 應用開發中那些可以自動完成的操作

索引#

「水坑」系列教程索引

「水坑」如何正确的自定义 CSS 样式

「水坑」Z-BlogPHP 应用开发中那些可以自动完成的操作「当前」

相关应用#

开发者工具(应用打包时排除文件) - Z-Blog 应用中心:

https://app.zblogcn.com/?id=1254

好像經常會發生這種事,想到一個功能,然後寫了插件,後期想到其他功能可以加進來,然而應用 ID 已經確定了。。。

自動更新應用時間和版本號#

Z-Blog 應用中心插件(客戶端)會通過對比應用的版本號和記錄的更新時間 —— 記錄於plugin.xmltheme.xml—— 來判斷應用是否有更新,當其中一個大於用戶持有版本時才會收到更新提醒;

開發者在更新應用到應用中心前需要對其進行修改,然而不管是在開發站點的後台使用「編輯應用信息」還是直接修改文件都略繁瑣;

所以在上邊插件中加入了打包為 zba 時自動編輯更新的操作,日期會修改為操作時的「年 - 月 - 日」,日期對比一致則會加版本號,每次從最低段加 1,滿 99 後進位;

CSS 和 JS 引入增加版本信息來應用對緩存#

用戶更新應用後,瀏覽器內已經緩存的資源也是很麻煩的東西;

  • 檢索文件:include.php template/header.php template/footer.php
  • 對於include.php,匹配正則為:"/\?v=[0-9\-]{10,}/"

自動應用開發模式#

開發模式 - Z-BlogPHP 文檔:

https://docs.zblogcn.com/php/#/books/dev-app-start?id=%e5%bc%80%e5%8f%91%e6%a8%a1%e5%bc%8f

啟用本插件時會自動開啟開發模式;

在本插件開啟時,開啟其他插件和更新主題也會觸發本項操作(會不會有點多余。。

自動開啟依賴插件#

如果要開啟的應用依賴另外的插件,而對應插件已經存在但是未啟用,會自動啟用;

仍然會見到報錯頁面,但是直接刷新就好;

自動生成 VSCode 工作區文件#

插件內置一個usr_cfg\app.code-workspace,如果你使用的編輯器是 VSCode,可以將usr_cfg修改為usr,之後啟用任意應用時都會複製一份到應用目錄下(會先判斷是否存在),並重命名為「[appID].code-workspace」;

工作區內納入了「zb_system」文件夾,方便搜索系統代碼,另外也能解決 PHP 函數定義及補全提示的問題;

「VSCode」PHP 跨文件夾函數定義提示_電腦網絡_沉冰浮水:

https://www.wdssmq.com/post/20200930532.html

自動複製 about.php 文件#

如果存在usr\about.php,同樣會自動複製,需要在main.php手動寫包含引入;

我是在div.SubMenu內使用代碼片段快速生成下邊代碼:

<a href="main.php" title="首頁"><span class="m-left m-now">首頁</span></a>
<?php require_once "about.php"; ?>

注:此項會判斷應用作者,如果與設置的作者匹配才會複製;

快捷重建模板編譯及模塊內容#

在開發模式下,前臺訪問仍然要在主題模板發生修改的時才會自動觸發重建;

在前臺網址內添加?dev即可觸發重建,包括內置的側欄模塊內容;

打包為 zba 文件時排除指定的文件(夾)#

寫這個插件的最早初衷,雖然現在 Z-BlogPHP 內置了這個功能,但是需要為每個應用設置「zbignore.txt」,「FileIgnore」插件可以實現將一份配置應用於所有的應用打包;

通用規則路徑為zb_users\plugin\FileIgnore\.gitignore,首次安裝時自動生成,之後可自選添加調整內容,更新插件不會覆蓋;

通用規則會與插件目錄下的.gitignore合併後使用;

重要:如果應用內某項內容需要在 git 排除,但是要在發布 zba 時包含,請使用「zbignore.txt」,會跳過插件自帶的排除機制;

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。