Slide 1

Slide 1 text

খ͞ͳ໘౗Λղফ͢ΔKTY܈ ʢͦͷϓϥάΠϯԽʹ͍ͭͯʣ 2014/06/18 - Photoshop and me @more_more_for @more_more_for

Slide 2

Slide 2 text

@more_more_for UI Design & Illustration

Slide 3

Slide 3 text

Private Project GHFeed ੜ͖ΖʂϚϯϘ΢ʂ ԯඖͷ஥ؒ͸ΈͳࢮΜͩɺ์ஔܥυοτҭ੒ήʔϜ Feed reader for GitHub. σβΠϯ΍Πϥετ୲౰ͯ͠·͢ɻ

Slide 4

Slide 4 text

ɾখ͞ͳKTYΛॻ͘εεϝ ࠓ೔ͷ಺༰ ɾKTYʹ؆୯ʹ(6*Λ͚ͭΔํ๏

Slide 5

Slide 5 text

ಥવͰ͕͢ɺ 1IPUPTIPQͰ࡞ۀͯ͠Δͱ ࡉ͔͍ૢ࡞ײ͕ؾʹͳΓ·͢ΑͶʁ

Slide 6

Slide 6 text

ͳΜͰ͜Ε͕ग़དྷΔػೳ͕ແ͍Μͩʜ ƅЧƅ Z__ŘŽŘŽ ‣ ςΩετϨΠϠʔͷ໊લ͕ೖྗ಺༰ͱҧ͏ʜ ͜͏͍͏ܦݧ͋Γ·ͤΜ͔ʁ ‣ ͳΜͰ͜ͷύεͷେ͖͞੔਺͡Όͳ͍ͷʜ ‣ ϨΠϠʔ໊ͰϨΠϠʔॱΛฒͼସ͍͑ͨʜ ‣ ը૾ෳ੡ͯ͠࿈൪Λৼͬͨμϛʔը૾࡞Γ͍ͨʜ ‣ *MMVTUSBUPSͱಉ͡Α͏ͳҠಈύωϧཉ͍͠ʜ

Slide 7

Slide 7 text

খ͞ͳKTYΛॻ͚ͩ͘Ͱ ͦͷετϨε͔Β ։์͞Ε·͢

Slide 8

Slide 8 text

1IPUPTIPQ5JOZ1BUDI IUUQTHJUIVCDPNNPSFNPSFGPS1IPUPTIPQ5JOZ1BUDI

Slide 9

Slide 9 text

ApplyTextToLayerName.jsx

Slide 10

Slide 10 text

‣ ςΩετͷϨΠϠʔ໊͕ςΩετͷ಺༰ͱͣΕͯΔʜ

Slide 11

Slide 11 text

%FNP

Slide 12

Slide 12 text

/*    *  ApplyTextToLayerName.jsx    *    *  Copyright  (c)  more_more_for.    *    *  This  software  is  released  under  the  MIT  License.    *  http://opensource.org/licenses/mit-­‐license.php    *    */       preferences.rulerUnits  =  Units.PIXELS;       var  openDoc  =  activeDocument;       main();       function  main()  {          openDoc.suspendHistory('ApplyTextToLayerName','ApplyTextToLayerName(openDoc)');   }           function  ApplyTextToLayerName(doc)  {      var  arr  =  getSelectedLayersIdx();      for(var  i=0;  i

Slide 13

Slide 13 text

࣮࣭ߦ͘Β͍ function  ApplyTextToLayerName(doc)  {      var  arr  =  getSelectedLayersIdx();      for(var  i=0;  i

Slide 14

Slide 14 text

MoveObjects.jsx

Slide 15

Slide 15 text

‣ *MMVTUSBUPSͱಉ͡Α͏ͳҠಈύωϧཉ͍͠ʜ

Slide 16

Slide 16 text

%FNP

Slide 17

Slide 17 text

/*       Move  Objects   web     */       /*    *  auther:  Tsukada  Takumi  (@more_more_for)    *  ver:  1.0.3    */            preferences.rulerUnits  =  Units.PIXELS;       var  d  =  activeDocument;   d.suspendHistory("Move  Objects",  "main()");       function  handle_key  (event)  {      //Check  keyName      //alert(event.keyName);      var  step;      ScriptUI.environment.keyboardState['shiftKey']  ?  step  =  10  :  step  =  1;      if(event.keyName  ==  'LeftBracket'){          this.text  =  Number(this.text)-­‐step;          event.preventDefault();      }      if(event.keyName  ==  'RightBracket'){          this.text  =  Number(this.text)+step;          event.preventDefault();      }   }       function  createDialog()  {          var  wMargin  =  20;      var  hMargin  =  10;      var  wWidth  =  340;      var  wHeight  =  240;      var  characterHeight  =  20;      var  previousObj;      w  =  new  Window("dialog","Move  Objects",[100,100,100+wWidth,100+wHeight]);          var  textObjectX  =  new  Object();      textObjectX.left  =  wMargin;      textObjectX.top  =  hMargin*2;      textObjectX.right  =  wWidth  -­‐  150  -­‐  wMargin;      textObjectX.bottom  =  textObjectX.top  +  characterHeight;      w.labelX  =  w.add("statictext",  textObjectX,  "moveX:");          var  editObjectX  =  new  Object();      editObjectX.left  =  wMargin  +  150;      editObjectX.top  =  hMargin*2;      editObjectX.right  =  wWidth  -­‐  wMargin;      editObjectX.bottom  =  editObjectX.top  +  characterHeight;      w.movingX  =  w.add("edittext",  editObjectX);      previousObj  =  editObjectX;          var  textObjectY  =  new  Object();      textObjectY.left  =  wMargin;      textObjectY.top  =  previousObj.bottom  +  hMargin*2;      textObjectY.right  =  wWidth  -­‐  150  -­‐  wMargin;      textObjectY.bottom  =  textObjectY.top  +  characterHeight;      w.labelY  =  w.add("statictext",  textObjectY,  "moveY:");          var  editObjectY  =  new  Object();      editObjectY.left  =  wMargin  +  150;      editObjectY.top  =  previousObj.bottom  +  hMargin*2;      editObjectY.right  =  wWidth  -­‐  wMargin;      editObjectY.bottom  =  editObjectY.top  +  characterHeight;      w.movingY  =  w.add("edittext",  editObjectY);      previousObj  =  editObjectY;          var  checkboxObj  =  new  Object();      checkboxObj.left  =  wMargin;      checkboxObj.top  =  previousObj.bottom  +  hMargin*2;      checkboxObj.right  =  wWidth  -­‐  wMargin;      checkboxObj.bottom  =  checkboxObj.top  +  characterHeight;      w.duplicate  =  w.add("checkbox",  checkboxObj,  "Duplicate");      previousObj  =  checkboxObj;     !    var  cancelButtonObj  =  new  Object();      cancelButtonObj.left  =  wMargin;      cancelButtonObj.top  =  previousObj.bottom  +  hMargin*2;      cancelButtonObj.right  =  wWidth  -­‐  160  -­‐  wMargin;      cancelButtonObj.bottom  =  cancelButtonObj.top  +  characterHeight*2;      w.cancelButton  =  w.add("button",  cancelButtonObj,  "cancel");          var  okButtonObj  =  new  Object();      okButtonObj.left  =  wMargin  +  160;      okButtonObj.top  =  previousObj.bottom  +  hMargin*2;      okButtonObj.right  =  wWidth  -­‐  wMargin;      okButtonObj.bottom  =  okButtonObj.top  +  characterHeight*2;      w.okButton  =  w.add("button",  okButtonObj,  "OK");      previousObj  =  okButtonObj;          w.movingX.addEventListener  ("keydown",  handle_key  );      w.movingY.addEventListener  ("keydown",    handle_key  );          w.movingX.text  =  0;      w.movingY.text  =  0;      w.movingX.active  =  true;      w.duplicate.value  =  true;      return  w;   }       function  initializeDialog(w)  {      w.okButton.onClick  =  function()  {              var  moveLayer  =  d.activeLayer;                  var  _x  =  w.movingX.text  *  1.0;              var  _y  =  w.movingY.text  *  1.0;                  var  xx;              var  yy;              if(_x  ==  null){                  xx  =  0;              }else  {                  xx  =  _x;              }                  if  (_y  ==  null)  {                  yy  =  0;              }else  {                  yy  =  _y;              }                  var  duplicateOption  =  w.duplicate.value;                  if(duplicateOption)  {                  _moveLayer  =  moveLayer;                  var  duplicateLayer  =  moveLayer.duplicate();                  duplicateLayer.translate(xx,yy);                  }  else  {                  moveLayer.translate(xx,yy);              }                  w.close();      }   }       function  runDialog(w)  {          return  w.show();   };         function  main()  {      var  win  =  createDialog();          initializeDialog(win);          runDialog(win);   }   151 lines

Slide 18

Slide 18 text

͜Ε΋࣮࣭ߦ moveLayer.translate(xx,yy);

Slide 19

Slide 19 text

ཁ͢Δʹɺ

Slide 20

Slide 20 text

ƂŖŘʋ ƅ˲ƅ Ÿ ƅ˲ƅ Ÿ ƅ˲ƅ ůƂŖŘ KTYͷϦϑΝϨϯε͕͔ͳΓΘ͔Γʹ͍͘ͷͰ 1IPUPTIPQͷ"1*Λཧղ͢Δͱ͍͏ ॳظίετ͸͔͔Γ·͕͢ɺ 1IPUPTIPQͷόάΛ౿Έ͑͞͠ͳ͚Ε͹ Ұ౓֮͑ΔͱɺखܰʹετϨεΛղফͰ͖Δʂ

Slide 21

Slide 21 text

ؤுΕ͹৭Μͳ͜ͱ͕ KTYͰࡁΉ ˞΍Γա͗஫ҙ

Slide 22

Slide 22 text

ʮͰ΋KTYͬͯύωϧԽͰ͖ͳ͍͔Β ࢖͍ʹ͍͘৔໘΋͋Δɻ (6*ͷίʔυॻ͘ͷͩΔ͍͠ɻ ෍ڭ͢ΔͳΒ(6*ඞਢͰ͠ΐɻʯ ʅɾТɾʆ

Slide 23

Slide 23 text

࿕ใ

Slide 24

Slide 24 text

)5.-$44Ͱ؆୯ʹύωϧԽ ग़དྷΔΑ͏ʹͳΓ·ͨ͠ ʢݩʑ͸qBTIqFYʣ "EPCF$&1 ʢ"EPCF$PNNPO&YUFOTJCJMJUZ1MBUGPSNʣ ֤ΞϓϦέʔγϣϯ͕$ISPNF&NCFEFE'SBNFXPSLΛ ϑϩϯτͱͯ͠಺ଂ͠ɺ$4*OUFSGBDFΫϥεΛ௨ͯ͡ &YUFOE4DSJQUͷ%0.ʹΞΫηεͰ͖Δ

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

&DMJQTFͰॻ͖ͨ͘ͳ͍

Slide 28

Slide 28 text

https://github.com/Adobe-CEP/CEP-Resources

Slide 29

Slide 29 text

http://davidderaedt.github.io/CC-Extension-Builder-for-Brackets/

Slide 30

Slide 30 text

ૢ࡞ޙ1IPUPTIPQΛ࠶ىಈ͢Δͱ΋͏ύωϧ͕࢖༻Ͱ͖Δ

Slide 31

Slide 31 text

w #SBDLFUTͰ΋ॻ͖ͨ͘ͳ͍ ! w ϓϩδΣΫτͷ࡞੒͕ ΤσΟλʹґଘͯ͠Δͷ࢖͍ʹ͍͘

Slide 32

Slide 32 text

https://github.com/davidderaedt/CC-EXT-SDK ˞લड़ͷ"EPCF$&1ͷϥούʔΈ͍ͨͳײ͡Ͱ͢

Slide 33

Slide 33 text

؆୯ͳϓϥάΠϯ࡞ͬͯΈ·ͨ͠

Slide 34

Slide 34 text

ύωϧԽʹඞཁͳ΋ͷ )5.-ɺ$44ɺ+4 ͜ͷϝΠϯͷ+4͔ΒKTYͷؔ਺Λݺͼग़͢

Slide 35

Slide 35 text

jsx

Slide 36

Slide 36 text

$ Grunt ͦͷޙɺ1IPUPTIPQΛ࠶ىಈ

Slide 37

Slide 37 text

Demo - CreateSelection

Slide 38

Slide 38 text

KTYͷࢿ࢈Λར༻ͯ͠ ؆୯ʹϓϥάΠϯ͕࡞ΕΔʂ

Slide 39

Slide 39 text

ݱࡏ$$ΞϓϦ͸$&1Ͱ͕͢ ࣍ظ$&1Ͱ͸ڧྗͳػೳ͕ʜ /PEFKTBOE/1.TVQQPSU 8FC35$TVQQPSU *OWJTJCMF)5.-FYUFOTJPOT $BMMGSPN&YUFOE4DSJQUJOUP)5.-%0.

Slide 40

Slide 40 text

͓·͚ HSVOUͰΑ͠ͳʹ΍ͬͯ͘ΕΔͻͳܗ࡞ͬͯΈ·ͨ͠ +BEF TUZMVT BVUP3FMPBE BVUP%FQMPZʜ ͍͍ײ͡ʹվมͯ͠࢖͍ͬͯͩ͘͞ ʢ1VMM3FRVFTU౳΋͓଴ͪͯ͠·͢ʣ IUUQTHJUIVCDPNNPSFNPSFGPS1IPUPTIPQ4BNQMF&YU

Slide 41

Slide 41 text

͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ