<!DOCTYPE html>
<html lang="en-US">

<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <link rel="stylesheet" href="/assets/css/custom.css">
    <link rel="stylesheet" href="/assets/css/main.css">
    <link rel="stylesheet" href="/assets/css/font-awesome.min.css">

    <link rel="shortcut icon" href="/favicon.ico?1">
    <!-- Begin Jekyll SEO tag v2.8.0 -->
<title>Themes | Nemo</title>
<meta name="generator" content="Jekyll v3.9.3" />
<meta property="og:title" content="Themes" />
<meta property="og:locale" content="en_US" />
<meta name="description" content="By default, this website uses paper theme, but you can change it to another bootwatch theme by setting bootwatch variable in _config.yml file. (Don’t forget to restart Jekyll if you are running locally because the configuration is not re-read upon change.)" />
<meta property="og:description" content="By default, this website uses paper theme, but you can change it to another bootwatch theme by setting bootwatch variable in _config.yml file. (Don’t forget to restart Jekyll if you are running locally because the configuration is not re-read upon change.)" />
<link rel="canonical" href="http://nemo.apache.org//docs/themes/" />
<meta property="og:url" content="http://nemo.apache.org//docs/themes/" />
<meta property="og:site_name" content="Nemo" />
<meta property="og:type" content="article" />
<meta property="article:published_time" content="2023-05-11T14:14:28+09:00" />
<meta name="twitter:card" content="summary" />
<meta property="twitter:title" content="Themes" />
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"WebPage","dateModified":"2023-05-11T14:14:28+09:00","datePublished":"2023-05-11T14:14:28+09:00","description":"By default, this website uses paper theme, but you can change it to another bootwatch theme by setting bootwatch variable in _config.yml file. (Don’t forget to restart Jekyll if you are running locally because the configuration is not re-read upon change.)","headline":"Themes","url":"http://nemo.apache.org//docs/themes/"}</script>
<!-- End Jekyll SEO tag -->


    <link rel="canonical" href="http://nemo.apache.org//docs/themes/">
    <link rel="alternate" type="application/rss+xml" title="Nemo" href="http://nemo.apache.org//feed.xml" />
</head>


<body>

    <nav class="navbar navbar-default navbar-fixed-top">
    <div class="container navbar-container">
        <div class="navbar-header">
            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
            <a class="navbar-brand" href="/">
                <span><img src="/assets/img/nemo-logo.png" alt="Logo"></span>
            </a>
        </div>
        <div id="navbar" class="collapse navbar-collapse">
            <ul class="nav navbar-nav">
                <li  class="active" ><a href="/docs/home/">Docs</a></li>
                <li ><a href="/apidocs">APIs</a></li>
                <li ><a href="/pages/downloads">Downloads</a></li>
                <li ><a href="/pages/talks">Talks</a></li>
                <li ><a href="/pages/team">Team</a></li>
                <li ><a href="/pages/license">License</a></li>
                <li ><a href="/blog/2022/09/10/release-note-0.4/">Blog</a></li>
                <li class="dropdown">
                  <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">ASF<span class="caret"></span></a>
                  <ul class="dropdown-menu">
                    <li><a href="http://www.apache.org/">Apache Software Foundation</a></li>
                    <li><a href="https://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li>
                    <li><a href="https://www.apache.org/licenses/">License</a></li>
                    <li><a href="https://www.apache.org/security/">Security</a></li>
                    <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy</a></li>
                    <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a></li>
                    <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
                  </ul>
                </li>
            </ul>
            <div class="navbar-right">
                <form class="navbar-form navbar-left">
                    <div class="form-group has-feedback">
                        <input id="search-box" type="search" class="form-control" placeholder="Search...">
                        <i class="fa fa-search form-control-feedback"></i>
                    </div>
                </form>
                <ul class="nav navbar-nav">
                    <li><a href="https://github.com/apache/incubator-nemo"><i class="fa fa-github" aria-hidden="true"></i></a></li>
                </ul>
            </div>
        </div>
    </div>
</nav>


    <div class="page-content">
        <div class="wrapper">
            <div class="container">
    <div class="row">
        <div class="col-md-4">
          <div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
  
    <div class="panel panel-default">
      <div class="panel-heading">
        <h4 class="panel-title">
          <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse-1" aria-expanded="false" aria-controls="collapse-1">
            Getting Started
          </a>
        </h4>
      </div>
      
      
      <div class="panel-collapse collapse" id="collapse-1" role="tabpanel" aria-label="Side Navigation">
        <div class="list-group">
          
            
            
            <a class="list-group-item " href="/docs/home/">Overview</a>
          
            
            
            <a class="list-group-item " href="/docs/getting_started/">Getting Started</a>
          
        </div>
      </div>
    </div>
  
    <div class="panel panel-default">
      <div class="panel-heading">
        <h4 class="panel-title">
          <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse-2" aria-expanded="false" aria-controls="collapse-2">
            Optimizations
          </a>
        </h4>
      </div>
      
      
      <div class="panel-collapse collapse" id="collapse-2" role="tabpanel" aria-label="Side Navigation">
        <div class="list-group">
          
            
            
            <a class="list-group-item " href="/docs/ir/">Nemo Intermediate Representation (IR)</a>
          
            
            
            <a class="list-group-item " href="/docs/passes_and_policies/">Passes and Policies</a>
          
        </div>
      </div>
    </div>
  
    <div class="panel panel-default">
      <div class="panel-heading">
        <h4 class="panel-title">
          <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse-3" aria-expanded="false" aria-controls="collapse-3">
            System Designs
          </a>
        </h4>
      </div>
      
      
      <div class="panel-collapse collapse" id="collapse-3" role="tabpanel" aria-label="Side Navigation">
        <div class="list-group">
          
            
            
            <a class="list-group-item " href="/docs/compiler_design/">Compiler Design</a>
          
            
            
            <a class="list-group-item " href="/docs/runtime_design/">Runtime Design</a>
          
        </div>
      </div>
    </div>
  
    <div class="panel panel-default">
      <div class="panel-heading">
        <h4 class="panel-title">
          <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse-4" aria-expanded="false" aria-controls="collapse-4">
            Contribute
          </a>
        </h4>
      </div>
      
      
      <div class="panel-collapse collapse" id="collapse-4" role="tabpanel" aria-label="Side Navigation">
        <div class="list-group">
          
            
            
            <a class="list-group-item " href="/docs/contribute/">Contribute</a>
          
        </div>
      </div>
    </div>
  
    <div class="panel panel-default">
      <div class="panel-heading">
        <h4 class="panel-title">
          <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse-5" aria-expanded="false" aria-controls="collapse-5">
            Security
          </a>
        </h4>
      </div>
      
      
      <div class="panel-collapse collapse" id="collapse-5" role="tabpanel" aria-label="Side Navigation">
        <div class="list-group">
          
            
            
            <a class="list-group-item " href="/docs/security/">Security Guide</a>
          
        </div>
      </div>
    </div>
  
</div>

        </div>

        <div class="col-md-8">
            <h1>Themes</h1>
            <div id="markdown-content-container"><p>By default, this website uses <code class="language-plaintext highlighter-rouge">paper</code> theme, but you can change it to another <a href="https://bootswatch.com/">bootwatch theme</a> by setting
<code class="language-plaintext highlighter-rouge">bootwatch</code> variable in <code class="language-plaintext highlighter-rouge">_config.yml</code> file.
(Don’t forget to restart <code class="language-plaintext highlighter-rouge">Jekyll</code> if you are running locally because the configuration is not re-read upon change.)</p>

<div class="row">

  <div class="col-lg-4 col-sm-6">
    <div class="thumbnail">
      <div class="image">
        <a href="#cerulean/"><img src="https://bootswatch.com/cerulean/thumbnail.png" class="img-responsive" alt="Cerulean" /></a>
      </div>
      <div class="caption">
        <h3>Cerulean</h3>
        <p>A calm blue sky</p>
      </div>
    </div>
  </div>

  <div class="col-lg-4 col-sm-6">
    <div class="thumbnail">
      <div class="image">
        <a href="#cosmo/"><img class="img-responsive" src="https://bootswatch.com/cosmo/thumbnail.png" alt="Cosmo" /></a>
      </div>
      <div class="caption">
        <h3>Cosmo</h3>
        <p>An ode to Metro</p>
      </div>
    </div>
  </div>

  <div class="col-lg-4 col-sm-6">
    <div class="thumbnail">
      <div class="image">
        <a href="#cyborg/"><img class="img-responsive" src="https://bootswatch.com/cyborg/thumbnail.png" alt="Cyborg" /></a>
      </div>
      <div class="caption">
        <h3>Cyborg</h3>
        <p>Jet black and electric blue</p>


      </div>
    </div>
  </div>

  <div class="col-lg-4 col-sm-6">
    <div class="thumbnail">
      <div class="image">
        <a href="#darkly/"><img class="img-responsive" src="https://bootswatch.com/darkly/thumbnail.png" alt="Darkly" /></a>
      </div>
      <div class="caption">
        <h3>Darkly</h3>
        <p>Flatly in night mode</p>


      </div>
    </div>
  </div>

  <div class="col-lg-4 col-sm-6">
    <div class="thumbnail">
      <div class="image">
        <a href="#flatly/"><img class="img-responsive" src="https://bootswatch.com/flatly/thumbnail.png" alt="Flatly" /></a>
      </div>
      <div class="caption">
        <h3>Flatly</h3>
        <p>Flat and modern</p>


      </div>
    </div>
  </div>

  <div class="col-lg-4 col-sm-6">
    <div class="thumbnail">
      <div class="image">
        <a href="#journal/"><img class="img-responsive" src="https://bootswatch.com/journal/thumbnail.png" alt="Journal" /></a>
      </div>
      <div class="caption">
        <h3>Journal</h3>
        <p>Crisp like a new sheet of paper</p>


      </div>
    </div>
  </div>

  <div class="col-lg-4 col-sm-6">
    <div class="thumbnail">
      <div class="image">
        <a href="#lumen/"><img src="https://bootswatch.com/lumen/thumbnail.png" class="img-responsive" alt="Lumen" /></a>
      </div>
      <div class="caption">
        <h3>Lumen</h3>
        <p>Light and shadow</p>


      </div>
    </div>
  </div>

  <div class="col-lg-4 col-sm-6">
    <div class="thumbnail">
      <div class="image">
        <a href="#paper/"><img class="img-responsive" src="https://bootswatch.com/paper/thumbnail.png" alt="Paper" /></a>
      </div>
      <div class="caption">
        <h3>Paper</h3>
        <p>Material is the metaphor</p>


      </div>
    </div>
  </div>

  <div class="col-lg-4 col-sm-6">
    <div class="thumbnail">
      <div class="image">
        <a href="#readable/"><img class="img-responsive" src="https://bootswatch.com/readable/thumbnail.png" alt="Readable" /></a>
      </div>
      <div class="caption">
        <h3>Readable</h3>
        <p>Optimized for legibility</p>


      </div>
    </div>
  </div>

  <div class="col-lg-4 col-sm-6">
    <div class="thumbnail">
      <div class="image">
        <a href="#sandstone/"><img src="https://bootswatch.com/sandstone/thumbnail.png" class="img-responsive" alt="Sandstone" /></a>
      </div>
      <div class="caption">
        <h3>Sandstone</h3>
        <p>A touch of warmth</p>


      </div>
    </div>
  </div>

  <div class="col-lg-4 col-sm-6">
    <div class="thumbnail">
      <div class="image">
        <a href="#simplex/"><img class="img-responsive" src="https://bootswatch.com/simplex/thumbnail.png" alt="Simplex" /></a>
      </div>
      <div class="caption">
        <h3>Simplex</h3>
        <p>Mini and minimalist</p>


      </div>
    </div>
  </div>

  <div class="col-lg-4 col-sm-6">
    <div class="thumbnail">
      <div class="image">
        <a href="#slate/"><img class="img-responsive" src="https://bootswatch.com/slate/thumbnail.png" alt="Slate" /></a>
      </div>
      <div class="caption">
        <h3>Slate</h3>
        <p>Shades of gunmetal gray</p>



      </div>
    </div>
  </div>

  <div class="col-lg-4 col-sm-6">
    <div class="thumbnail">
      <div class="image">
        <a href="#solar/"><img class="img-responsive" src="https://bootswatch.com/solar/thumbnail.png" alt="Solar" /></a>
      </div>
      <div class="caption">
        <h3>Solar</h3>
        <p>A spin on Solarized</p>


      </div>
    </div>
  </div>

  <div class="col-lg-4 col-sm-6">
    <div class="thumbnail">
      <div class="image">
        <a href="#spacelab/"><img class="img-responsive" src="https://bootswatch.com/spacelab/thumbnail.png" alt="Spacelab" /></a>
      </div>
      <div class="caption">
        <h3>Spacelab</h3>
        <p>Silvery and sleek</p>


      </div>
    </div>
  </div>

  <div class="col-lg-4 col-sm-6">
    <div class="thumbnail">
      <div class="image">
        <a href="#superhero/"><img class="img-responsive" src="https://bootswatch.com/superhero/thumbnail.png" alt="Superhero" /></a>
      </div>
      <div class="caption">
        <h3>Superhero</h3>
        <p>The brave and the blue</p>


      </div>
    </div>
  </div>

  <div class="col-lg-4 col-sm-6">
    <div class="thumbnail">
      <div class="image">
        <a href="#united/"><img class="img-responsive" src="https://bootswatch.com/united/thumbnail.png" alt="United" /></a>
      </div>
      <div class="caption">
        <h3>United</h3>
        <p>Ubuntu orange and unique font</p>


      </div>
    </div>
  </div>

  <div class="col-lg-4 col-sm-6">
    <div class="thumbnail">
      <div class="image">
        <a href="#yeti/"><img class="img-responsive" src="https://bootswatch.com/yeti/thumbnail.png" alt="Yeti" /></a>
      </div>
      <div class="caption">
        <h3>Yeti</h3>
        <p>A friendly foundation</p>


      </div>
    </div>
  </div>


</div>
</div>
            <div style="clear:both;">
              <p class="text-center">
                <br />
                <a target="_blank" href="https://github.com/apache/incubator-nemo-website/blob/asf-site/_docs/jekyll_related/themes.md" class="btn btn-default" role="button">
                  <i class="fa fa-pencil fa-lg"></i> Improve this page
                </a>
              </p>
            </div>
            <hr>
            





  
  

  
  

  
  

  
  

  
  

  
  

  
  

  
  


            <div id="disqus_thread"></div>
            <script>
                /**
                *  RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
                *  LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables    */
                /*
                var disqus_config = function () {
                this.page.url = PAGE_URL;  // Replace PAGE_URL with your page's canonical URL variable
                this.page.identifier = PAGE_IDENTIFIER; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
                };
                */
                (function() { // DON'T EDIT BELOW THIS LINE
                var d = document, s = d.createElement('script');
                s.src = 'https://apache-nemo.disqus.com/embed.js';
                s.setAttribute('data-timestamp', +new Date());
                (d.head || d.body).appendChild(s);
                })();
            </script>
            <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
        </div>

    </div>
</div>

        </div>
    </div>

    <footer class="footer">
    <div class="container">
        <div class="row">
            <div class="col-sm-11">
                <p class="text-center">
                    Nemo 2023 |
                    Powered by <a href="https://github.com/aksakalli/jekyll-doc-theme">Jekyll Doc Theme</a>
                </p>
                <br>
                <p class="text-muted text-center">
                    Disclaimer: Apache Nemo (incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.
                    <br>
                    <br>
                    Copyright © 2022 The Apache Software Foundation. Apache and the Apache feather logo are trademarks of The Apache Software Foundation 
                </p>
                <!-- <p class="text-muted">Place sticky footer content here.</p> -->
            </div>
            <div class="col-sm-1">
                <a href="https://www.apache.org/events/current-event.html">
                    <img src="https://www.apache.org/events/current-event-125x125.png">            
                </a>
            </div>
        </div>
    </div>
</footer>

    <script>
  var baseurl = ''
</script>
<script src="/assets/js/jquery-1.12.4.min.js "></script>
<script src="/assets/js/bootstrap.min.js "></script>
<script src="/assets/js/typeahead.bundle.min.js "></script>

<script src="/assets/js/main.js "></script>

</body>

</html>
