Freecodecamp: freeCodeCampのCSSスタむルガむドの䜜成

䜜成日 2018幎01月08日  Â·  47コメント  Â·  ゜ヌス: freeCodeCamp/freeCodeCamp

コヌドベヌスの党䜓的な保守性を向䞊させるために、freeCodeCampのCSSスタむルガむドを提案したいず思いたす。 FreeCodeCampには倚くの貢献者がいお、CSSの蚘述方法は人によっお異なりたす。 たた、CSSのさたざたな蚘述方法を远跡するこずは困難です。

最初の掚奚事項

コメント

  • 新しいLESSファむルを開始するずきにコメントを远加しお、開発者が䜕を扱っおいるかを把握できるようにしたす。たた、コヌドブロックに関連する新しいセクションを開始するずきにコメントを远加したす。これは、読みやすさに圹立ちたす。以䞋の䟋を参照しおください私は遭遇したしたコヌドベヌス党䜓でこれらのスタむルのコメントがあるため、新しいスタむルを提案するのではなく、曞き続けたいず思いたす

  • 䟋1-新しいLESSファむルを開始する堎合

//
// Navigation
// --------------------
  • 䟋2-ナビゲヌションに関連するセクションを远加する堎合
//
// Navigation - Mobile Styles
// ------------------------------

間隔

  • プロパティの埌にスペヌスを远加するず、そのようなコヌドベヌスの読み取りず保守がはるかに簡単になりたす。 以䞋の䟋を参照しおください。

  • 䟋1-正しい方法

p {
  color: #fff;
}
  • 䟋2-間違った方法
  • なにが問題ですか
    コロンの埌にスペヌスがありたせん
p {
  color:#fff;
}

色

  • 倧文字ではなく小文字を優先したす。 珟圚、CSS党䜓で、貢献者は䞡方を混ぜ合わせおいたす。 小文字は曞き蟌みが速く、読み取りが簡単です。 CSSに䞀貫した芏則がある堎合は、党䜓的な保守性が再び向䞊したす。 たた、可胜であれば、16進倀を短くしおください。 以䞋の䟋を参照しおください。

  • 䟋1-正しい方法

p {
  color: #fff;
}
  • 䟋2-間違った方法
  • なにが問題ですか
    短瞮されおいない倧文字の16進倀
p {
  color: #FFFFFF;
}

RGBAたたはRGBカラヌ

  • 倀の埌にスペヌスを远加するず、読みやすさが向䞊したす。 以䞋の䟋を参照しおください。

  • 䟋1-正しい方法

p {
  color: rgba(123, 123, 0, 0.1);
}
  • 䟋2-間違った方法
  • なにが問題ですか
    倀の埌にスペヌスはありたせん
p {
  color: rgba(123,123,0,0.1);
}

0を宣蚀するずきに単䜍がありたせん

  • box-shadowなどのプロパティで、0の倀を蚭定した堎合は、ナニットを远加しないようにする必芁がありたす。 以䞋の䟋を参照しおください。

  • 䟋1-正しい方法

p {
  box-shadow: 1px 1px 0 rgb(0, 0, 0);
}
  • 䟋2-間違った方法
  • なにが問題ですか
    0以降の単䜍
p {
  box-shadow: 1px 1px 0px rgb(0, 0, 0);
}

浮動小数点を避ける

  • 可胜であれば、サむズが異なる堎合はCSSで浮動小数点数を䜿甚しないようにする必芁がありたす。これは、レンダリングが少し異なる可胜性があるためです。 䞋蚘のリンクを参照しおください。

ブラりザの䞞め

help wanted docs on the roadmap

最も参考になるコメント

@raisedadead @tomasvn私によるず、CSSスタむルガむドを䜜成しおそれに固執するプロセスは、長期的には有甚な結果をもたらさないでしょう。 React、Yarn、Babel、および他の倚くのオヌプン゜ヌスプロゞェクトは、CSSスタむルのフォヌマットにPrettierおよび他の同様の拡匵機胜を䜿甚しおいたす。

スタむルガむドを䜜成する代わりに。 寄皿者に、IDE /コヌド゚ディタにPrettierをむンストヌルするように指瀺する必芁がありたす。
@raisedadeadこれ

党おのコメント47件

@raisedadeadどう思いたすか

ありがずう、あなたはこれらを糞くずにするこずができる方法を知っおいたすか リンタヌを䜿甚しおいたすか

@raisedadead @tomasvn私によるず、CSSスタむルガむドを䜜成しおそれに固執するプロセスは、長期的には有甚な結果をもたらさないでしょう。 React、Yarn、Babel、および他の倚くのオヌプン゜ヌスプロゞェクトは、CSSスタむルのフォヌマットにPrettierおよび他の同様の拡匵機胜を䜿甚しおいたす。

スタむルガむドを䜜成する代わりに。 寄皿者に、IDE /コヌド゚ディタにPrettierをむンストヌルするように指瀺する必芁がありたす。
@raisedadeadこれ

ありがずう、あなたはこれらを糞くずにするこずができる方法を知っおいたすか リンタヌを䜿甚しおいたすか

きれいに動䜜したす;。 CSSスタむルのルヌルに違反するず譊告が衚瀺されたす。

スタむルガむドを䜜成する代わりに。 寄皿者にIDE /コヌド゚ディタにPrettierをむンストヌルするように指瀺する必芁がありたす。

問題から身を隠すこずは誰にも圹立ちたせんでした...😅

私はフォヌマッタヌを避け、代わりにリンタヌを䜿甚するこずに匷く賛成です。 自動化はクヌルで簡単に聞こえたすが、暙準コヌドを曞く際の芁点が倱われたす。

私芋ですが、孊習を取り巻くコミュニティである私たちは、リンタヌが指摘するコヌドスタむルの問題を修正するこずを躊躇するべきではありたせん。

たた、Prettierは_Opinionated_コヌドフォヌマッタヌであるこずに泚意しおください

私によるず、CSSスタむルガむドを䜜成しおそれに固執するプロセスは、長期的には有甚な結果をもたらさないでしょう。

これは間違った議論だず思いたす統蚈がある堎合は、私が間違っおいるこずを蚌明しおください。

Airbnb JSスタむルガむドやJSStandardなどをチェックするず、ヘルパヌに暙準コヌドを曞いおもらい、䜕千もの䌁業や開発者に毎日䜿われおいたす。

@raisedadead私たちは問題から隠れおいたせん... リンタヌを䜿甚するこずはできたすが、Prettierを䜿甚した単䞀のキヌバむンディングで同じタスクを実行できるので、なぜそれを長時間実行しようずしおいるのでしょうか。

これは間違った議論だず思いたす統蚈がある堎合は、私が間違っおいるこずを蚌明しおください。
Airbnb JSスタむルガむドやJSStandardなどをチェックするず、ヘルパヌに暙準コヌドを曞いおもらい、䜕千もの䌁業や開発者に毎日䜿われおいたす。

私はこれに぀いおあなたに匷く同意したす 圌らのJSスタむルガむドは本圓にずおも圹に立ちたす。

私たちは問題から身を隠しおいたせん... リンタヌを䜿甚するこずはできたすが、Prettierを䜿甚した単䞀のキヌバむンディングで同じタスクを実行できるので、なぜそれを長時間実行しようずしおいるのでしょうか。

なぜなら、暙準コヌドを曞きたいのですか 寄皿者は奜きなツヌルを自由に䜿甚できたすが、ガむドが必芁ないずいうわけではありたせん。

ずにかく、ガむドに関する建蚭的なフィヌドバックのためにこのスレッドを保持したしょう。代わりに、チャットでい぀でもディスカッションを行うこずができたす。

@tomasvn RFCは面癜そうです。フィヌドバックに興味があるので、私たちがむンスピレヌションを埗るこずができるいく぀かの確立されたスタむルガむドずツヌルを調べるこずが可胜になるず思いたすか。

なぜなら、暙準コヌドを曞きたいのですか 寄皿者は奜きなツヌルを自由に䜿甚できたすが、ガむドが必芁ないずいうわけではありたせん。

私もこれであなたず䞀緒です。 さお、スタむルガむドを䜿っおみたしょう。スタむルリントをリンタヌずしお䜿甚できたす。

@raisedadeadstylelintは問題ないようです👍それは圌のドキュメント党䜓の矛盟に぀いお寄皿者に譊告するので

@tomasvn新しいカリキュラムず孊習プラットフォヌムを立ち䞊げたした。 あなたはただこれを手䌝うこずに興味がありたすか

すべおのCSSには適切なリファクタリングが必芁です。これは、スタむルガむドを䜜成するだけでなく、向きを倉えおすぐにプロゞェクトに適甚し、すべおのリポゞトリがそれに準拠しおいるこずを確認する良い機䌚です。

@QuincyLarson確かに、freecodecampは非垞に倧きなコヌドベヌスであるため、時間をかけおCSSのリファクタリングを支揎できたす。どこから始めればよいか教えおください。

@tomasvnそれは玠晎らしいでしょう

freeCodeCampにはそれほど倚くのCSSがありたせん。 freeCodeCampのCSSは、䞻に「main.less」にありたす。 そしお、Bootstrap3.0を䜿甚しおいたす。

最終的にはBootstrap4.0に移行するか、CSSを曞き換えおFlexboxを䜿甚する可胜性がありたす。 ただし、圓面の間、いく぀かのアプリケヌションでReact Bootstrapを䜿甚しおおり、珟圚はBootstrap3.0にロックされおいたす。 したがっお、main.lessの既存のカスタムCSSにアクセスしおクリヌンアップし、冗長性を枛らしお論理的に配眮するこずをお勧めしたす。

@QuincyLarsonが取埗し、main.lessはclient / less / main.lessにありたすが、これは正しいファむルですか

@tomasvnご

@tomasvnこれに぀いお助けが必芁ですか 喜んで貢献させおいただきたす

@tomasvnこれに取り組み始める機䌚は@ borisyordanovはい-これであなたの貢献を歓迎したす。

@borisyordanov遅延しお申し蚳ありたせんが、先に進んで

@tomasvn私はあなたにメヌルを送りたした、チャットで䌚っおこれを蚈画したしょう。 プロゞェクトの実行に問題がある堎合は、ただガむドを読んでいないか

それでも必芁がある堎合は、これを手䌝うこずができたす

@ Jgriebel1990 tomasvnず連絡が取れなかったので、私が知る限り、進展はありたせんでした。 お気軜に匕き継いでください

@ jgriebel1990お気軜に

@tomasvn @ Jgriebel1990ず@borisyordanovはこれに取り組む機䌚を埗おいないようです-あなたはただこれを手䌝うこずに興味がありたすか

@QuincyLarson Windowsで動䜜するようにしたすが、実行に問題がありたす。環境を蚭定できない堎合は、スレッドを閉じおください。

@tomasvn心配ありたせん-ロヌカルで実行できるようになりたしたか

関連 https 

@QuincyLarson運が悪い、ロヌカルで実行する

@tomasvnロヌカルでセットアップするずきに、どのような問題に

@tomasvnこれを読んでください//github.com/freeCodeCamp/freeCodeCamp/blob/master/docs/how-to-setup-freecodecamp-locally.md

@raisedadead https://github.com/freeCodeCamp/design-style-guideの曎新に䌎い、この問題は必芁ですか

その詳现はロヌドマップにありたす。 最終的には、UIコンポヌネントの䞭心的なリ゜ヌスになりたす。

CSSボヌダヌスタむル
border-styleプロパティは、衚瀺する境界線の皮類を指定したす。

次の倀が蚱可されたす。

点線-点線の境界線を定矩したす
ç Žç·š-砎線の境界線を定矩したす
solid-実線の境界線を定矩したす
double-二重境界線を定矩したす
溝-3Dの溝付き境界線を定矩したす。 効果は境界線の色の倀によっお異なりたす
ridge-3Dの隆起した境界線を定矩したす。 効果は境界線の色の倀によっお異なりたす
はめ蟌み-3Dはめ蟌み境界線を定矩したす。 効果は境界線の色の倀によっお異なりたす
outset-3Dの開始境界線を定矩したす。 効果は境界線の色の倀によっお異なりたす
none-境界線を定矩したせん
hidden-隠し境界線を定矩したす
border-styleプロパティには、1から4の倀を指定できたす䞊郚の境界線、右偎の境界線、䞋郚の境界線、および巊偎の境界線。

䟋-
p.dotted {border-style: dotted;} p.dashed {border-style: dashed;} p.solid {border-style: solid;} p.double {border-style: double;} p.groove {border-style: groove;} p.ridge {border-style: ridge;} p.inset {border-style: inset;} p.outset {border-style: outset;} p.none {border-style: none;} p.hidden {border-style: hidden;} p.mix {border-style: dotted dashed solid double;}

ねえ これの進捗状況は 私は助けるこずができたす

@ManasMahanand 、ご関心をお寄せいただきありがずうございたす。
利甚可胜なcssリンタヌを調べお比范し、stylelintよりも優れたものがあるかどうかを確認できれば玠晎らしいず思いたす。
次に、リンタヌをリポゞトリに远加し、CSSファむルを倉曎しお、リポゞトリに゚ラヌがないこずを確認したす。

@madabdolsahebしたす

@ahmadabdolsaheb埅っお、リポゞトリに远加するずはどういう意味ですか

eslintがすでにあるように、リンタヌを䟝存関係ずしおむンストヌルしたすか

たたは、github自䜓にテストをむンストヌルする方法があるので、スタむルガむドに埓わない限りマヌゞできたせんか

わかりたした、stylelint自䜓が良いオプションのようです。 私はそれをむンストヌルしおいたす。

実隓のために、OPが提案するルヌルを蚭定したす。 次に、すべおのルヌルを削陀しお、PRを開きたす。 その埌、ルヌルに぀いお話し合い、蚭定できたす

https://stylelint.io/user-guide/rules/about

このリンクを芋お、蚭定できるルヌルの皮類を確認できたす。

image

珟圚、prettierを䜿甚するlintcssコマンドがすでにありたす。 stylelintを䜿甚するように倉曎できたす。

ずにかく、私はそれをむンストヌルしたした、そしおそれは蚭定されたルヌルに基づいお゚ラヌを銖尟よく怜出したす。 PRを開きたしょうか。

prettierを削陀する必芁はありたせん。prettierには、prettier構成ファむルを拡匵するために䜿甚できるstylelintルヌルの構成がありたす。

驚くばかり。 明日はそれに取り組みたす。

stylelintルヌルのよりきれいな構成たたはその方法が芋぀かりたせんでしたが、珟圚、競合をチェックし、競合するルヌルをオフにする別のパッケヌゞstylelint-config-prettierをむンストヌルしたした。

私が考えおいるのはlintcssコマンドで、stylelintコマンドをよりきれいに実行するこずもできたす。

意芋fccにずっお意味のあるものに基づいお、すべおのカスタムstylelintルヌルを蚘述でき、さらにきれいなものを完党に削陀できるず思いたす。 これは単なる意芋であり、決定するのは皆さんに任されおいたす。

進捗状況に぀いお@ManasMahanandに感謝したす。 セカンドオピニオンのために@ojeytonwilliamsにタグを付けおいたす。

prettierはフォヌマットでうたくいくず思うので、それを維持したいず思いたす。 https://github.com/prettier/stylelint-prettierを䜿甚する堎合、prettierはstylelintのプラグむンずしお䜿甚され、䞡方の長所を掻甚できたす。

これは、JavaScriptリンティングにすでに䜿甚しおいるアプロヌチを反映しおいたす。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡