MODX Revoã®ã¯ãŒã¯ãããŒã«å¿ èŠãªåºæ¬èŠä»¶ã¯æ¬¡ã®ãšããã§ãã
- ã³ãŒãïŒhtmlãcssãjsãphpïŒãèšè¿°ããå Žæã¯ã©ãã§ãããŒãžã§ã³ç®¡çã
- çŸåšã®éçºãé²è¡äžã®ãµã€ãã®å¥ã®éçºããŒãžã§ã³ãçšæãããã®åŸãæ¬çªç°å¢ã«ãã¹ãŠã®å€æŽãå±éããã§ããã°ãã®ããã»ã¹ãèªååããŠãã ããã
- éçºããã³å±éäžã®æå°éã®ã³ããŒã¢ã³ãããŒã¹ãã
å 容
- ã¯ããã«
- ãµã€ãã®éçºããŒãžã§ã³ãšæ¬çªããŒãžã§ã³
- ããŒãžã§ã³ç®¡ç
- äœæ¥ã¹ããŒã
- å±éãã
- ãããã«
- åç §è³æ
ã¯ããã«
ãã®èšäºãæžããŠããæç¹ã§ãç§ã¯ããã1幎以äžã«ããã£ãŠWebéçºã®çµéšããããŸããã 幞éãªããšã«ããã®åéã§ã®æ ãå§ããã®ã¯MODX Revoã§ãããããã®ãã¬ãŒã ã¯ãŒã¯ã®ãã¹ãŠã®å©ç¹ã«ãããããããæéã®çµéãšãšãã«ãã€ãã¹ã«åºäŒãããã«ãªããŸããã ãããŸã§ã®ãšãããç§ã¯å€§èŠæš¡ã§è€éãªãããžã§ã¯ãã®ããŒã ã§åããããšããªãã人ã ãéåžžã©ã®ããã«äžèšã®å°é£ã«å¯ŸåŠããããç¥ããŸããã ã€ã³ã¿ãŒãããäžã§ç¹å®ã®ãœãªã¥ãŒã·ã§ã³ãèŠã€ããããšãã§ããªãã£ãããããã®èšäºã§çŽ¹ä»ãããã¯ãŒã¯ãããŒã®äœæã«è²¢ç®ããŸããã ããã«äºçŽããŸãããæ ¹æ¬çã«æ°ãããã®ã¯æãã€ããŸããã§ããããã€ã³ã¿ãŒãããã«æ£ãã°ã£ãæ å ±ãéããŠãMODX Revolutionã䜿çšããéã®ã¯ãŒã¯ãããŒã®æŽçæ¹æ³ã«é¢ãã1ã€ã®ã¬ã€ãã«ãŸãšããŸããã
äœãå¿ èŠã§ããã
-git
-npm + gulp
ä»äºã«ã¯ãIDE PHPStormã䜿çšããŸãã
ãµã€ãã®éçºããŒãžã§ã³ãšæ¬çªããŒãžã§ã³
ãµã€ãã®äœæ¥ïŒtestã dev ïŒããã³ãªãªãŒã¹ïŒcombatã prod ïŒããŒãžã§ã³ãæŽçããæ¹æ³ãèãããšãã«æåã«æãæµ®ãã¶ã®ã¯ãåã«2ã€ã®ã³ããŒãäœæããããšã§ãã ãŸãããã¹ããµã€ãã§éçºãããããŒãžã£ãŒãŸãã¯ã¯ã©ã€ã¢ã³ãã®æ¿èªãåŸãŠããã¹ãŠãæŠå Žã«ç§»ããŸãã ã·ã³ãã«ã§æ確ãªã®ã¯ããã®ããã»ã¹ã ããæªå€¢ã«å€ããå¯èœæ§ãããããã§ãã ãã¹ãŠãæåã§è¡ããã転éäžã«ãšã©ãŒãçºçããå¯èœæ§ãããªãé«ããããééã£ãããšã確èªããå¿ èŠããããŸãããã®åŸãããã«ãµã€ãããã¹ããµã€ããšå®å šã«äžèŽãããä»ã®äœããç·šéããå¿ èŠããããªã©ã§ãã ãªã© ããããå¿ èŠãããŸããã
é·ãéè°è«ããã€ããã¯ãããŸããããMODX Revoã³ã³ããã¹ãã¡ã«ããºã ã䜿çšãããµã€ãã®ã³ããŒã1ã€äœ¿çšããããšãææ¡ãããšããã«èšããŸãã æšæºã®Webã³ã³ããã¹ãã«ã¯ããµã€ãã®ãªãªãŒã¹ããŒãžã§ã³ãå«ãŸããŸãã ããã«ãå¥ã®éçºã³ã³ããã¹ããäœæãããµããã¡ã€ã³ã§äœ¿çšããŸãã å¿ èŠãªã®ã¯ïŒ
-Webã®ã³ã³ããã¹ãã§åäœããexample.comãã¡ã€ã³
-devã®ã³ã³ããã¹ãã§åäœãããµããã¡ã€ã³dev.example.com
ãããã€ãããšãã«ã devã®ã³ã³ããã¹ãã§è¡ã£ãå€æŽãWebäžã§äœããã®åœ¢ã§ããŒãžãããå¿ èŠããããŸã ã
éçºã³ã³ããã¹ããäœæãã
äœæ¥ã®ãã®éšåã¯ããšã³ãžã³ãšå¿ èŠãªã³ã³ããŒãã³ããã€ã³ã¹ããŒã«ãããã¡ã€ã³åãèšå®ããç¬éããå§ãŸããŸãã example.comãšdev.example.comã®äž¡æ¹ã®ã¢ãã¬ã¹ã«ã¢ã¯ã»ã¹ãããšãåãMODXã¹ã¿ãŒãããŒãžãéããŸãïŒäž¡æ¹ã®ãã¡ã€ã³ã®ã«ãŒããã£ã¬ã¯ããªãå ±éã§ãïŒã
次ã«ã管çããã«âã·ã¹ãã èšå®âã³ã³ããã¹ãã«ç§»åããŠãæ°ããã³ã³ããã¹ããäœæããŸãã ããŒã¯devãæå®ãã奜ããªååãä»ããŠãç§ã¯DevelopmentãšåŒã³ãŸããã å·ŠåŽã®ã³ã³ããã¹ãã¡ãã¥ãŒã«æ°ããã³ã³ããã¹ãã衚瀺ãããŸãã ãŸãããã®ããã®ãªãœãŒã¹ãäœæããã³ã³ããã¹ãèšå®ã«ç§»åããŠïŒã³ã³ããã¹ããå³ã¯ãªãã¯âç·šéâã³ã³ããã¹ãèšå®ïŒãèšå®ãèšå®ããŸã
-site_start
-error_page
- ç¡èš±å¯ããŒãž ã
äœæããããªãœãŒã¹ã®IDãæå®ããŸãã ããã¯ã devã³ã³ããã¹ãã§äœæ¥ããŠãããšãã«ããŒãžãèŠã€ãããªãå Žåã«ã·ã¹ãã ããšã©ãŒã§ã¯ã©ãã·ã¥ããªãããã«ããããã«å¿ èŠã§ãã
çŽ devïŒéçºïŒã³ã³ããã¹ããäœæããæšæºã®Webãµã€ãã³ã³ããã¹ããProductionã«å€æŽããŸãããæšæºã®ã³ã³ããã¹ãããŒã¯åããŸãŸã§ã-webã
ãã©ã«ããŒcore / elements / common / plugins / ïŒå¿ èŠãªãã©ã«ããŒãäœæïŒã§ã次ã®å 容ã®switchContext.phpãã¡ã€ã«ãäœæããŸã
<?php /** * @var modX $modx */ /* don't execute if in the Manager */ if ($modx->context->get('key') == 'mgr') { return; } switch ($_SERVER['HTTP_HOST']) { case 'dev.example.com': $modx->switchContext('dev'); break; case 'example.com': break; default: $modx->log(modX::LOG_LEVEL_ERROR, 'Check this plugin! May be your headache coming from here.'); break; } return;
ãã©ã°ã€ã³ã®æ©èœã«ã€ããŠèª¬æããŸãã 管çããã«ãããµã€ããæäœããå Žåãã€ãŸã mgrã®ã³ã³ããã¹ãã§ã¯ãäœãããŸããã ãã¡ã€ã³dev.example.comã®ãµã€ãã®ããã³ãã§äœæ¥ããå Žåãã³ã³ããã¹ããdevã«åãæ¿ããŸãã ã¡ã€ã³ãã¡ã€ã³ã®ããã³ããšã³ãã§äœæ¥ããå Žåãäœãè¡ããŸããã ãã ããã¹ã¯ãªããã®å®è¡ãäœããã®çç±ã§defaultã«ãªã£ãå Žåããã°ã«ãšã©ãŒã衚瀺ãããŸãã ããã¯ãããšãã°ããµã€ããæ°ãããã¡ã€ã³åã«ç§»ç®¡ãããšãã«çºçããå¯èœæ§ããããŸãããã®ã¡ãã»ãŒãžã¯ã移管åŸã«äœãæ©èœããªãçç±ãç解ããéçºè ã®äœæ¥ã楜ã«ããããã®ãã®ã§ãã ããã§èª¬æããæäœã¹ããŒã ããªã¢ãŒããµãŒããŒã§ç¢ºèªãããšãããã®ãã©ã°ã€ã³ã®ãã¡ã€ã³åãä¿®æ£ããã®ãå¿ããŠããã®ã§ããã°ãééããŠééã£ãŠããããšãããã«ããããŸããã ããäžåºŠã圌ã¯èªåã«èšããŸããããããããšããã
ãã©ã°ã€ã³ãã¡ã€ã«ã®æåŸã«returnã¹ããŒãã¡ã³ããé 眮ããå¿ èŠãããããšã«æ³šæããŠãã ããããã©ã°ã€ã³ãäœãè¿ããªãå Žåãããã¯ãã©ã°ã€ã³ãã¡ã€ã«ãæ¥ç¶ãããšãã«äœ¿çšããincludeã¹ããŒãã¡ã³ãã®æ»ãå€ãäžæžãããããã«å¿ èŠã§ãã
管çããã«ãããäœæããããã¡ã€ã«ããã«ããæ°ãããã©ã°ã€ã³ãäœæããŸã
<?php $filepath = 'plugins/switchContext.php'; $context = 'common'; $plugin = $modx->getOption('pdotools_elements_path') . "$context/$filepath"; if (file_exists($plugin)) { return include $plugin; }
OnHandleRequestã€ãã³ãã§ãã©ã°ã€ã³ã®èµ·åãåæ¢ããŸãã
ããã§2ã€ã®ã³ã³ããã¹ããã§ããŸãããããããä»åŸã®éçºã§äœ¿çšããæ¹æ³ã以äžã«ç€ºããŸãã
ããŒãžã§ã³ç®¡ç
GitHubãªã©ã«ãããžã§ã¯ããªããžããªãäœæããŸãããäœæ¥ãã£ã¬ã¯ããªã«ã¯ããšã³ãžã³ã«é¢é£ããªããã¡ã€ã«ãšãã©ã«ããŒã®ã¿ããããŸãã ãã®ãããªãã®
assets/ |-- dev/ |-- css/ |-- js/ |-- img/ \-- scss/ |-- web/ |-- css/ |-- js/ \-- img/ core/ \-- elements/ |-- common/ |-- plugins/ |-- dev/ |-- chunks/ |-- plugins/ |-- snippets/ \-- templates/ |-- web/ |-- chunks/ |-- plugins/ |-- snippets/ \-- templates/ \-- plugins/ .gitignore gulpfile.js package.json
åæã«ãå±éã«å€±æããåŸã«ããŒã«ããã¯ã§ããããã«ãã¢ã»ã³ããªïŒ asset / web /ããã³core / elements / web / ïŒããçæããããã¡ã€ã«ãå¶åŸ¡ããŸãã 以äžããã®ãã©ã«ãæ§é ã«ã€ããŠèª¬æããŸãã
éçºè ã¯ãéåžžã©ãããããŒã«ã«ãªããžããªã§äœæ¥ããã³ãããããªã¢ãŒããªããžããªã«ããã·ã¥ããŸãã ããã«ããªããžããªã¯ãµã€ãã®ã«ãŒãã«ååšããå¿ èŠããããŸãã
ãµã³ãã«.gitignoreãã¡ã€ã«
# IntelliJ project files .idea/ *.iml out gen # ignore MODX files /assets/* /connectors/* /core/* /manager/* /setup/* /config.core.php /index.php /.htaccess # ignore node modules /node_modules/ # do not ignore !/assets/dev/ !/assets/web/ !/core/elements/
äœæ¥ã¹ããŒã
äžèšã®éçºããŒãžã§ã³ãšè£œåããŒãžã§ã³ã«ã€ããŠè©±ãããšãããµã€ãã®ã³ããŒã1ã€äœ¿çšããããšãææ¡ããŸããã ããã¯ãããŒã«ã«ã³ããŒããªãããšãæå³ããŸãïŒãããžã§ã¯ãã®ããŒã«ã«gitãªããžããªãšæ··åããªãã§ãã ããïŒã ããŒã«ã«ãã·ã³äžã®ãã¡ã€ã«ãç·šéããŸããããã®å ŽåãããŒã«ã«äœæ¥ãã£ã¬ã¯ããªã«ã¯ããšã³ãžã³ã«é¢é£ããªããã¡ã€ã«ãšãã©ã«ããŒã®ã¿ããããŸãã æ¢åã®ãã¡ã€ã«ã«å€æŽãå ããŠããããããã®ãã¡ã€ã«ããµã€ãã«ã¢ããããŒãããŸãã ã¿ã¹ã¯ãå®äºããåŸãããŒã«ã«ãªããžããªã§ã³ãããããŸãããã®åŸãå¿ èŠã«å¿ããŠãå€æŽãGitHubã«ããã·ã¥ãããããããžã§ã¯ããããã«ä¿æããŸãã
次ã«ãã·ã¹ãã ã®äž»èŠãªèŠçŽ ïŒãã³ãã¬ãŒãããã£ã³ã¯ãã¹ããããããã©ã°ã€ã³ïŒã®ããŒãžã§ã³ç®¡çãã©ã®ããã«èª¿æŽããããææ¡ããIDE PHPStormãä»ããŠMODX管çããã«ãšé£æºããŠã¯ãŒã¯ãããŒã説æããŸãã äŒèª¬çãªpdoToolsãšããã«äœ¿çšãããFenomãã³ãã¬ãŒããšã³ãžã³ã¯ãããã«åœ¹ç«ã¡ãŸãã
ãåãã®ããã«ãpdoToolsããŒãµãŒã䜿çšãããšããã£ã³ã¯ã®æ¬äœã§å€éšãã¡ã€ã«ãçŽæ¥æ¥ç¶ã§ããŸãããã®æ©èœã¯ãããŒãžã§ã³ç®¡çããã€ã¹å šäœã®åºç€ã§ãã
pdotools_fenom_parserèšå®ïŒããŒãžã§Fenomã䜿çšïŒãYesã«èšå®ããå¿ èŠããããŸã
pdoToolsã³ã³ããŒãã³ãã®ã·ã¹ãã èšå®ã¯pdotools_elements_pathã§ãããã©ã«ãå€ã¯{core_path} elements /ã§ãã ããã§ãããã«å¿ããŠã ã³ã¢/ãšã³ãžã³ãã©ã«ããŒã«èŠçŽ /ãã©ã«ããŒïŒãŸã äœæãããŠããªãå ŽåïŒãäœæããå éšã«æ¬¡ã®ãã©ã«ããŒæ§é ãäœæããŸãã
elements/ |-- common/ |-- plugins/ |-- dev/ |-- chunks/ |-- plugins/ |-- snippets/ \-- templates/ |-- web/ |-- chunks/ |-- plugins/ |-- snippets/ \-- templates/ \-- plugins/
å®éã«ã¯ãéçºã¯dev /ãã©ã«ããŒã§å®è¡ãããããŒã å šäœã«ãšã£ãŠéèŠãªã«ãŒã«ãæå¹ã«ãªã£ãŠããŸãïŒã誰ãWeb /ãã©ã«ããŒãå€æŽããªãã§ãã ãããã ãããã€ãããšãã dev /ãã©ã«ããŒã®ã³ã³ãã³ãå šäœãGulpã䜿çšããŠweb /ã«ã³ããŒãããŸãã common /ãã©ã«ããŒã«ã¯ãäžèšã®çŸåšã®ã³ã³ããã¹ããåãæ¿ãããã©ã°ã€ã³ãªã©ãäž¡æ¹ã®ã³ã³ããã¹ãã«å ±éã®ãã¡ã€ã«ãå«ãŸããŠããŸãã
ãã®ãã©ã«ããŒæ§é ã«ãããFenomãã³ãã¬ãŒããšã³ãžã³ã䜿çšããŠå€éšãã¡ã€ã«ãæ¥ç¶ãããšãã«ããã¬ãŒã¹ãã«ããŒ[[* context_key]]ã®å€ã䜿çšã§ããŸãã
{set $ctx = $_modx->resource.context_key} {include "file:$ctx/chunks/common/head.tpl"}
1è¡ç®ã§ã¯ãçŸåšã®ã³ã³ããã¹ãããŒïŒ devãŸãã¯web ïŒã$ ctxå€æ°ã«è¿œå ãã2è¡ç®ã§ã¯ããã®å€ããã¡ã€ã«ãã¹ã§äœ¿çšããŠããŸãã ããã«ããã1ã€ã®ãšã³ãžã³ã§2ã€ã®ããŒãžã§ã³ã®ãµã€ãã䜿çšã§ããŸãã
çŽ ãã³ãã¬ãŒããã¡ã€ã«ã®ãã£ã³ã¯æ¥ç¶
ã·ã¹ãã ã®äž»èŠãªèŠçŽ ãå«ããã¡ã€ã«ã«å ããŠãã¬ã€ã¢ãŠããã¡ã€ã«ãšjsãã¡ã€ã«ã®ããŒãžã§ã³ç®¡çãå¶åŸ¡ããå¿ èŠããããŸãã éåžžããããã®ãã¡ã€ã«ã¯æ¬¡ã®ããã«asset /ãã©ã«ããŒã«ãããŸãã
assets/ |-- css/ |-- js/ \-- img/
å€ãã¹ããŒã ã«ãããšã次ã®æ§é ãäœæããããšãææ¡ããŸã
assets/ |-- dev/ |-- css/ |-- js/ |-- img/ \-- scss/ |-- web/ |-- css/ |-- js/ \-- img/
ã¬ã€ã¢ãŠãããã³ã¹ã¯ãªãããã¡ã€ã«ã䜿çšããå Žåã次ã®ç¹ãèæ ®ããå¿ èŠããããŸãã ããšãã°ã dev / js /ãã©ã«ããŒã«ã¯è€æ°ã®.jsãã¡ã€ã«ïŒããšãã°ã calendar.module.jsããã³search-form.module.js ïŒããããŸããã å®çšŒåç°å¢ã«ãããã€ããå Žåããããã®ãã¡ã€ã«ã1ã€ã«ããŒãžããŠçž®å°ããå¿ èŠããããŸãïŒããšãã°ã main .bundle.min.js ïŒããã£ã³ã¯ã«å¿ èŠãªãªã³ã¯[[* context_key]]ãååŸããŠå ¥åããããšã¯ã§ããŸããããã®ãããªæäœãè¡ãããã®ãããªæ§é ãå±éããå¿ èŠããããŸã
[[*context_key:is=`dev`:then=` <script src="[[++assets_url]][[*context_key]]/js/calendar.module.js"></script> <script src="[[++assets_url]][[*context_key]]/js/search-form.module.js"></script> <!-- --> `]] [[*context_key:is=`web`:then=` <script src="[[++assets_url]][[*context_key]]/js/main.bundle.min.js"></script> `]]
ãªãœãŒã¹ããã³ãã¬ãŒãã«é¢é£ä»ãã
ãã©ã«ããŒcore / elements / dev / templates /ã«ãã³ãã¬ãŒããäœæããFenomãã³ãã¬ãŒãæ§æã䜿çšããŠãã©ã«ããŒcore / elements / dev / chunksãããã£ã³ã¯ãæ¥ç¶ããŸãã ãã³ãã¬ãŒããã¡ã€ã«ãäœæãããšåæã«ã管çããã«ã§ããã«å¯Ÿå¿ãããã³ãã¬ãŒããäœæããå¿ èŠããããŸãã ãã³ãã¬ãŒãã䜿çšãããã³ã³ããã¹ãã«äŸåããããããã¡ã€ã«ãžã®ç¹å®ã®ãã¹ãæå®ã§ããªããããéçãã³ãã¬ãŒãã®ã¿ãäœæããŸããã 代ããã«ããã³ãã¬ãŒãã®æ¬æã«ã1è¡ãèšè¿°ããŸã
{include 'file:[[*context_key]]/templates/base.tpl'}
ãããã£ãŠããã®ãã³ãã¬ãŒãã¯ãããŸããŸãªã³ã³ããã¹ãã®ãªãœãŒã¹ã®äžçš®ã®ãã³ãã¬ãŒããã¡ã€ã«ã¹ã€ãããšããŠæ©èœããŸãã
çŽ ãã³ãã¬ãŒããã¡ã€ã«æ¥ç¶
ãã©ã°ã€ã³ãäœæãã
ãã®éçºã¢ãããŒãã§ã¯ãã·ã¹ãã ãžã®æ°ãããã©ã°ã€ã³ã®å°å ¥ãåå¥ã«èŠå®ããå¿ èŠããããŸãã
ãã³ãã¬ãŒãã®å Žåãšåæ§ã«ããã©ã«ããŒcore / elements / dev / plugins /ã«ãã©ã°ã€ã³ãäœæããããã«ãã©ã°ã€ã³ã®ããžãã¯ãèšè¿°ããŸãã 次ã«ã管çããã«ã«ç§»åãã察å¿ãããã©ã°ã€ã³ãäœæããŸãïŒéçã§ã¯ãããŸããïŒïŒã次ã®ããã«includeãä»ããŠãã©ã°ã€ã³ãã¡ã€ã«ãæ¥ç¶ããŸã
<?php $filepath = 'plugins/somePlugin.php'; $context = $modx->context->get('key'); $plugin = $modx->getOption('pdotools_elements_path') . "$context/$filepath"; if (file_exists($plugin)) { return include $plugin; }
ãã¡ããã管çããã«ã§ãã©ã°ã€ã³ããã³ã°ããã€ãã³ããèšå®ããããšãå¿ããªãã§ãã ããã äž¡æ¹ã®ã³ã³ããã¹ãã«å ±éã®ãã©ã°ã€ã³ãå¿ èŠãªå Žåã¯ãswitchContextãã©ã°ã€ã³ã§è¡ãããããã«ãå€ãcommonããã³ã³ããã¹ãå€æ°ã«è¿œå ããŸãã
å±éãã
ã ãããç§ãã¡ã¯æãéèŠãªç¬éã«æ¥ãŸãã å®çšŒåçšã®ãµã€ãã®ãã¹ãããŒãžã§ã³ãå±éããŠããŸãã ãŸãããµãŒããŒäžã®ãªããžããªã§ããã€ãã®ã¢ã¯ã·ã§ã³ãå®è¡ããå¿ èŠããããŸããã€ãŸããSSHããŒãäœæããç»é²ããŠãGitHubã®ãªããžããªèšå®ã«ç»é²ããŸãã ããã§ã¯ããã®ããã»ã¹ã«ã€ããŠã¯èª¬æããŸããã 以äžã«ããŒãçæããã³ç»é²ããããã®ãœãŒã¹ãžã®ãªã³ã¯ãæ®ããŸãã
ãã®ãããéœåžã¯ç ãã«èœã¡ãéçºè ã¯äœæ¥ãåæ¢ãããã¹ãŠã®ãã¡ã€ã«ãã³ããããããŠãªã¢ãŒããªããžããªã«ã¢ããããŒããããŸãã ãã£ã ãªãããç®ãèŠãŸããšã圌ã®ä»äºã¯ããªãªãŒã¹ã«å¯ŸããŠè¡ããããã¹ãŠã®äœæ¥ãå¯èœãªéãè¿ éã«å±éããããšã§ãã ãã®æé ãææ¡ããŸãã
- ããŒã«ã«ãã·ã³ã§ããã¡ã€ã«ããªã¢ãŒããªããžããªãšåæããŠãããŒã«ã«ãªããžããªå ã®ãã¹ãŠã®ãã¡ã€ã«ãææ°ã§ããããšã確èªããå¿ èŠããããŸãã
- ããšãã°ããv1.0.666-preããªã©ã®ã©ãã«ãäœæããv1.0.666ã®ãã«ãã«å
è¡ããã³ããããããŒã¯ããŠãå±éã倱æããå Žåã«è¿
éãã€äŸ¿å©ãªããŒã«ããã¯ãè¡ããŸãã
$ git tag v1.0.666-pre
- Gulpã䜿çšããŠããããžã§ã¯ãã®æ°ããããŒãžã§ã³ãåéããŠããŸãã
$ gulp modx:build
gulpãã¡ã€ã«ã®äŸã瀺ããŸãã ããã§ã¯ããã¡ã€ã«ãcore / elements / devããcore / elements / web /ã«ã³ããŒããããã®ã¿ã¹ã¯ã1ã€ã ã説æããŸãããæ®ãã®ã¿ã¹ã¯ã¯ãééããªãèªåã§æžãããšãã§ããŸãã
'use strict'; var gulp = require('gulp'); var paths = { dist: { // output js: 'assets/web/js/', css: 'assets/web/css/', img: 'assets/web/img/', fonts: 'assets/web/fonts/', modx: 'core/elements/web/' }, src: { // sources js: 'assets/dev/js/**/*.js', style: 'assets/dev/sass/style.scss', img: 'assets/dev/img/**/*.*', fonts: 'assets/dev/fonts/**/*.*', modx: 'core/elements/dev/**/*.*' }, watch: { // files watch to js: 'assets/dev/js/**/*.js', style: 'assets/dev/sass/**/*.scss', img: 'assets/dev/img/**/*.*', fonts: 'assets/dev/fonts/**/*.*', modx: 'core/elements/dev/**/*.*' } }; gulp.task('modx:build', function () { return gulp.src(paths.src.modx) .pipe(gulp.dest(paths.dist.modx)) });
- ã¢ã»ã³ããªã®çµæã / asset / web /ããã³/ core / elements / web /ãã©ã«ããŒã§æ°ãããã¡ã€ã«ãè¿œå ãããããå€ããã¡ã€ã«ãå€æŽãããŸãã ã³ãããããã©ãã«ãå²ãåœãŠã -tagsãã©ã°ã§ããã·ã¥ããŠãäœæãããã©ãã«ããªã¢ãŒããªããžããªã«éä¿¡ããŸãã
$ git add . $ git commit -m "Build v1.0.666" $ git tag v1.0.666 $ git push --tags
- SSHãä»ããŠãµãŒããŒã«æ¥ç¶ãããµã€ãã®ã«ãŒããã£ã¬ã¯ããªã«ç§»åããŠããªã¢ãŒããªããžããªããããŒã¿ããã«ã¢ãããã ããŒããªã»ãããå®è¡ããŠããã¹ãŠã®ãµã€ããã¡ã€ã«ããªããžããªã«æ ŒçŽãããŠãã圢åŒã«æ»ããŸãã
$ git fetch --all $ git reset --hard origin/master
- çç£ã§ã®çµæãèŠãŸãã éçºãšããã°ã©ãã³ã°ã®äžçãã©ã®ããã«æ©èœããããæ£ããç解ããã°ã10件ã®ãã¡çŽ10件ã§ãäœãããããããªããŸãã ãããã£ãŠãã³ã³ãœãŒã«ã«æ»ããã³ãã³ããå®è¡ããŸã
$ git checkout v1.0.666-pre
ã€ãŸã å®åãã¡ã€ã«ããã«ãåã®ç¶æ ã«è»¢éããäœãåé¡ãªã®ããç解ãå§ããŸãã
çŽ ã³ãããããªãŒã®äŸã
äžèšã§ã¯ããã³ãã¬ãŒãããã£ã³ã¯ãã¹ãããããããã³ã¬ã€ã¢ãŠããã¡ã€ã«ã®å±éã«ã€ããŠèª¬æããŸãããããªãœãŒã¹ã«ã€ããŠã¯ã©ãã§ããïŒ
ãŸãããªãœãŒã¹ã«ã€ããŠã¯ã©ãã§ããïŒ
ãã®åé¡ãèæ ®ããŠãã ããã ãã®ãµã€ãã«ã¯ãã¥ãŒã¹ã»ã¯ã·ã§ã³ãããã ãããŠåºçç©ã®æ°ãéåžžã«å€ããªãããµã€ãã®ãã¥ãŒã¹ã¢ãŒã«ã€ãã®æ°ããã»ã¯ã·ã§ã³ãäœæããããšã決å®ãããŸããã
éçºã³ã³ããã¹ãã§ã¯ãé©åãªã³ã³ãããäœæããã¢ãŒã«ã€ãããããã¥ãŒã¹ã®ã€ã³ã¹ã¿ã³ã¹ãããã€ãè¿œå ãããã³ãã¬ãŒããå¿ èŠãªå Žåã¯ãã£ã³ã¯ãäœæããŸãã ãã®çµæã dev.example.comãã¡ã€ã³ã«æ°ããã»ã¯ã·ã§ã³ã衚瀺ãããŸãã 顧客ã«ããæ¿èªåŸãäžèšã®å±éãè¡ããŸããããã¡ããããã¹ãŠã®ãã¡ã€ã«ãå¿ èŠãªåœ¢åŒã«ãªããŸãããæ¬çªç°å¢ã®æ°ããã»ã¯ã·ã§ã³ã¯è¡šç€ºãããŸããã ãã¡ãããããã¯ãäœæãããã»ã¯ã·ã§ã³ïŒäœæããããªãœãŒã¹ã®å šäœãæå³ããïŒãdevã®ã³ã³ããã¹ãå ã«ããã Webã®ã³ã³ããã¹ãã§ã¯äœ¿çšã§ããªãããã«çºçããŸãã
-ãããŠäœããã¹ããïŒ
-ã³ããŒããŒã¹ããåå¿ãæ²ããããªã
ãããã転éã äœæããã»ã¯ã·ã§ã³ãWebã³ã³ããã¹ãã«è»¢éããŠããdevã§ãã®ã³ããŒãåäœæããã ãã§ããµã€ãã®devããŒãžã§ã³ã®æ§é ãå®çšŒåã«å¯Ÿå¿ããŸãã
ã¯ããã³ããŒããŒã¹ããå®å šã«åãé€ãããšã¯ã§ããŸããã§ããã
ãããã«
ãããã£ãŠããŸãæåã«èªåã«åã£ãã¯ãŒã¯ãããŒãæŽçããããšãã§ããŸããã å®éã®äœæ¥ã§ã¯ããã®ã¹ããŒã ã¯ãŸã é©çšãããŠããªããããèœãšãç©Žã¯ãŸã çºèŠãããŠããŸããã èªè ã®ããå°éçãªèŠãç®ã«ã¯é倧ãªæ¬ é¥ãèŠããããããããªãã®ã§ãã³ã¡ã³ãã§æžããŠãã ããã ã¡ãªã¿ã«ãããã¯ç§ã®æåã®èšäºã§ãããèªåã®èããã©ã®ããã«ã¢ã¯ã»ã¹ã§ããæ確ã«è¡šçŸã§ããããç¥ããããšæããŸãã建èšçãªæ¹å€ã«æè¬ããŸãã
èšäºã®å·çäžã«äœæãããéçºãã³ãã¬ãŒãã¯ãGithub https://github.com/vanyaraspopov/start-code-modxã§å ¥æã§ããŸã ã
åç §è³æ
pdoToolsã ããŒãµãŒ
pdoToolsã ãã¡ã€ã«èŠçŽ
ãã§ãã æ§æ
URLã«åºââã¥ããŠã³ã³ããã¹ããåãæ¿ãã
ã³ã³ããã¹ã| MODXã¬ããªã¥ãŒã·ã§ã³
1ã€ã®ã²ãŒããŠã§ã€ãã©ã°ã€ã³ã䜿çšããŠè€æ°ã®ãã¡ã€ã³ã管çãã
IDE PHPStormãæ§æãã
çŽ æµãªãã«ãããã³ããšã³ããããžã§ã¯ã
8ã€ã®äºèŒªMODX Revolutionã®ãã³ã
æ°ããSSHããŒãçæããŠssh-agentã«è¿œå ãã
Github vanyaraspopov / start-code-modx