假如你使用 Truffle 開發 smart contract, 那麼 上傳 Github 後你就會發現你的 project是被歸類為 javascript. 這是為什麼呢 ? 這是因為 solidity 的檔名就是 .sol。這個 github 不會認為他是 solidity。 github 使用 linguist 這個套件偵測語言。 簡單的說 linguist 這個套件認為 sol 這副檔名太通用所以不會認定他是 solidity。 詳情可以看 solidity 上的 issue討論。
根據討論解決方法有兩種,這邊會採用就簡易法 - 也就是使用 .gitattributes 檔來解決。你可以參考 gitattribute Document Link。但接下來我直接就把解決步驟寫出。
# Source files
# ============
*.sol linguist-language=Solidity
*.js text