SlideShare a Scribd company logo
VivliostyleThemesの
ハンズオン
CSS組版Vivliostyleユーザーと開発者の集い2021春
2021.04.10 やましー
やましー@yamasy1549
スパイスカレーづくりが趣味の学⽣🍛
プログラミング⾔語かるたをつくった
Vivliostyleを応援する者
Vivliostyleを使って卒論を書いた
VivliostyleThemesに関わっている
イントロダクション 2
紹介すること
Themesまわりの基本的な機能
@vivliostyle/themesの作り⽅
良ければ⼀緒に⼿を動かしましょう💻
公開Themesのレパートリーが増える
(期待)
近いうちできるようになること
イントロダクション 3
VivliostyleThemesとは
"スピーディー"な本づくりと"カスタマイズ可能"な本づくり
Themesまわりの基本的な機能 4
公式Themesの紹介
https://github.com/vivliostyle/themes
基本的なスタイルが定義されたCSS≒スタイルテンプレート
Themesを使って作られた本などの例↓
Themesまわりの基本的な機能 5
公式Themesの紹介
現在は公式Themesが4つ
⽂庫theme-bunko
スライドtheme-slide
技術書theme-techbook
レポートtheme-academic
⾮公式Themesがいくつか
ゲームのハンドブックdnd5e-
phb
論⽂関係thesisbulletin
vivliostyle-themeで検索(npmjs)
Themesまわりの基本的な機能 6
⽂庫本スタイル theme-bunko
@vivliostyle/theme-bunko
スタンダードな⽂庫本
明朝体
縦書き
ルビもOK
縦中横もばっちり
Themesまわりの基本的な機能 7
スライドスタイル theme-slide
@vivliostyle/theme-slide
この資料のようなスライド
ゴシック体
横書き
表紙ページはスタイルが変わる
⻘背景
中央寄せ
ページ番号⾮表⽰
Themesまわりの基本的な機能 8
技術書スタイル theme-teckbook
@vivliostyle/theme-techbook
印刷を意識した技術書
⼩⼝・ノドの余⽩調整
ゴシック体
横書き
ソースコードや⽬次もばっちり
脚注が使える
Themesまわりの基本的な機能 9
レポートスタイル theme-academic
@vivliostyle/theme-academic
学⽣が書くようなレポート
明朝体
横書き
⾃動で章・節番号がつく
数式もばっちり
Themesまわりの基本的な機能 10
Themesの作り⽅
良ければ⼀緒に⼿を動かしましょう💻
https://github.com/yamasy1549/vivliostyle-theme-my-doujin
Themesの作り⽅ 11
このハンズオンの設定
「複数⼈の書き⼿による⼩説合同誌」
を作ることになりました📖
1⼈1章分=1つの原稿ファイル (.md)を担当
全体を通したページ番号、
章番号がほしい
⽬次がほしい
⾒た⽬は統⼀するが、
書き⼿によってテーマカラーを変えたい
Themesの作り⽅ 12
①雛形から作ります
yarn create vivliostyle-theme my-doujin
$
$ yarn
yarn create vivliostyle-theme my-doujin
create vivliostyle-theme my-doujin
? description すごい合同誌のTheme
? description すごい合同誌のTheme
? author name わたし
? author name わたし
? author email watashi@example.com
? author email watashi@example.com
? license AGPL-3.0
? license AGPL-3.0
? choose category novel
? choose category novel
Success
Success!
! Created vivliostyle-theme-my-doujin.
Created vivliostyle-theme-my-doujin.
1
1.
. cd
cd vivliostyle-theme-my-doujin
vivliostyle-theme-my-doujin
2
2. edit scss/*.scss
. edit scss/*.scss
3
3. publish to
. publish to npm
npm (
($
$ npm
npm publish
publish)
)
✨ Done
✨ Done in
in 46
46.57s.
.57s.
Themesの作り⽅ 13
①雛形から作ります
$
$ cd
cd vivliostyle-theme-my-doujin
vivliostyle-theme-my-doujin
$ tree
$ tree .
. -I node_modules
-I node_modules
.
.
├── LICENSE
├── LICENSE
├── README.md
├── README.md
├── example サンプル原稿
├── example サンプル原稿
│   ├── default.html
│   ├── default.html
│   └── default.md 🖋Markdownを書く
│   └── default.md 🖋Markdownを書く
├── package.json
├── package.json
├── scss デフォルトで3つのスタイルファイル
├── scss デフォルトで3つのスタイルファイル
│   ├── theme_common.scss 🖋 Themeの共通部分
│   ├── theme_common.scss 🖋 Themeの共通部分
│   ├── theme_print.scss 🖋 出版物
│   ├── theme_print.scss 🖋 出版物 (
(PDF
PDF)
) 印刷⽤スタイル
印刷⽤スタイル
│   └── theme_screen.scss 🖋 出版物
│   └── theme_screen.scss 🖋 出版物 (
(HTML
HTML)
) 閲覧⽤スタイル
閲覧⽤スタイル
├── vivliostyle.config.js 🖋 プレビュー⽤設定ファイル
├── vivliostyle.config.js 🖋 プレビュー⽤設定ファイル
└── yarn.lock
└── yarn.lock
Themesの作り⽅ 14
②サンプル原稿を⽤意します
example/ch01.md
#
# {吾輩|わがはい}は猫である。
{吾輩|わがはい}は猫である。
##
## 夏⽬ 漱⽯
夏⽬ 漱⽯
{吾輩|わがはい}は猫である。
名前はまだ無い。
{吾輩|わがはい}は猫である。
名前はまだ無い。
example/ch02.md
#
# 羅⽣⾨
羅⽣⾨
##
## 芥川 ⿓之介
芥川 ⿓之介
ある⽇の暮⽅の事である。
⼀⼈の{下⼈|げにん}が
ある⽇の暮⽅の事である。
⼀⼈の{下⼈|げにん}が
vivliostyle.config.js
module
module.
.exports
exports =
= {
{
language
language:
: 'ja'
'ja',
,
theme
theme:
: 'theme_print.css'
'theme_print.css',
,
entry
entry:
: [
[
'example/ch01.md'
'example/ch01.md',
,
'example/ch02.md'
'example/ch02.md',
,
]
],
,
}
}
Themesの作り⽅ 15
③ yarn dev でプレビューします
これはデフォルトのスタイル
Themesの作り⽅ 16
④ページ番号と章番号
scss/theme_{print,screen}.scss
/* ... */
/* ... */
@import
@import "_my_style"
"_my_style";
;
scss/_my_style.scss
@page
@page :
:first
first {
{ counter-reset
counter-reset:
: p
p;
; }
}
@page
@page {
{ counter-increment
counter-increment:
: p
p;
; }
}
/* ⼩⼝側、
上にページ番号 */
/* ⼩⼝側、
上にページ番号 */
@page
@page :
:left
left {
{
@top-left
@top-left {
{ content
content:
: counter
counter(
(p
p)
);
; }
}
}
}
@page
@page :
:right
right {
{
@top-right
@top-right {
{ content
content:
: counter
counter(
(p
p)
);
; }
}
}
}
Themesの作り⽅ 17
④ページ番号と章番号
scss/_my_style.scss
/* 章番号 */
/* 章番号 */
@page
@page :
:nth
nth(
(1
1)
) {
{
counter-increment
counter-increment:
: chapter p
chapter p;
;
}
}
/* 章タイトル */
/* 章タイトル */
h1
h1 {
{
&
&::before
::before {
{
content
content:
: "第 "
"第 " counter
counter(
(chapter
chapter)
) " 章"
" 章";
;
display
display:
: block
block;
;
}
}
}
}
Themesの作り⽅ 18
④ページ番号と章番号
scss/_my_style.scss
/* 章タイトル */
/* 章タイトル */
h1
h1 {
{
border-top
border-top:
: 10
10pt
pt solid
solid black
black;
;
&
&::before
::before {
{
content
content:
: "第 "
"第 " counter
counter(
(chapter
chapter)
) " 章"
" 章";
;
display
display:
: block
block;
;
font-size
font-size:
: 80
80%
%;
;
margin
margin:
: 10
10pt
pt auto
auto;
;
}
}
}
}
/* 著者名 */
/* 著者名 */
h2
h2 {
{
text-align
text-align:
: right
right;
;
border-bottom
border-bottom:
: 10
10pt
pt solid
solid black
black;
;
}
}
Themesの作り⽅ 19
⑤⽬次
vivliostyle.config.js
module
module.
.exports
exports =
= {
{
// ...
// ...
entry
entry:
: [
[
{
{ rel
rel:
: 'contents'
'contents',
, theme
theme:
: 'theme_toc.css'
'theme_toc.css' }
},
,
// ...
// ...
]
],
,
toc
toc:
: true
true,
,
tocTitle
tocTitle:
: "⽬次"
"⽬次",
,
}
}
scss/theme_toc.scss
@import
@import "theme_common"
"theme_common";
;
Themesの作り⽅ 20
⑤⽬次
scss/theme_toc.scss
@import
@import "theme_common"
"theme_common";
;
/* いらないところを消す */
/* いらないところを消す */
@page
@page :
:left
left {
{
@top-left
@top-left {
{ content
content:
: ""
"";
; }
}
}
}
@page
@page :
:right
right {
{
@top-right
@top-right {
{ content
content:
: ""
"";
; }
}
}
}
h1
h1 {
{ display
display:
: none
none;
; }
}
h2
h2 {
{ text-indent
text-indent:
: 0
0;
; }
}
nav ol
nav ol {
{
padding
padding:
: 0
0;
;
list-style
list-style:
: none
none;
;
}
}
Themesの作り⽅ 21
⑤⽬次
scss/theme_toc.scss
nav ol
nav ol {
{
/* ... */
/* ... */
li a
li a {
{
text-decoration
text-decoration:
: none
none;
;
color
color:
: inherit
inherit;
;
&
&::before
::before {
{
content
content:
: "第 "
"第 " target-counter
target-counter(
(
attr
attr(
(href url
href url)
),
, chapter
chapter)
) " 章"
" 章";
;
margin-right
margin-right:
: 1
1rem
rem;
;
}
}
&
&::after
::after {
{
content
content:
: target-counter
target-counter(
(attr
attr(
(href url
href url)
),
, p
p)
);
;
float
float:
: right
right;
;
}
}
}
}
}
}
Themesの作り⽅ 22
⑥原稿ごとのテーマカラー
vivliostyle.config.js
// ...
// ...
{
{
path
path:
: 'example/ch01.md'
'example/ch01.md',
,
theme
theme:
: 'theme_ch01.css'
'theme_ch01.css',
,
}
},
,
{
{
path
path:
: 'example/ch02.md'
'example/ch02.md',
,
theme
theme:
: 'theme_ch02.css'
'theme_ch02.css',
,
}
},
,
scss/theme_ch01.scss
@import
@import "theme_print"
"theme_print";
;
h1
h1,
, h2
h2 {
{ border-color
border-color:
: darkcyan
darkcyan;
; }
}
Themesの作り⽅ 23
近いうちできるようになること
近いうちできるようになること 24
原稿で <body> のclassを設定
ch01.md
---
---
class: natsume
class: natsume
---
---
夏⽬漱⽯
夏⽬漱⽯
ch02.md
---
---
class: akutagawa
class: akutagawa
---
---
芥川⿓之介
芥川⿓之介
vfm@v1.0.0-alpha.18にて実装済み
原稿ファイルごとのスタイル付与が格
段にやりやすくなる!
先程の例だとこんな感じ
scss/theme_common.scss
body.natsume
body.natsume {
{
h1, h2
h1, h2 {
{ border-color
border-color:
: darkcyan
darkcyan;
; }
}
}
}
body.akutagawa
body.akutagawa {
{
h1, h2
h1, h2 {
{ border-color
border-color:
: sienna
sienna;
; }
}
}
}
近いうちできるようになること 25
欧⽂⽂庫⽤Theme#32
近いうちできるようになること 26
同時に複数のThemeを適⽤する
Themeをコンポーネント化してより細かい単位で使えるかも
vivliostyle.config.js
theme
theme:
: [
[
'report.css'
'report.css',
,
'twocolumn.css'
'twocolumn.css',
,
]
]
近いうちできるようになること 27
Themeの構造に⼀貫性をもたせる
現状の必須項⽬
Theme名
Themeを読み込んだときのデフォルトのCSSファイル
現状の推奨項⽬
SCSSを使ってスタイルを書く
サンプル原稿をexample/に置く
将来的に推奨したい
Themeを変えても使える共通のSCSS変数
(⽂字サイズ、
⾏間
など)#19
近いうちできるようになること 28

More Related Content

What's hot

静的解析を使った開発ツールの開発
静的解析を使った開発ツールの開発静的解析を使った開発ツールの開発
静的解析を使った開発ツールの開発Takuya Ueda
 
성장을 좋아하는 사람이, 성장하고 싶은 사람에게
성장을 좋아하는 사람이, 성장하고 싶은 사람에게성장을 좋아하는 사람이, 성장하고 싶은 사람에게
성장을 좋아하는 사람이, 성장하고 싶은 사람에게Seongyun Byeon
 
認証から見たリモート署名 ー利用認証と鍵認可ー
認証から見たリモート署名 ー利用認証と鍵認可ー認証から見たリモート署名 ー利用認証と鍵認可ー
認証から見たリモート署名 ー利用認証と鍵認可ーNaoto Miyachi
 
Sql server 2017 からはじめる graph データベース
Sql server 2017 からはじめる graph データベースSql server 2017 からはじめる graph データベース
Sql server 2017 からはじめる graph データベースOda Shinsuke
 
Deflate
DeflateDeflate
Deflate7shi
 
やりなおせる Git 入門
やりなおせる Git 入門やりなおせる Git 入門
やりなおせる Git 入門Tomohiko Himura
 
Gitのよく使うコマンド
Gitのよく使うコマンドGitのよく使うコマンド
Gitのよく使うコマンドYUKI Kaoru
 
データベース12 - トランザクションと同時実行制御
データベース12 - トランザクションと同時実行制御データベース12 - トランザクションと同時実行制御
データベース12 - トランザクションと同時実行制御Kenta Oku
 
[NHN_NEXT] DirectX Tutorial 강의 자료
[NHN_NEXT] DirectX Tutorial 강의 자료[NHN_NEXT] DirectX Tutorial 강의 자료
[NHN_NEXT] DirectX Tutorial 강의 자료MinGeun Park
 
GoogleのSHA-1のはなし
GoogleのSHA-1のはなしGoogleのSHA-1のはなし
GoogleのSHA-1のはなしMITSUNARI Shigeo
 
DB Project - Gmarket
DB Project - Gmarket DB Project - Gmarket
DB Project - Gmarket Han Sung Kim
 
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理Takafumi Yoshida
 
Bitcoinを技術的に理解する
Bitcoinを技術的に理解するBitcoinを技術的に理解する
Bitcoinを技術的に理解するKenji Urushima
 
情報検索の基礎
情報検索の基礎情報検索の基礎
情報検索の基礎Retrieva inc.
 
デザイナのためのGit入門
デザイナのためのGit入門デザイナのためのGit入門
デザイナのためのGit入門dsuke Takaoka
 
ソーシャルゲームにおけるMongoDB適用事例 - Animal Land
ソーシャルゲームにおけるMongoDB適用事例 - Animal LandソーシャルゲームにおけるMongoDB適用事例 - Animal Land
ソーシャルゲームにおけるMongoDB適用事例 - Animal LandMasakazu Matsushita
 
Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。Yuya Yamaki
 
datatech-jp Casual Talks#3 データエンジニアを採用するための試行錯誤
datatech-jp Casual Talks#3  データエンジニアを採用するための試行錯誤datatech-jp Casual Talks#3  データエンジニアを採用するための試行錯誤
datatech-jp Casual Talks#3 データエンジニアを採用するための試行錯誤株式会社MonotaRO Tech Team
 

What's hot (20)

静的解析を使った開発ツールの開発
静的解析を使った開発ツールの開発静的解析を使った開発ツールの開発
静的解析を使った開発ツールの開発
 
성장을 좋아하는 사람이, 성장하고 싶은 사람에게
성장을 좋아하는 사람이, 성장하고 싶은 사람에게성장을 좋아하는 사람이, 성장하고 싶은 사람에게
성장을 좋아하는 사람이, 성장하고 싶은 사람에게
 
認証から見たリモート署名 ー利用認証と鍵認可ー
認証から見たリモート署名 ー利用認証と鍵認可ー認証から見たリモート署名 ー利用認証と鍵認可ー
認証から見たリモート署名 ー利用認証と鍵認可ー
 
Sql server 2017 からはじめる graph データベース
Sql server 2017 からはじめる graph データベースSql server 2017 からはじめる graph データベース
Sql server 2017 からはじめる graph データベース
 
Deflate
DeflateDeflate
Deflate
 
やりなおせる Git 入門
やりなおせる Git 入門やりなおせる Git 入門
やりなおせる Git 入門
 
About Programmer 2021
About Programmer 2021About Programmer 2021
About Programmer 2021
 
Gitのよく使うコマンド
Gitのよく使うコマンドGitのよく使うコマンド
Gitのよく使うコマンド
 
データベース定義書とER図【勉強会資料】
データベース定義書とER図【勉強会資料】 データベース定義書とER図【勉強会資料】
データベース定義書とER図【勉強会資料】
 
データベース12 - トランザクションと同時実行制御
データベース12 - トランザクションと同時実行制御データベース12 - トランザクションと同時実行制御
データベース12 - トランザクションと同時実行制御
 
[NHN_NEXT] DirectX Tutorial 강의 자료
[NHN_NEXT] DirectX Tutorial 강의 자료[NHN_NEXT] DirectX Tutorial 강의 자료
[NHN_NEXT] DirectX Tutorial 강의 자료
 
GoogleのSHA-1のはなし
GoogleのSHA-1のはなしGoogleのSHA-1のはなし
GoogleのSHA-1のはなし
 
DB Project - Gmarket
DB Project - Gmarket DB Project - Gmarket
DB Project - Gmarket
 
一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理一人でもはじめるGitでバージョン管理
一人でもはじめるGitでバージョン管理
 
Bitcoinを技術的に理解する
Bitcoinを技術的に理解するBitcoinを技術的に理解する
Bitcoinを技術的に理解する
 
情報検索の基礎
情報検索の基礎情報検索の基礎
情報検索の基礎
 
デザイナのためのGit入門
デザイナのためのGit入門デザイナのためのGit入門
デザイナのためのGit入門
 
ソーシャルゲームにおけるMongoDB適用事例 - Animal Land
ソーシャルゲームにおけるMongoDB適用事例 - Animal LandソーシャルゲームにおけるMongoDB適用事例 - Animal Land
ソーシャルゲームにおけるMongoDB適用事例 - Animal Land
 
Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。Windowsフォームで大丈夫か?一番良いのを頼む。
Windowsフォームで大丈夫か?一番良いのを頼む。
 
datatech-jp Casual Talks#3 データエンジニアを採用するための試行錯誤
datatech-jp Casual Talks#3  データエンジニアを採用するための試行錯誤datatech-jp Casual Talks#3  データエンジニアを採用するための試行錯誤
datatech-jp Casual Talks#3 データエンジニアを採用するための試行錯誤
 

Similar to Vivliostyle Themes のハンズオン

Cis 273 Education Organization / snaptutorial.com
Cis 273  Education Organization / snaptutorial.comCis 273  Education Organization / snaptutorial.com
Cis 273 Education Organization / snaptutorial.comBaileya127
 
Cis 273 Education Organization -- snaptutorial.com
Cis 273   Education Organization -- snaptutorial.comCis 273   Education Organization -- snaptutorial.com
Cis 273 Education Organization -- snaptutorial.comDavisMurphyC
 
CIS 273 Exceptional Education - snaptutorial.com
CIS 273   Exceptional Education - snaptutorial.comCIS 273   Exceptional Education - snaptutorial.com
CIS 273 Exceptional Education - snaptutorial.comDavisMurphyB34
 
Cis 273 Education Redefined-snaptutorial.com
Cis 273 Education Redefined-snaptutorial.comCis 273 Education Redefined-snaptutorial.com
Cis 273 Education Redefined-snaptutorial.comrobertledwes38
 
Cis 273 Effective Communication / snaptutorial.com
Cis 273   Effective Communication / snaptutorial.comCis 273   Effective Communication / snaptutorial.com
Cis 273 Effective Communication / snaptutorial.comBaileyan
 
Css tutorial
Css tutorialCss tutorial
Css tutorialvedaste
 
Thinkful - HTML/CSS Crash Course (May 4 2017)
Thinkful - HTML/CSS Crash Course (May 4 2017)Thinkful - HTML/CSS Crash Course (May 4 2017)
Thinkful - HTML/CSS Crash Course (May 4 2017)TJ Stalcup
 
Code & Design your first website 4/18
Code & Design your first website 4/18Code & Design your first website 4/18
Code & Design your first website 4/18TJ Stalcup
 
Cis 273 Enhance teaching / snaptutorial.com
Cis 273  Enhance teaching / snaptutorial.comCis 273  Enhance teaching / snaptutorial.com
Cis 273 Enhance teaching / snaptutorial.comHarrisGeorg52
 
WordPress Theme Design - Rich Media Institute Workshop
WordPress Theme Design - Rich Media Institute WorkshopWordPress Theme Design - Rich Media Institute Workshop
WordPress Theme Design - Rich Media Institute WorkshopBrendan Sera-Shriar
 
10- Learn CSS Fundamentals / Pseudo-elements
10- Learn CSS Fundamentals / Pseudo-elements10- Learn CSS Fundamentals / Pseudo-elements
10- Learn CSS Fundamentals / Pseudo-elementsIn a Rocket
 
CIS 273 Effective Communication - tutorialrank.com
CIS 273 Effective Communication - tutorialrank.comCIS 273 Effective Communication - tutorialrank.com
CIS 273 Effective Communication - tutorialrank.comBartholomew19
 
WordPress Theme Workshop: Part 4
WordPress Theme Workshop: Part 4WordPress Theme Workshop: Part 4
WordPress Theme Workshop: Part 4David Bisset
 
Html n css tutorial
Html n css tutorialHtml n css tutorial
Html n css tutorialzubeditufail
 
WP Joburg Meetup 10: Genesis Framework by Trish Cornelius
WP Joburg Meetup 10: Genesis Framework by Trish CorneliusWP Joburg Meetup 10: Genesis Framework by Trish Cornelius
WP Joburg Meetup 10: Genesis Framework by Trish CorneliusWPJoburg
 
basic programming language AND HTML CSS JAVApdf
basic programming language AND HTML CSS JAVApdfbasic programming language AND HTML CSS JAVApdf
basic programming language AND HTML CSS JAVApdfelayelily
 
Newbies guide to customizing word press themes 25
Newbies guide to customizing word press themes 25Newbies guide to customizing word press themes 25
Newbies guide to customizing word press themes 25New Tricks
 
Strayer cis-273-week-7-lab-assignment-7-form-page-new
Strayer cis-273-week-7-lab-assignment-7-form-page-newStrayer cis-273-week-7-lab-assignment-7-form-page-new
Strayer cis-273-week-7-lab-assignment-7-form-page-newkrystalhero123
 

Similar to Vivliostyle Themes のハンズオン (20)

Cis 273 Education Organization / snaptutorial.com
Cis 273  Education Organization / snaptutorial.comCis 273  Education Organization / snaptutorial.com
Cis 273 Education Organization / snaptutorial.com
 
Cis 273 Education Organization -- snaptutorial.com
Cis 273   Education Organization -- snaptutorial.comCis 273   Education Organization -- snaptutorial.com
Cis 273 Education Organization -- snaptutorial.com
 
CSS for Ebooks
CSS for EbooksCSS for Ebooks
CSS for Ebooks
 
CIS 273 Exceptional Education - snaptutorial.com
CIS 273   Exceptional Education - snaptutorial.comCIS 273   Exceptional Education - snaptutorial.com
CIS 273 Exceptional Education - snaptutorial.com
 
Cis 273 Education Redefined-snaptutorial.com
Cis 273 Education Redefined-snaptutorial.comCis 273 Education Redefined-snaptutorial.com
Cis 273 Education Redefined-snaptutorial.com
 
Cis 273 Effective Communication / snaptutorial.com
Cis 273   Effective Communication / snaptutorial.comCis 273   Effective Communication / snaptutorial.com
Cis 273 Effective Communication / snaptutorial.com
 
Css tutorial
Css tutorialCss tutorial
Css tutorial
 
Thinkful - HTML/CSS Crash Course (May 4 2017)
Thinkful - HTML/CSS Crash Course (May 4 2017)Thinkful - HTML/CSS Crash Course (May 4 2017)
Thinkful - HTML/CSS Crash Course (May 4 2017)
 
Css introduction
Css  introductionCss  introduction
Css introduction
 
Code & Design your first website 4/18
Code & Design your first website 4/18Code & Design your first website 4/18
Code & Design your first website 4/18
 
Cis 273 Enhance teaching / snaptutorial.com
Cis 273  Enhance teaching / snaptutorial.comCis 273  Enhance teaching / snaptutorial.com
Cis 273 Enhance teaching / snaptutorial.com
 
WordPress Theme Design - Rich Media Institute Workshop
WordPress Theme Design - Rich Media Institute WorkshopWordPress Theme Design - Rich Media Institute Workshop
WordPress Theme Design - Rich Media Institute Workshop
 
10- Learn CSS Fundamentals / Pseudo-elements
10- Learn CSS Fundamentals / Pseudo-elements10- Learn CSS Fundamentals / Pseudo-elements
10- Learn CSS Fundamentals / Pseudo-elements
 
CIS 273 Effective Communication - tutorialrank.com
CIS 273 Effective Communication - tutorialrank.comCIS 273 Effective Communication - tutorialrank.com
CIS 273 Effective Communication - tutorialrank.com
 
WordPress Theme Workshop: Part 4
WordPress Theme Workshop: Part 4WordPress Theme Workshop: Part 4
WordPress Theme Workshop: Part 4
 
Html n css tutorial
Html n css tutorialHtml n css tutorial
Html n css tutorial
 
WP Joburg Meetup 10: Genesis Framework by Trish Cornelius
WP Joburg Meetup 10: Genesis Framework by Trish CorneliusWP Joburg Meetup 10: Genesis Framework by Trish Cornelius
WP Joburg Meetup 10: Genesis Framework by Trish Cornelius
 
basic programming language AND HTML CSS JAVApdf
basic programming language AND HTML CSS JAVApdfbasic programming language AND HTML CSS JAVApdf
basic programming language AND HTML CSS JAVApdf
 
Newbies guide to customizing word press themes 25
Newbies guide to customizing word press themes 25Newbies guide to customizing word press themes 25
Newbies guide to customizing word press themes 25
 
Strayer cis-273-week-7-lab-assignment-7-form-page-new
Strayer cis-273-week-7-lab-assignment-7-form-page-newStrayer cis-273-week-7-lab-assignment-7-form-page-new
Strayer cis-273-week-7-lab-assignment-7-form-page-new
 

More from Sanae Yamashita

vivliostyle.orgではじめるCSS組版チュートリアル
vivliostyle.orgではじめるCSS組版チュートリアルvivliostyle.orgではじめるCSS組版チュートリアル
vivliostyle.orgではじめるCSS組版チュートリアルSanae Yamashita
 
Vivliostyle Theme 開発ガイドラインの公開
Vivliostyle Theme 開発ガイドラインの公開Vivliostyle Theme 開発ガイドラインの公開
Vivliostyle Theme 開発ガイドラインの公開Sanae Yamashita
 
スピーディーな本作りとカスタマイズ可能な本作りのための Vivliostyle Themes プロジェクト #vivliostyle
スピーディーな本作りとカスタマイズ可能な本作りのための Vivliostyle Themes プロジェクト #vivliostyleスピーディーな本作りとカスタマイズ可能な本作りのための Vivliostyle Themes プロジェクト #vivliostyle
スピーディーな本作りとカスタマイズ可能な本作りのための Vivliostyle Themes プロジェクト #vivliostyleSanae Yamashita
 
CSS組版やってみた! #Vivliostyle
CSS組版やってみた! #VivliostyleCSS組版やってみた! #Vivliostyle
CSS組版やってみた! #VivliostyleSanae Yamashita
 
読解・QRコード(かんたんなやつ) #nitaclt
読解・QRコード(かんたんなやつ) #nitaclt読解・QRコード(かんたんなやつ) #nitaclt
読解・QRコード(かんたんなやつ) #nitacltSanae Yamashita
 
きみはPNGの仕様書を読んだか?
きみはPNGの仕様書を読んだか?きみはPNGの仕様書を読んだか?
きみはPNGの仕様書を読んだか?Sanae Yamashita
 
UIデザインの心理学
UIデザインの心理学UIデザインの心理学
UIデザインの心理学Sanae Yamashita
 
軍歌でわかるドイツ語(わからない)
軍歌でわかるドイツ語(わからない)軍歌でわかるドイツ語(わからない)
軍歌でわかるドイツ語(わからない)Sanae Yamashita
 
この夏、絶対モテるフォント選びのコツ #nitaclt
この夏、絶対モテるフォント選びのコツ #nitacltこの夏、絶対モテるフォント選びのコツ #nitaclt
この夏、絶対モテるフォント選びのコツ #nitacltSanae Yamashita
 
Hello world! にときめかなかった僕が情報系を名乗るまで
Hello world! にときめかなかった僕が情報系を名乗るまでHello world! にときめかなかった僕が情報系を名乗るまで
Hello world! にときめかなかった僕が情報系を名乗るまでSanae Yamashita
 
おいしい!GitHub ~GitHub Patchwork Tokyo @dots 夏休み版~
おいしい!GitHub ~GitHub Patchwork Tokyo @dots 夏休み版~おいしい!GitHub ~GitHub Patchwork Tokyo @dots 夏休み版~
おいしい!GitHub ~GitHub Patchwork Tokyo @dots 夏休み版~Sanae Yamashita
 
『UIデザインの心理学』周辺視野 - #kosen14s 第1回読書会 Day4 -
『UIデザインの心理学』周辺視野 - #kosen14s 第1回読書会 Day4 -『UIデザインの心理学』周辺視野 - #kosen14s 第1回読書会 Day4 -
『UIデザインの心理学』周辺視野 - #kosen14s 第1回読書会 Day4 -Sanae Yamashita
 
Are you a Designer or an Engineer?
Are you a Designer or an Engineer?Are you a Designer or an Engineer?
Are you a Designer or an Engineer?Sanae Yamashita
 
CSSをさわってみよう
CSSをさわってみようCSSをさわってみよう
CSSをさわってみようSanae Yamashita
 
HTMLをさわってみよう
HTMLをさわってみようHTMLをさわってみよう
HTMLをさわってみようSanae Yamashita
 
gitを使う準備をしよう - 中級編
gitを使う準備をしよう - 中級編gitを使う準備をしよう - 中級編
gitを使う準備をしよう - 中級編Sanae Yamashita
 
gitを使う準備をしよう - 初級編
gitを使う準備をしよう - 初級編gitを使う準備をしよう - 初級編
gitを使う準備をしよう - 初級編Sanae Yamashita
 
企業ロゴに学ぶ 頭を使わないスライド作り 色で悩む時間を減らそう
企業ロゴに学ぶ 頭を使わないスライド作り 色で悩む時間を減らそう企業ロゴに学ぶ 頭を使わないスライド作り 色で悩む時間を減らそう
企業ロゴに学ぶ 頭を使わないスライド作り 色で悩む時間を減らそうSanae Yamashita
 
Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたい
Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたいRubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたい
Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたいSanae Yamashita
 

More from Sanae Yamashita (20)

vivliostyle.orgではじめるCSS組版チュートリアル
vivliostyle.orgではじめるCSS組版チュートリアルvivliostyle.orgではじめるCSS組版チュートリアル
vivliostyle.orgではじめるCSS組版チュートリアル
 
Vivliostyle Theme 開発ガイドラインの公開
Vivliostyle Theme 開発ガイドラインの公開Vivliostyle Theme 開発ガイドラインの公開
Vivliostyle Theme 開発ガイドラインの公開
 
スピーディーな本作りとカスタマイズ可能な本作りのための Vivliostyle Themes プロジェクト #vivliostyle
スピーディーな本作りとカスタマイズ可能な本作りのための Vivliostyle Themes プロジェクト #vivliostyleスピーディーな本作りとカスタマイズ可能な本作りのための Vivliostyle Themes プロジェクト #vivliostyle
スピーディーな本作りとカスタマイズ可能な本作りのための Vivliostyle Themes プロジェクト #vivliostyle
 
CSS組版やってみた! #Vivliostyle
CSS組版やってみた! #VivliostyleCSS組版やってみた! #Vivliostyle
CSS組版やってみた! #Vivliostyle
 
読解・QRコード(かんたんなやつ) #nitaclt
読解・QRコード(かんたんなやつ) #nitaclt読解・QRコード(かんたんなやつ) #nitaclt
読解・QRコード(かんたんなやつ) #nitaclt
 
きみはPNGの仕様書を読んだか?
きみはPNGの仕様書を読んだか?きみはPNGの仕様書を読んだか?
きみはPNGの仕様書を読んだか?
 
UIデザインの心理学
UIデザインの心理学UIデザインの心理学
UIデザインの心理学
 
軍歌でわかるドイツ語(わからない)
軍歌でわかるドイツ語(わからない)軍歌でわかるドイツ語(わからない)
軍歌でわかるドイツ語(わからない)
 
この夏、絶対モテるフォント選びのコツ #nitaclt
この夏、絶対モテるフォント選びのコツ #nitacltこの夏、絶対モテるフォント選びのコツ #nitaclt
この夏、絶対モテるフォント選びのコツ #nitaclt
 
Hello world! にときめかなかった僕が情報系を名乗るまで
Hello world! にときめかなかった僕が情報系を名乗るまでHello world! にときめかなかった僕が情報系を名乗るまで
Hello world! にときめかなかった僕が情報系を名乗るまで
 
おいしい!GitHub ~GitHub Patchwork Tokyo @dots 夏休み版~
おいしい!GitHub ~GitHub Patchwork Tokyo @dots 夏休み版~おいしい!GitHub ~GitHub Patchwork Tokyo @dots 夏休み版~
おいしい!GitHub ~GitHub Patchwork Tokyo @dots 夏休み版~
 
『UIデザインの心理学』周辺視野 - #kosen14s 第1回読書会 Day4 -
『UIデザインの心理学』周辺視野 - #kosen14s 第1回読書会 Day4 -『UIデザインの心理学』周辺視野 - #kosen14s 第1回読書会 Day4 -
『UIデザインの心理学』周辺視野 - #kosen14s 第1回読書会 Day4 -
 
Are you a Designer or an Engineer?
Are you a Designer or an Engineer?Are you a Designer or an Engineer?
Are you a Designer or an Engineer?
 
Me and GitHub
Me and GitHubMe and GitHub
Me and GitHub
 
CSSをさわってみよう
CSSをさわってみようCSSをさわってみよう
CSSをさわってみよう
 
HTMLをさわってみよう
HTMLをさわってみようHTMLをさわってみよう
HTMLをさわってみよう
 
gitを使う準備をしよう - 中級編
gitを使う準備をしよう - 中級編gitを使う準備をしよう - 中級編
gitを使う準備をしよう - 中級編
 
gitを使う準備をしよう - 初級編
gitを使う準備をしよう - 初級編gitを使う準備をしよう - 初級編
gitを使う準備をしよう - 初級編
 
企業ロゴに学ぶ 頭を使わないスライド作り 色で悩む時間を減らそう
企業ロゴに学ぶ 頭を使わないスライド作り 色で悩む時間を減らそう企業ロゴに学ぶ 頭を使わないスライド作り 色で悩む時間を減らそう
企業ロゴに学ぶ 頭を使わないスライド作り 色で悩む時間を減らそう
 
Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたい
Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたいRubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたい
Rubotyに名前をつけて可愛がってかしこく育てて一緒に暮らしたい
 

Recently uploaded

JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaRTTS
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityScyllaDB
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...Product School
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxAbida Shariff
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxDavid Michel
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesBhaskar Mitra
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1DianaGray10
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Tobias Schneck
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...Product School
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Product School
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsPaul Groth
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backElena Simperl
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaCzechDreamin
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomCzechDreamin
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...Elena Simperl
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...CzechDreamin
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCzechDreamin
 

Recently uploaded (20)

JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptxUnpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
Unpacking Value Delivery - Agile Oxford Meetup - May 2024.pptx
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 

Vivliostyle Themes のハンズオン