Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Spectacleについて

Amagi
October 22, 2016

 Spectacleについて

Kyoto.js 11で発表した資料です

Amagi

October 22, 2016
Tweet

More Decks by Amagi

Other Decks in Technology

Transcript

  1. 1. ファイルに書く c o n s t m d s

    = r e q u i r e ( ' r a w ! . / f o o . m d ' ) . s p l i t ( / \ n - - . * \ n / ) ; m d s . m a p ( m d = > < M a r k d o w n s o u r c e = { m d } / > ) ; Markdown ファイルを無理やりつっこむ して '--' で分割 スライドに 書かないでしょ…… 多分
  2. Spectacle のコー ド読んでみる を使って描画してる このへん { m d a s

    t ( ) . u s e ( m d a s t R e a c t , m d a s t C o n f i g ) . p r o c e s s ( c o n t e n t ) }
  3. props.mdastCon g e x p o r t c o

    n s t m d a s t C o n f i g D e f a u l t = { c o m m o n m a r k : t r u e , p a r a g r a p h B l o c k q u o t e s : f a l s e , m d a s t R e a c t C o m p o n e n t s : { / / ( 中略) i m g : I m a g e , / / ( 中略) } } ; は Spectacle の提供する コンポー ネント
  4. StyleableImage できた 気合っぽい g e t S t y l

    e ( ) { c o n s t c o d e s = t h i s . p r o p s . a l t . s p l i t ( / \ s * , \ s * / ) ; c o n s t s t y l e = { p o s i t i o n : ' r e l a t i v e ' , } ; c o d e s . f o r E a c h ( ( c o d e ) = > { i f ( c o d e . m a t c h ( / ^ [ 0 - 9 ] + % $ / ) ) { s t y l e . w i d t h = c o d e ; } i f ( c o d e . m a t c h ( / ^ ( l e f t | r i g h t ) $ / ) ) { s t y l e [ c o d e ] = 0 ; } i f ( c o d e = = = ' c e n t e r ' ) { s t y l e . m a r g i n = ' 0 a u t o ' ; } } ) ; }
  5. のコー ド見る m d a s t R e a

    c t C o m p o n e n t s : { a : L i n k , b l o c k q u o t e : C o m b i n e d B l o c k Q u o t e , c o d e : C o d e P a n e , . . . } を置き換えれば良さそう
  6. できた 今日のスライドでは JavaScript しか書かないので…… c o n s t J

    S C o d e = c l a s s e x t e n d s R e a c t . C o m p o n e n t { r e n d e r ( ) { c o n s t p r o p s = { . . . t h i s . p r o p s , l a n g : ' j s ' } ; r e t u r n ( < C o d e P a n e { . . . p r o p s } > { t h i s . p r o p s . c h i l d r e n } < / C o d e P a n e > ) ; } } ;