GNU 網站指南
我們的目標是將資訊傳達給人們。保持網站設計簡潔有助於實現這一目標。
目錄
- 通用指南
- 著作權指南
- 拼字和標點符號
- 檔案名稱
- 網址
- HTML 指南
- 表格和選單
- 使用我們的頁面範本
- 頁面樣式
- 圖形的使用
- 附錄 1 - 連結政策
- 附錄 2 - 使用 Web CVS 儲存庫
- 實用資源
請體諒所有存取我們網頁的人,並為他們提供便利,包括那些使用純文字瀏覽器或舊瀏覽器的人,以及那些連線速度較慢的人。我們希望防止網站設計在某個瀏覽器的某個版本下看起來很棒,但在許多其他瀏覽器下卻很醜陋的情況。當然,如果您還沒有使用任何專有網頁瀏覽器,請不要安裝它們。
通用指南
- GNU 網站伺服器僅提供自由軟體。我們偏好僅使用自由軟體來準備 GNU 網站伺服器的頁面。
- GNU 網站僅列出並連結到自由軟體。該軟體的原始碼和可執行檔必須可自由地再散佈,並可由所有人及組織修改。如有疑問,請洽詢 <gnu@gnu.org>。
- GNU 網站優先考慮使用 GNU 通用公共授權條款或 GNU 寬鬆通用公共授權條款涵蓋的軟體。
- 應盡量減少圖形的使用,以便頁面在慢速連線下也能快速載入。
- 盡可能以 GNU 計畫擁有的多種格式提供文件。例如,請參閱GNU 自由文件授權條款。這讓使用者能夠以對他們最有用的格式取得文件。
- 除了著作權和授權聲明之外,所有頁面都應在每個頁面的底部註明 FSF(或負責方)的聯絡資訊以及錯誤報告的地址(一般頁面的網站管理員地址,其他情況則為專案特定的地址)。在底部註明此資訊的原因是為了讓使用者總是在每個頁面的相同位置找到此資訊。
- 在從其他網站取得任何圖形或文字之前,請先徵求使用許可。這樣做是禮貌的。這對於我們避免侵犯著作權也是至關重要的。
- 在新增連結之前,請檢查它是否符合我們的連結標準。
- 除非明確要求列出,否則請勿列出個人的地址,包括 GNU 套件的維護者。大多數 GNU 維護者不希望收到大量額外郵件,並且偏好從 GNU 錯誤報告郵件列表接收錯誤報告等。
- 在具有日期條目的頁面(例如,/philosophy/latest-articles.html)上,較新的條目應排在前面(即,反向時間順序)。
- 頁面不應從 FSF 運行的伺服器以外的伺服器載入 CSS。
- 一般而言,不允許使用 JavaScript。此規則的例外情況需要由首席 GNUisance 逐案審查和批准。
著作權指南
- 每個頁面都應包含著作權聲明。請參閱下面提及的範本。
- 每個頁面都應包含允許所有人散佈該頁面的聲明。如果您無法從作者那裡獲得此類許可,請在發佈之前與網站管理員討論此問題。這適用於 CSS 以及 HTML。
- 通常,除非我們有權修改我們發佈的版本,否則您不應發佈非 FSF 著作權的頁面。如果您無法從作者那裡獲得此類許可,請在發佈之前與 FSF 討論此問題。這適用於 CSS 以及 HTML。
- 如果最終我們決定發佈我們無權修改的新頁面,請在著作權聲明之後的 HTML 註解中加入文字「Posted in 20XX without FSF permission to modify」(於 20XX 年發佈,未經 FSF 許可修改)。
- 我們頁面的使用者應始終在每個頁面的相同位置找到著作權資訊。如果頁面的著作權歸其他個人或實體所有,請使用其著作權聲明,而不是 FSF 著作權聲明。使用 FSF 的其餘正常頁尾素材,除非有特殊原因需要變更其中的某些內容。
- 所有說明如何執行某些操作的頁面,例如如何使用某些程式,都是文件。這包括
/software/
中描述特定程式的所有頁面。根據我們的原則,文件必須是自由的。因此,這些頁面必須帶有自由授權條款。如果此類頁面沒有自由授權條款,請向 <webmasters@gnu.org> 報告問題。 - 對於其他頁面,請使用與其他具有類似用途的頁面相同的授權條款。
拼字和標點符號
- 英文頁面應遵循美國標準的拼字、連字號和標點符號慣例。
- 由於這些慣例並非總是十分具體,尤其是在連字號和引號方面,gnu.org 基於一致性的考量,增加了自己的規則
- 「nonfree」(非自由)一詞優先於「non-free」;同樣,「noncommercial」(非商業)優先於「non-commercial」。
- 在普通文字中,HTML 實體「
“
…”
」和「‘
…’
」優先於直引號("..." 和 '...')。這不適用於腳本產生的文件。 - 在存在雙空格的地方,句子結尾後的雙空格應保留。它們使 Emacs 句子指令能夠正確執行。
檔案名稱
- 為了使同時編輯多個檔案更容易,請嘗試為每個 HTML 檔案提供一個獨特且具描述性的名稱;特殊檔案名稱
index.html
應僅用作符號連結,如下所述。 - 網站伺服器樹狀結構中的每個目錄都應具有一個名為
index.html
的符號連結,指向該目錄的頂層 HTML 檔案。使用.symlinks
檔案來處理此問題。 - 如果您將網頁翻譯成不同的語言,請將英文檔案命名為
article.html
,並將其翻譯版本命名為article.lang.html
—lang
應包含來自 ISO 639 的雙字母語言代碼,以及可選的連字號,後跟 ISO 3166 中給出的雙字母國家/地區代碼(小寫)。例如,not-ipr.html
的德文翻譯應命名為not-ipr.de.html
;巴西葡萄牙文翻譯應命名為not-ipr.pt-br.html
。
網址
- 手寫的、指向 www.gnu.org 上其他檔案的網址應為絕對網址,從根頁面開始。也就是說,路徑應以
/
開頭(例如,/gnu/about-gnu.html
;而非https://gnu.dev.org.tw/gnu/about-gnu.html
,也非about-gnu.html
)。這使得從其他頁面複製和貼上連結更容易。此外,當訪客使用 HTTPS 時,像https://gnu.dev.org.tw/
這樣的連結將會錯誤。 - 檢查連結的主機是否同時支援 HTTPS 和 HTTP,如果支援,請使用協定相對網址(例如
//www.example.org
)。 - 從 Texinfo 來源自動產生的檔案集合包含具有相對檔案名稱的連結。它們始終指向同一目錄中的另一個檔案。這些相對連結是可以容忍的。
- 不要在網址中僅使用目錄名稱;始終包含特定的檔案名稱。例如,使用
/gnu/gnu.html
,而不是僅使用/gnu/
。永遠不要在網址中使用index.html
。這兩者都是對使用者的體貼,因為瀏覽器在連結被造訪後會變更連結的醒目提示。如果指向給定檔案的連結使用多個不同的網址,則尚未明確引用的網址將不會被醒目提示為已造訪。因此,使用者會進入他/她已經看過的頁面,這令人 раздражает(煩躁)。此外,這也簡化了網站的維護,因為內容會被移動。 - 連結到同一檔案中的錨點時,請務必完全省略檔案名稱,並仔細檢查錨點是否確實有效。
- 移除錨點或
id
屬性時,請考慮其他人連結到您的頁面的情況。 - 我們鼓勵 FTP 站點為每個套件使用一個目錄,並且每個目錄僅放置一個套件的檔案,以便使用者可以看到可以下載該套件的哪些版本和相關資訊(例如,
README
檔案、有關哪些版本可用的資訊、文件、字型等)。此外,這也意味著 FTP 位置網址不需要在本網站和其他網站上變更,因為新版本會發佈到該目錄中。 請以這種方式引用具有電子郵件地址的人
<a href="//www.stallman.org/">Richard Stallman</a> <a href="mailto:rms@gnu.org"><rms@gnu.org></a>
瀏覽器會以這種方式顯示
Richard Stallman <rms@gnu.org>
對使用者來說,這樣比較不容易混淆,因為很清楚哪個是另一個網頁的連結,哪個是
mailto:
錨點,如果客戶端支援,它將彈出一個郵件表單供填寫和發送。此外,如果使用者儲存頁面的副本,他們將擁有電子郵件地址的副本,他們可以使用該副本而無需返回網頁瀏覽器。如果該人沒有網頁,則讓姓名保持未錨定狀態。- 當嵌入不在
www
CVS 儲存庫中且與 www.gnu.org 頁面其餘部分在一起的靜態資源(如影片)時,重要的是用於嵌入資產的網址是 gnu.org 的子網域,以便 GNU IceCat 隨附的第三方請求封鎖器附加元件不會將其視為第三方資產,從而阻止載入。例如,當在 www.gnu.org 上嵌入 FSF 活動的影片時,請使用static.gnu.org
而不是static.fsf.org
。這兩個地址都已設定為指向同一台機器,因此可以互換使用。
HTML 指南
- GNU 網站伺服器上的 HTML 應嚴格遵守W3C 標準。
- 請嚴格遵循上述網頁標準。使用 (X)HTML 時,請勿忽略 必要元素,例如
<html>
、<head>
、<title>
、<body>
等,並且始終包含適當的 DTD 或 Schema 參考。這會安撫過於迂腐的網頁瀏覽器。 - 請勿在文件頂部新增註解。網頁瀏覽器期望 doctype、XML 宣告或 Schema 位於頂部。註解會使它們感到困惑,並且經常導致它們錯誤地解譯您的標記。
- <head> 元素應包含以下行
<link rel="author" href="mailto:webmasters@gnu.org">
- 第一個標題標籤 <h[n]> 應在 <title> 標籤的開頭重複其文字。<title> 標籤被許多瀏覽器用於歷史記錄和書籤列表等選單中,作為指向該頁面的連結。在 <title> 中重複主標題可確保使用者在點擊這些選單中的項目時,他們會獲得具有預期標題的頁面。請正確地按數字順序使用標題:1、2 等。這些不是用於外觀,而是用於文件的組織。
- <title> 標籤應包含詞組「GNU Project」和「Free Software Foundation」,以便在使用網頁搜尋引擎時可以找到頁面。預設是在結尾新增此內容:
- GNU Project - Free Software Foundation
。 - 縮寫詞/簡稱
- 永遠不要使用
<acronym>
:HTML 5 已棄用它,改用<abbr>
。 - 除非有真正令人信服的理由,否則不要使用
<abbr>
。瀏覽器會以難看的方式呈現它。 - 當讀者可能不熟悉縮寫時,請在文件中第一次使用時給出其展開形式,如下所示:
<abbr title="Expanded Abbreviation">EA</abbr>
或EA (Expanded Abbreviation)
。 - 在任何情況下,後續出現都應不帶任何標記寫入:僅
EA
。 - 對於常見的首字母縮略詞,例如 GNU、FSF、BSD、RAM、HTML、DVD 等等,完全不需要任何標記。請自行判斷。
- 永遠不要使用
表格和選單
- 請使用表格來組織資料,而不是網頁的呈現方式。
- 大多數盲人使用的螢幕閱讀器軟體會從左到右閱讀文字,忽略您製作的任何表格。如果您使用表格,則應確保從左到右閱讀整個頁面不會使此類軟體感到困惑。請遵循 W3C 網頁無障礙指南,以確保表格已正確標記以實現無障礙。
- 有些人喜歡在使用圖形瀏覽器時,將連結組織為位於主要文字左側或右側的選單。這對於文字瀏覽器來說效果不佳,因為它們會使選單顯示在頁面的頂部或底部。如果您有一個超過 30 行的選單,那麼很可能瀏覽頁面的使用者永遠不會費心閱讀文字,因為文字會太靠下。您應該努力將此類選單保持在 20 行以下,以便在使用文字瀏覽器檢視時,文章的開頭在第一頁上可見。一到兩行水平線的選單列也可能達到您的目的。提供指向主要文字的「跳過連結」是另一種選擇。
使用我們的頁面範本
- 為了幫助人們遵循上述指南,為 GNU 網站的主要部分和軟體專案提供了頁面範本(或「範本」)。對於 www.gnu.org 中的新頁面,必須使用它,並且強烈建議軟體頁面使用它。請不要從現有頁面開始建立新頁面;請改用 範本的原始來源,並遵循其中的指示。
- XHTML 範本頁面必須遵循 XHTML-1.0 指南。
- 我們的伺服器端包含宣告 UTF-8 作為字元編碼,因此使用任何其他編碼都會有問題。
樣式
範本頁面的樣式
- 桌上型電腦和智慧型手機的通用樣式由
/layout.css
提供;它涵蓋了我們的大多數用例。 - 印表機使用
/print.css
。請注意,標頭、導覽列和頁尾(著作權和授權除外)是不可列印的。 - 除了
/layout.css
之外,某些頁面還有專用的樣式表:GNU 藝術區段的/graphics/graphics.css
,以及惡意軟體和教育區段的/side-menu.css
。 - 如果特定頁面需要一些特殊樣式,則應將其新增到頁面本身中的 <style> 元素中,位於包含
header.html
和banner.html
的 SSI 指令之間。如果樣式適用於單個元素,則通常應將其作為屬性新增。 - 如果您在 HTML 中指定任何顏色屬性,則應指定該標籤允許的所有顏色屬性。這是因為某些瀏覽器允許使用者指定顏色屬性的預設值,而使用者的選擇可能會與您的選擇衝突,因為您的選擇會覆蓋使用者的選擇。在最壞的情況下,前景和背景可能會最終相同。請為此使用樣式表,而不是 HTML 3.2(HTML 4 Transitional)已棄用的標記。
其他樣式表
- 歷史頁面(大部分是未維護的翻譯)參考
/gnu.css
,而/gnu.css
又載入/mini.css
(Yahoo User Interface reset 和 base 樣式表,版本 2),因為這些頁面通常是非常基本的、純文字頁面,幾乎沒有或沒有格式。 - 軟體手冊有專用的樣式表。主要的樣式表是
/style.css
;- gnulib.css,它匯入
/style.css
並新增了一些定義;gendocs.sh
使用它來重新產生 Texinfo 手冊。
- 翻譯人員維護樣式表 (
/style.lang.css
),這些樣式表根據自己的需要修改 layout.css。RTL 語言(阿拉伯語、波斯語和希伯來語)使用/style.rtl.css
。
圖形的使用
- 應盡量減少圖形的使用,以便頁面在慢速連線下也能快速載入,尤其是動畫。
- 我們不在頁面上使用背景圖片,因為它們會使文字更難以閱讀。
- 過去,GIF 存在專利問題。但是,現在 IBM 和 Unisys 專利(以及全球其他與 LZW 壓縮相關的專利)已過期,基於 87a 或 89a 標準的 GIF 是可以接受的。請注意可能包含非標準專利技術的專有應用程式(我們更希望您在使用自由軟體應用程式為我們的網站撰寫內容時)。一般來說,PNG 或 JPEG 格式仍然安全,並且可能從技術角度來看更好。有關舊 GIF 問題的詳細資訊,請參閱 https://gnu.dev.org.tw/philosophy/gif.html。也允許使用其他格式,儘管 JPEG 是網頁瀏覽器最廣泛認可的格式(避免使用 JPEG 2000,並小心 PNG alpha 通道;前者未獲得廣泛支援,後者未獲得某些舊瀏覽器的完全支援)。
- 在從其他網站取得圖片之前,請先徵求使用許可。
- 始終為內嵌圖片提供文字替代方案,以確保可被搜尋引擎索引和可存取性。例如
我們新增了不斷行空格 ( ) 和方括號,以將描述性文字與相鄰文字分開,並幫助使用者意識到這是一個圖片的替代品。使用不斷行空格而不是普通空格的目的是確保它們找到前往 PO4A/Gettext 工具提取的可翻譯字串的路徑。<img src="/graphics/*.jpg" alt=" [描述性文字] ">
- 確保圖片以原始大小顯示時(使用瀏覽器的預設字型大小)看起來不會太大或太小。
在 style 屬性中調整圖片的寬度或高度,使用可縮放單位,例如
em
或%
;例如<img src="/graphics/*.jpg" alt=" [描述性文字] " style="width: 10em; height: auto;" />
這樣,如果讀者增大或減小字型大小,頁面看起來會一樣。
- 如果您要將小型浮動圖片新增到使用
layout.css
的頁面(範本頁面的樣式表),您可能需要使用imgright
或imgleft
類別(在樣式表的 IMAGES 區段中定義)。這將確保如果頁面翻譯成 RTL 語言,則浮動方向會反轉。 - 如果您要新增的圖片寬度為 12em 或更大,並且頁面是範本頁面,您可能會發現使用
layout.css
的 IMAGES 區段中定義的回應式pict
類別之一很方便(如果沒有一個預定義的類別符合您的需求,您可以在 style 屬性中調整寬度);例如
請注意,<div class="pict wide" style="width: 25em"><img src="/graphics/*.jpg" alt=" [描述性文字] " /></div>
div
容器是必要的,因為某些瀏覽器(例如,NetSurf)不知道如何將max-width
應用於圖片。 將整個網站中顯示的所有圖片連結到相關頁面,通常在
/graphics/
中。這可以使用類似於此的程式碼完成,該程式碼對應於左側的圖片<p class="imgleft"> <a href="/graphics/agnuhead.html"> <img src="/graphics/gnu-head-sm.jpg" alt=" [Image of the Head of a GNU] " style="width: 8em" /></a> </p>
這將允許使用者快速前往與他們感興趣的圖片相關的頁面。
附錄 1 - 連結政策
維護網頁最複雜的方面之一是遵循連結指南;但是,這也是工作的一個非常關鍵的方面。
我們力求確保我們宣傳的所有頁面(我們網站上給出連結的所有頁面)都對自由軟體運動友好。某些頁面顯然不符合此類標準;如果該網站抨擊自由軟體基金會和/或 GNU 計畫,或者與自由軟體及周邊問題沒有明顯的關係,則不應建立連結。然而,除此之外,還有一些標準用於確定從我們的網站提供指向頁面的連結是否合適。它們在下面按一般重要性降序排列。
- 連結的背景是什麼?
-
連結在我們網站上的用途將在確定應根據其他標準對其進行多嚴格的判斷方面發揮作用。託管 GNU 專案的頁面將受到最高標準的約束。關於其他自由軟體並給予高度宣傳的頁面(例如,包含在首頁的新聞提要中)緊隨其後。哲學頁面上的連結在談論專有軟體時可能會被給予更多的自由;GNU/Linux 使用者群組頁面幾乎總是應呼叫系統為 GNU/Linux,但幾乎不檢查其他標準。在決定如何權衡這些政策的各個方面時,始終請記住這一點。
- 該頁面是否宣傳專有軟體?
-
自由軟體運動提出的重點是,專有軟體提出了倫理困境:您不能同意此類非自由條款,並且像您希望被對待那樣對待您周圍的人。當專有軟體被宣傳時,人們會覺得使用它是可以的,而我們正試圖說服他們不要這樣做。因此,我們避免提供此類免費廣告,無論是直接在我們的網站上還是透過連結間接提供。
此標準的棘手之處在於「宣傳」點:提及專有軟體和為其進行銷售宣傳之間存在差異。實際上,GNU 計畫網站始終提及專有軟體,但從未給人留下其使用不存在倫理問題的印象。
在確定對專有軟體的引用是宣傳它,還是僅僅提及它時,有兩件事要記住。首先,它提供有關該軟體的多少資訊?其次,讀者可能從此頁面實際獲得多少資訊?
不同的頁面提供不同數量的有關專有軟體的資訊;它提供的資訊越多,它對我們造成的問題就越多。例如,某些頁面可能會連結到專有軟體程式的主要網站。其他頁面可能會詳細描述其功能。即使給出的產品名稱也很重要;「Windows」和「Microsoft Windows XP Home Edition」之間存在差異。
引用的主題也將在確定引用有多成問題方面發揮作用。如果該軟體已經非常流行,那麼對它的基本提及不太可能成為讀者的新聞。一些常見到足以被認為是「眾所周知」的專有軟體範例是主要作業系統(Windows、Mac OS、Sun OS、HP-UX)和主要常見應用程式,例如 Office、Internet Explorer、Chrome、Photoshop、Acrobat Reader 和 Flash。
GNU 軟體專案頁面感受到此政策的全部力量。只有在 GNU 軟體提供對專有軟體的支援時,或者將其與眾所周知的專有軟體的功能進行比較時,才應提及專有軟體。例如,以下文字(以及不多其他內容)是可以接受的
w3 是一個用於 GNU Emacs 的網頁瀏覽器,類似於 Internet Explorer。它可以運行在 GNU Emacs 運行的所有平台上,包括 GNU/Linux、專有 Unix 系統和 Windows。
出現在其他區域(例如,推薦或哲學頁面)中的連結,以及指向使用者群組或第三方組織的連結,可能會更詳細地討論此類軟體,但仍應避免「了解更多」的連結和其他鼓勵方法。
- 該頁面如何比較自由軟體和開放原始碼?
-
幾乎所有在我們網站上有連結的頁面都至少應平等地對待自由軟體和開放原始碼。未能做到這一點(無論是遺漏自由軟體還是暗示開放原始碼更優越)通常是不可接受的。GNU 軟體專案頁面應很少提及開放原始碼。以下是一個委婉地做到這一點的範例
XYZ 是 GNU 計畫的一部分,並且是自由/開放原始碼軟體(有時稱為開放原始碼軟體)。
此規則的任何例外情況都應從上下文中顯而易見。例如,使用者群組頁面或 links.html 中列出的組織頁面可能會更詳細地討論開放原始碼;我們在這些頁面上聲明,「FSF 對其他網站的內容或其資訊的最新程度概不負責。」
- 該頁面如何對待 GNU 計畫?
-
我們連結到的頁面應善待 GNU 計畫。在這方面要關注的主要事情是頁面是否呼叫系統為 GNU/Linux,還是僅僅是「Linux」。GNU 軟體專案和使用者群組頁面幾乎絕不應未能做到這一點。同樣,其他頁面的例外情況應從上下文中顯而易見。
也就是說,頁面的某些部分不應根據這些標準進行考量。例如,假設我們要連結到自由軟體新聞網站上的頁面。在確定其是否符合我們的連結指南時,不會考慮附加到文章的任何廣告或讀者評論,因為它們被理解為其個別作者的意見。同樣,在使用者群組或第三方組織頁面上,論壇和 wiki 頁面的內容不應在這些方面具有權重。
最後,某些網站被理解為始終對大多數這些指南有例外情況。這些網站通常是關於重要的但對自由軟體運動而言有些周邊的問題。我們曾多次連結到電子前哨基金會的網站,即使他們鼓勵使用 Flash,專門談論開放原始碼軟體,並且不提倡使用者重新散佈和變更軟體的自由。人們普遍理解,由於這些頁面主要不是關於自由軟體,因此這些政策對它們沒有完全的約束力。
作為最終解釋(來自 RMS):即使是從 www.gnu.org 建立連結,我們也不要求人們呼叫系統為 GNU/Linux 或使用術語「自由軟體」而不是「開放原始碼」。但是,我們要求他們不要宣傳任何非自由軟體。
如果所有這些看起來都很複雜,那是因為,不幸的是,它確實如此。別擔心;訣竅會隨著時間和經驗而來。在您學習感受什麼是可以接受的,什麼是不可接受的時,您可能會錯誤地評估一些頁面;請隨時向更有經驗的網站管理員或像首席網站管理員或 RMS 這樣的負責人徵求第二意見。新的例外情況總是會出現;對這種可能性保持開放的心態,並準備好正確處理它們。
- 即使使用者的瀏覽器拒絕執行 JavaScript 程式碼,頁面是否仍然可以運作?
-
如果頁面需要非自由、非瑣碎的 JavaScript,並且在停用 JavaScript 的情況下存在嚴重故障,則不應建立連結。同樣地,如果頁面有嵌入式 Flash,而 Flash 播放起著重要作用,以至於如果影片無法播放,人們會錯過重要的內容,則不應建立連結。
但是,在某些情況下,我們仍然可以使用變通方法繞過 JavaScript 要求來參考此類頁面和資源。
一種可能性是使用 GotHub 的實例(一個適用於 GitHub 的自由軟體前端,無需 JavaScript 即可運作)來取代指向 GitHub(一個網站,需要執行非自由 JavaScript 才能按預期方式使用)託管的頁面和資源的連結。
目前(2024 年 3 月),GotHub 並未積極維護,並且缺少某些功能。例如,它沒有提供在不造訪 GitHub 網站的情況下瀏覽儲存庫或下載原始碼的方法,並且它沒有提供 git clone 網址。儘管如此,GotHub 對於某些用途還是有幫助的。例如,它非常適合連結到個別檔案。
* 軟體套件。對於軟體專案來說,一個有用的檔案是 README 檔案;它包含套件的描述,這通常是使用者在嘗試提取儲存庫之前想要看到的第一件事。我們已在 www.gnu.org 中多次應用此解決方案;例如,我們將這個
https://github.com/pbatard/rufus
替換為這個
https://gothub.projectsegfau.lt/pbatard/rufus
.另一種解決方案是直接連結到 GitHub 上已標記提交的 tarball。此方法的缺點是它對於長期追蹤專案不是很有效。
* 圖形、文件、手冊。這些資源有時託管在使用者頁面中,即使它們託管在 GitHub 網站的區域內,這些頁面也不需要 JavaScript 即可完全使用。在這些情況下,連結到此類頁面是可以的。例如,我們將指向
https://github.com/foocorp/gnu-fm/blob/main/clients/meego/librefm/src/librefm-logo.png
的連結替換為指向
https://raw.githubusercontent.com/foocorp/gnu-fm/main/clients/meego/librefm/src/librefm-logo.png
.
的連結。我們還有指向文件的連結,例如
https://raw.githubusercontent.com/scootergrisen/licenser/master/gpl-3.0.da.txt
.有時,資源可能託管在多個可接受的位置。它可能是一個 GitHub 中的個人頁面或其他地方,或者在一些不相關的網站中。在評估選擇哪一個時,請考慮以下因素:文件的狀態是什麼?它是最終版本還是有可能隨時修改?網址是否可靠穩定,還是有可能移動?
例如,過去我們有一個手冊的案例,該手冊在 other-free-books.html 中列出,網址為
.https://github.com/davidam/orgguide-es
當時,我們有三種可能性來取代該錯誤連結
1. GotHub
https://gothub.projectsegfau.lt/raw/davidam/davidam.github.io/master/docu/orgguide.es.pdf
2. 作者在 GitHub 上的個人空間
https://raw.githubusercontent.com/davidam/davidam.github.io/master/docu/orgguide.es.pdf
3. 出版商/書店
https://traficantes.net/sites/default/files/pdfs/orgguide.es_.pdf
我們選擇了第三個,因為手冊似乎不太可能更新到新版本,並且 Traficantes de Sueños 是一家歷史悠久、著名的出版商。GitHub 上的問題追蹤器可以在沒有 JavaScript 的情況下檢視和瀏覽,但積極參與需要一個無法在不執行非自由 JavaScript 的情況下建立的帳戶。連結到已關閉的問題是可以的,就像我們對
https://github.com/w3c/fingerprinting-guidance/issues/8
.
所做的那樣。對於已關閉的問題,另一種可能性是連結到 Wayback Machine 上的封存頁面。最後,考慮與維護者和作者交談以解釋問題的可能性。希望他們會將儲存庫移到其他地方,或將資料發佈到我們可以連結到的地方。
附錄 2 - 使用 Web CVS 儲存庫
基本 CVS 指令
- 如需參考手冊,請執行 info cvs。
- 在初始簽出之前,設定環境變數
CVS_RSH=ssh
。 -
如果您具有 www 的寫入權限,請使用您的 Savannah 登入資訊簽出主 www 儲存庫
cvs -z3 -d:ext:username@cvs.savannah.gnu.org:/web/www co www
您將獲得一個工作目錄
www
,其結構與我們的主網站相同。 -
如果您沒有 www 的寫入權限,您仍然可以匿名簽出 www
cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/web/www co www
-
簽出 fooproject 的網頁儲存庫
cvs -z3 -d:ext:username@cvs.savannah.gnu.org:/web/fooproject \ co fooproject
您將獲得一個工作目錄
fooproject
,其結構與www/software/fooproject
子目錄相同。但是請注意,fooproject 和 www 儲存庫是獨立的。工作目錄可以位於您檔案系統中的任何位置。網站管理員,在將任何內容提交到軟體專案的網頁儲存庫之前,請閱讀官方 GNU 軟體的網頁。
-
新增檔案或目錄
cvs add foo
-
在編輯檔案之前更新
cvs update -P foo
-
檢查您要提交的變更
cvs diff -U2 foo
-
執行提交(如果檔案已在儲存庫中,則無需
cvs add
)cvs commit foo
這將開啟一個文字編輯器,您應在其中輸入日誌訊息。它還將向您顯示要提交的所有檔案的列表。提交將在退出編輯器後發生。
或者
cvs commit -m "Log message" foo
這個選項比較不安全,因為它不會顯示要提交的檔案列表給您。此外,日誌訊息中一個小小的錯字(省略訊息和檔名之間的空格)可能會導致提交目錄中所有已修改的檔案,因為檔名將不會被視為參數,而是訊息的一部分。
撰寫良好的提交日誌訊息非常重要,這有助於專案成員和後代找到特定檔案中的變更,並理解您的變更原因。
- 日誌訊息應在不冗長的前提下,盡可能清楚地描述提交的性質。
良好範例:更新 XYZ 的連結。
不良範例:更新一個連結。 - 請務必包含任何相關 RT 工單和/或郵件列表討論的參考。如果沒有此類參考,請提及授權變更的人員姓名。
- 對於日期,我們使用美式表示法(Sept. 27, 2023)或 ISO 8601 國際標準格式(2023-09-27)。
在可能的情況下,對多個檔案進行的且具有相同日誌訊息的變更應捆綁在一次提交中。請勿在一次提交中捆綁多個不相關的變更。
這些變更(除了對 .symlinks 檔案 的變更外)應該在幾分鐘內在 www.gnu.org 上可見。
- 日誌訊息應在不冗長的前提下,盡可能清楚地描述提交的性質。
有關 CVS 的更多詳細資訊,例如還原到先前版本,或查看特定變更的 diff
輸出,請參閱 CVS 文件。
符號連結
由於 CVS 無法直接處理符號連結,因此已實作一個單獨的機制,以允許網站管理員維護符號連結,如下所示。(實際上,符號連結不再於 www.gnu.org 上建立;而是使用 mod_rewrite 規則。但我們將繼續以符號連結來討論,因為這樣更容易理解。)
身為符號連結意味著,當符號連結跳轉到不同的目錄時,連結頁面中的相對連結可能會失效。
名為 .symlinks
的特殊檔案,在提交到 CVS 樹狀結構時,會被解釋為建置符號連結的規範。.symlinks 檔案中的每個符號連結規範都會被遵守,也就是說,如果符號連結尚不存在,則會建立符號連結。如果在目錄中找到符號連結,但未在 .symlinks 檔案中列出,則會將其移除。
.symlinks 檔案遵守 ln -s
格式,如下所述
- 以井字號(“#”)開頭的行會被忽略。
- 不包含以空白字元分隔的兩個字串的行會被靜默忽略。
以下是 .symlinks 檔案的範例
# Make a link named l.html to a target t.html. # Strictly equivalent to ln -s t.html l.html: t.html l.html
在每一行中,第一個檔名必須是現有檔案的相對路徑名稱。第二個檔名不得包含任何斜線;它是要在目前目錄中建立的符號連結的名稱。例如,如果名為 dir.html
的頁面存在於 /dir
目錄中,且 index.html
不存在,則 /dir/.symlinks
應包含如下行
dir.html index.html
ln -s
的類比僅說明了部分情況。目前的方法實際上利用了 URL 重寫的靈活性。因此,.symlinks 檔案中的單個 HTML 條目定義了指向遵循我們 命名慣例 的所有可能翻譯的連結。這使得無法使用符號連結來重新導向到和從名稱看起來像翻譯的 HTML 檔案,也就是 page.ll.html
或 page.ll-cc.html
,其中 ll 和 cc 是兩個字母的代碼。當您需要此類重新導向時,請使用 htaccess 機制。
如今,.symlinks 的處理透過每小時執行兩次的 cron 工作在 www.gnu.org 上進行。網站管理員無法存取它。
.htaccess 和重新導向
對於瀏覽器來說,上一節中的符號連結與實際檔案沒有區別。在某些情況下,您可能需要實際的重新導向。您可以透過頂層控制檔案 .htaccess
執行此操作,或使用如下內容作為要重新導向的檔案
<meta http-equiv="refresh" content="0; url=https://gnu.dev.org.tw/target">
伺服器端腳本
www.gnu.org 上使用的腳本和軟體描述已提供。在撰寫任何腳本之前,請先閱讀它,如果您有 www 的寫入權限,也請根據需要更新它。
系統管理員
GNU 的系統管理員會不時更換。除非您有特殊原因,否則請發送電子郵件給系統管理員列表 <sysadmin@gnu.org>,而不是個人。
實用資源
- gnu.org 之外
- 我們遵循 Best Viewed with Any Browser 運動的準則。
- 關於網路及其技術規格的基本資訊可以在 全球資訊網協會 找到。
- GNU 網頁伺服器遵循 w3.org 風格指南。
- 使用 WCAG 2.1 有助於確保廣大身心障礙人士的可訪問性。
- 在 gnu.org 上
- GNU 網站指南(本頁面);
- www.gnu.org 上的 網頁建立 指南;
- 附錄 B 提示與訣竅,以及 Texinfo 手冊 中的其他風格提示;
- GNU 無障礙聲明;
- GNU 網站管理員指南;
- 翻譯 GNU 網頁成其他語言的指南;
- 網站管理員提示,讓翻譯人員的工作更輕鬆;
- Savannah 文件,這是專用於 GNU 專案的 SourceForge 複製專案。
- 如何協助 我們的 網頁伺服器 和其他任務。