搜尋
首頁web前端css教學用Google表和高度創建一個可編輯的網站

用Google表和高度創建一個可編輯的網站

該教程展示了使用Google表和Epertyty建立一個可編輯的網站,對客戶端數據獲取的重大改進。我們將利用高度的靜態站點生成功能在構建過程中獲取數據,從而導致加載時間更快並增強了安全性。這消除了客戶端JavaScript在每個頁面視圖上獲取數據的需求。

問題:不斷的客戶修訂

即使在網站啟動之後,開發人員通常會面臨客戶的無休止的內容修訂的挑戰。這個迭代過程可能是耗時的和破壞性的。

該解決方案使客戶能夠使用熟悉的工具獨立更新內容:Google表。

介紹高度

雖然我們上一篇文章使用tabletop.js與Google表相互作用,但這種方法集成了Extenty(靜態站點生成器)。高架將該站點作為純靜態站點渲染,無需包括客戶端的JavaScript進行數據處理。內容在構建過程中獲取,創建一個高度優化的index.html文件。這種靜態方法可改善頁面負載速度和安全性。

設置Google表格

Google表作為數據存儲。創建一個新的電子表格,將您的數據與列標題構造為參考(例如“標題”,“ Body”)。這些標題將在您的JavaScript代碼中引用。用您的內容填充表。

接下來,將表發佈到Web(文件→發佈到Web)。雖然生成的鏈接未直接使用,但此步驟使電子表格數據可公開訪問。注意來自URL的唯一表ID;稍後您需要。

node.js和項目設置

需要node.js。對於簡化的設置,請克隆提供的存儲庫並運行:

 NPM安裝
NPM運行種子
NPM運行開發

npm run seed命令至關重要;它可以在開發過程中使用Google Sheep的數據( src/site/_data/dev/sheet.json )預填充本地JSON文件(SRC/SITE/_DATA/DEV/SHEED.JSON),從而消除了對重複API調用的需求。

數據獲取和轉換(src/site/_data/prod/sheet.js)

核心邏輯位於src/site/_data/prod/sheet.js中。該腳本使用Axios從Google表中獲取數據,將其轉換為可用的JavaScript對象,並保存本地JSON副本進行開發。切記用表格的唯一ID替換sheetID

 Module.exports =()=> {
  返回新的承諾((分辨率,拒絕)=> {
    console.log(`請從$ {googlesheeturl}`請求內容);
    axios.get(googlesheeturl)
      然後(響應=> {
        var data = {content:[]};
        response.data.feed.entry.foreach(item => {
          data.content.push({{
            標題:item.gsx $ header。 $ t,
            header2:item.gsx $ header2。 $ t,
            // ...其他字段...
          });
        });
        種子(json.stringify(data),`$ {__ dirname} /../ dev/sheet.json`);
        解析(數據);
      }))
      .catch(錯誤=> {
        console.log('錯誤:',錯誤);
        拒絕(錯誤);
      });
  });
};

該腳本使用forEach迭代片段的條目,將列標題映射到對象屬性。 seed功能將數據保存為JSON。

使用nunjucks(或您的首選引擎)模板

轉換後的JSON數據很容易使用Nunjucks等模板引擎使用。例如:

<div>
  {% -  eNek.content-%}中的項目}
    <h1 id="item-header">{{item.header}}</h1>
  {% -  endfor-%}
</div>

將其適應您選擇的模板引擎和數據結構。

建造和部署

建立網站:

 NPM運行構建

這將在dist文件夾中生成靜態站點。對於Google表更新後自動部署,請集成Zapier以將Google表和您的託管平台(例如NetLify)連接。每當將新的或更新的行添加到Google表中,配置ZAP以觸發NetLify部署。這會創建一個無縫的自動化工作流程。

這種全面的方法提供了一個具有自動部署的性能,可編輯的網站,從而大大改善了開發工作流程和客戶協作。

以上是用Google表和高度創建一個可編輯的網站的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
模擬鼠標運動模擬鼠標運動Apr 22, 2025 am 11:45 AM

如果您曾經在現場演講或課程中必須顯示一個互動動畫,那麼您可能知道它並不總是那麼容易與您的幻燈片進行互動

通過Astro Action和Fuse.js為搜索提供動力通過Astro Action和Fuse.js為搜索提供動力Apr 22, 2025 am 11:41 AM

對於Astro,我們可以在構建過程中生成大部分網站,但是有一小部分服務器端代碼可以使用Fuse.js之類的搜索功能來處理搜索功能。在此演示中,我們將使用保險絲搜索一組個人“書籤”

未定義:第三個布爾值未定義:第三個布爾值Apr 22, 2025 am 11:38 AM

我想在我的一個項目中實現一條通知消息,類似於您在保存文檔時在Google文檔中看到的信息。換句話說,一個

捍衛三元聲明捍衛三元聲明Apr 22, 2025 am 11:25 AM

幾個月前,我正在使用黑客新聞(就像一個人一樣),並且遇到了一篇(現已刪除的)文章,內容涉及不使用if語句。如果您是這個想法的新手(就像我

使用網絡語音API進行多語言翻譯使用網絡語音API進行多語言翻譯Apr 22, 2025 am 11:23 AM

自科幻小說以來,我們就幻想著與我們交談的機器。今天這很普遍。即便如此,製造的技術

JetPack Gutenberg塊JetPack Gutenberg塊Apr 22, 2025 am 11:20 AM

我記得當古騰堡被釋放到核心時,因為那天我在WordCamp我們。現在已經過去了幾個月,所以我想我們越來越多的人

在VUE中創建可重複使用的分頁組件在VUE中創建可重複使用的分頁組件Apr 22, 2025 am 11:17 AM

大多數Web應用程序背後的想法是從數據庫中獲取數據,並以最佳方式將其呈現給用戶。當我們處理數據時

使用'盒子陰影”和剪輯路徑一起使用'盒子陰影”和剪輯路徑一起Apr 22, 2025 am 11:13 AM

讓我們在一個情況下做一些似乎有意義的事情的情況下逐步進行一些逐步,但是您仍然可以用CSS欺騙來完成它。在這個

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版