<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8">

		<title>Drush Make | Drupal Bristol - July 2014</title>

    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">

    <link rel="stylesheet" href="css/reveal.min.css">
    <link rel="stylesheet" href="css/theme/night.css" id="theme">
    <link rel="stylesheet" href="lib/css/zenburn.css">

    <link rel="stylesheet" href="lib/css/pdf.css">

    <script>
      document.write( '<link rel="stylesheet" href="css/print/' + ( window.location.search.match( /print-pdf/gi ) ? 'pdf' : 'paper' ) + '.css" type="text/css" media="print">' );
    </script>

    <!--[if lt IE 9]>
    <script src="lib/js/html5shiv.js"></script>
    <![endif]-->
	</head>
	<body>
		<div class="reveal">
			<div class="slides">

        <section>
          <h1>$ drush make drupalbristol</h1>
          <h3>July 2014</h3>

          <small>By <a href="http://www.oliverdavies.co.uk">Oliver Davies</a> / <a href="http://twitter.com/opdavies">@opdavies</a></small>

          <aside class="notes">
            dsf
          </aside>
        </section>

        <!-- <section>
          <h2></h2>

          <p></p>

          <pre><code data-trim>
          </code></pre>

          <aside class="notes">
          </aside>
        </section> -->

        <section>
          <h2>What is it?</h2>

          <blockquote>"Drush make is an extension to drush that can create a ready-to-use drupal site, pulling sources from various locations. It does this by parsing a flat text file (similar to a drupal `.info` file) and downloading the sources it describes. In practical terms, this means that it is possible to distribute a complicated Drupal distribution as a single text file."</blockquote>

          <p><small><a href="http://cgit.drupalcode.org/drush_make/plain/README.txt?id=refs/heads/6.x-2.x">http://cgit.drupalcode.org/drush_make/plain/README.txt?id=refs/heads/6.x-2.x</a></small></p>

          <aside class="notes">
          </aside>
        </section>

        <section>
          <h2>Installation (&lt; 5.x)</h2>

          <pre><code data-trim>
# Download drush_make from D.O.
$ drush dl drush_make

# Move it into a .drush directory within your HOME.
$ mv drush_make ~/.drush

# Clear the Drush cache.
$ drush cc drush
          </code></pre>

          <aside class="notes">
          </aside>
        </section>

        <section>
          <h2>foo.make</h2>

          <pre><code data-trim>
core = 7.x
api = 2

projects[drupal][version] = "7.28"

; Modules

; Themes

; Libraries

; Custom modules and theme
          </code></pre>
        </section>

    <section>
        <!-- Contrib modules -->
        <section>
          <h2>Modules (contrib)</h2>

          <p></p>

          <pre><code data-trim>
projects[admin_menu][version] = "3.0-rc4"

# To place the module within a sub-directory.
projects[admin_menu][subdir] = "contrib"
          </code></pre>

          <aside class="notes">
          </aside>
        </section>

        <!-- Dev releases -->
        <section>
          <h2>Modules (dev releases)</h2>

          <p></p>

          <pre><code data-trim>
projects[devel_themer][download][type] = "git"
projects[devel_themer][download][revision] = "bec0859"
          </code></pre>

          <aside class="notes">
          </aside>
        </section>

        <section>
          <h2>Modules (custom)</h2>

          <p>This module is being downloaded from it's repository on GitHub.</p>

          <pre><code data-trim>
projects[nomensa_amp_base][type] = "module"
projects[nomensa_amp_base][download][type] = "git"
projects[nomensa_amp_base][download][url] = "https://github.com/opdavies/nomensa-amp-drupal-base.git"
projects[nomensa_amp_base][download][branch] = "7.x"
          </code></pre>

          <aside class="notes">
          </aside>
        </section>
    </section>

        <section>
          <h2>Themes</h2>

          <p>Ditto.</p>

          <pre><code data-trim>
projects[zen][version] = "5.4"

# This is optional, it seems to work without it.
projects[zen][type] = "theme"
          </code></pre>

          <aside class="notes">
          </aside>
        </section>

        <section>
          <h2>Libraries</h2>

          <p>You can download external libraries by specifying the "get" download type and the download URL.</p>

          <pre><code data-trim>
libraries[ckeditor][download][type] = "get"
libraries[ckeditor][download][url] = "http://download.cksource.com/CKEditor/CKEditor/CKEditor%204.4.1/ckeditor_4.4.1_standard.zip"
          </code></pre>
        </section>

        <section>
          <h2>make-generate</h2>

          <p>That's great, but I've already got a site built. Then use <b>make-generate</b>.</p>

          <pre><code data-trim>
            $ drush make-generate foo.make
          </code></pre>
        </section>

        <section data-markdown>
          ## Resources

          * http://drush.ws/#make
          * http://drush.ws/#make-generate
          * https://drupal.org/node/1432374
          * https://github.com/opdavies/nomensa-amp-drupal-demo
        </section>

			</div> <!-- /.slides -->
		</div> <!-- /.reveal -->

		<script src="lib/js/head.min.js"></script>
    <script src="js/reveal.min.js"></script>

    <script>
      // Full list of configuration options available here:
      // https://github.com/hakimel/reveal.js#configuration
      Reveal.initialize({
        controls: true,
        progress: true,
        history: true,
        center: true,

        theme: Reveal.getQueryHash().theme, // available themes are in /css/theme
        transition: Reveal.getQueryHash().transition || 'fade', // default/cube/page/concave/zoom/linear/fade/none

        // Parallax scrolling
        // parallaxBackgroundImage: 'https://s3.amazonaws.com/hakim-static/reveal-js/reveal-parallax-1.jpg',
        // parallaxBackgroundSize: '2100px 900px',

        // Optional libraries used to extend on reveal.js
        dependencies: [
          { src: 'lib/js/classList.js', condition: function() { return !document.body.classList; } },
          { src: 'plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
          { src: 'plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
          { src: 'plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } },
          { src: 'plugin/zoom-js/zoom.js', async: true, condition: function() { return !!document.body.classList; } },
          { src: 'plugin/notes/notes.js', async: true, condition: function() { return !!document.body.classList; } }
        ]
      });
    </script>
	</body>
</html>