eleventy webpack
1.0.0
ベアボーン eleventy および webpack テンプレート。フォークして行きましょう。
.js
(ES6、Babel、ポリフィル).css
(Sass、PostCSS、オートプレフィクサー)noopener
およびnoreferrer
)ライブデモ https://eleventy-webpack.netlify.app
まず依存関係をインストールします。
npm install
次に、次のことができます。
指示 | 説明 |
---|---|
npm run start | http://localhost:8080 で Web サイトを実行します。 |
npm run build | /_site 内に本番 Web サイトを構築します |
npm run format | /_site 除くすべてのフィルでよりきれいに実行します |
npm run analyze | バンドルサイズに関する情報を出力します |
正しいnode.jsバージョンを使用していることを確認してください。
# with bash nvm
nvm use ` cat .nvmrc `
# with windows nvm
nvm use $( cat .nvmrc )
# or just install the version specified inside `.nvmrc`
非常にシンプルなwebpack.config.js
が含まれています。ご自由に変更してください。
すべてのショートコードは.md
または.njk
ファイル内で使用できます。
icon
src/assets/icons
に追加された SVG はシンボル スプライト ファイルにバンドルされ、このショートコードを通じて利用できるようになります。
<!-- Assuming `src/assets/icons/github.svg` exist -->
{% icon "github" %} Github icon
<!-- Will be rendered as -->
< svg class =" icon icon--github " role =" img " aria-hidden =" true " >
< use xlink:href =" /assets/images/sprite.svg#github " > </ use >
</ svg >
image
画像の WebP バージョンと、対応する最適化された JPEG / PNG を作成します。画像は複数のサイズで作成されます。デフォルト値については、 utils/shortcodes.js
を参照してください。
<!-- Assuming `src/assets/images/image.jpeg` of width 330px exist -->
{% image "image.jpeg", "Image alt" %}
<!-- Will be rendered as -->
< picture >
< source type =" image/webp " srcset =" /assets/images/678868de-320.webp 320w, /assets/images/678868de.webp 330w " sizes =" 90vw " >
< source type =" image/png " srcset =" /assets/images/678868de-320.png 320w, /assets/images/678868de.png 330w " sizes =" 90vw " >
< img loading =" lazy " src =" /assets/images/678868de.png " alt =" Image alt " width =" 330 " height =" 580 " >
</ picture >
<!-- If a title is passed the shortcode will output a <figure> with <figcaption> -->
{% image "image.jpeg", "Image alt", "Image title" %}
<!-- Will be rendered as -->
< figure >
< picture >
< source type =" image/webp " srcset =" /assets/images/678868de-320.webp 320w, /assets/images/678868de.webp 330w " sizes =" 90vw " >
< source type =" image/png " srcset =" /assets/images/678868de-320.png 320w, /assets/images/678868de.png 330w " sizes =" 90vw " >
< img loading =" lazy " src =" /assets/images/678868de.png " alt =" Image alt " width =" 330 " height =" 580 " >
</ picture >
< figcaption > Image title </ figcaption >
</ figure >
<!-- Additional options -->
{% image [100,100], "image.jpeg", "Image alt", "Image title", "my-class", false, "90vw" %}
<!-- Will be rendered as -->
< figure class =" fig-my-class " >
< picture >
< source type =" image/webp " srcset =" ... " sizes =" 90vw " >
< source type =" image/png " srcset =" ... " sizes =" 90vw " >
< img class =" img-my-class " loading =" eager " src =" ... " alt =" Image alt " width =" 100 " height =" 100 " >
</ picture >
< figcaption > Image title </ figcaption >
</ figure >
markdown
マークダウンを簡単に埋め込みます。
{% markdown %}
Let's you use **Markdown** like _this_.
Or with includes {%- include 'content.md' -%}.
{% endmarkdown %}
すべてのフィルターは.md
または.njk
ファイル内で使用できます。
format
渡された日付を date-fns でフォーマットします。
<!-- Assuming page.date is a javascript date -->
{{ page.date | format("yyyy") }}
<!-- Will be rendered as -->
2020
formatISO
渡された日付を ISO 形式に従ってフォーマットします。
<!-- Assuming page.date is a javascript date -->
{{ page.date | formatISO }}
<!-- Will be rendered as -->
2020-09-18T19:00:52Z
markdown
渡された文字列をマークダウンで解析します。
<!-- Assuming page.title is `# My header` -->
{{ page.title | markdown }}
<!-- Will be rendered as -->
< h1 > My header </ h1 >