lektor-website/docs/api/db/obj/is-discoverable/index.html

339 lines
11 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" href="../../../../../static/styles.css?h=dff0aaad">
<link rel="stylesheet" href="../../../../../static/pygments.css">
<link rel="shortcut icon" href="../../../../../static/favicon.png?h=fa09bedd">
<title>is_discoverable | Documentation | Lektor Static Content Management System</title>
</head>
<body class="default">
<nav class="navbar navbar-inverse navbar-static-top">
<div class="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="../../../../../">Lektor</a>
</div>
<div id="navbar" class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li><a href="../../../../../downloads/">Download</a></li>
<li class="active"><a href="../../../../">Documentation</a></li>
<li><a href="../../../../../showcase/">Showcase</a></li>
<li><a href="../../../../../plugins/">Plugins</a></li>
<li><a href="../../../../../community/">Community</a></li>
<li><a href="../../../../../blog/">Blog</a></li>
</ul>
</div>
</div>
</nav>
<div class="body-wrapper">
<div class="container">
<div class="row">
<div class="col-sm-3">
<ul class="tree-nav nocontent">
<li><a href="../../../../">Welcome</a></li>
<li><a href="../../../../what/">What is Lektor</a>
<li><a href="../../../../installation/">Installation</a>
<li><a href="../../../../quickstart/">Quickstart</a>
<li><a href="../../../../project/">Project</a>
<li><a href="../../../../content/">Content</a>
<li><a href="../../../../templates/">Templates</a>
<li><a href="../../../../themes/">Themes</a>
<li><a href="../../../../guides/">Guides</a>
<li><a href="../../../../deployment/">Deployment</a>
<li><a href="../../../../plugins/">Plugins</a>
<li><a href="../../../../models/">Data Modelling</a>
<li><a href="../../../../cli/">Command Line</a>
<li><a href="../../../">API</a>
<ul>
<li><a href="../../../build/">Build System</a>
<li><a href="../../../databags/">Databags</a>
<li><a href="../../">Database</a>
<ul>
<li><a href="../../asset/">Asset</a>
<li><a href="../../types/">Builtin Field Types</a>
<li><a href="../../expression/">Expression</a>
<li><a href="../../f/">F</a>
<li><a href="../../get-alts/">get_alts()</a>
<li><a href="../../pad/">Pad</a>
<li><a href="../../query/">Query</a>
<li><a href="../../record/">Record</a>
<li><a href="../">SourceObject</a>
<ul>
<li><a href="../alt/">alt</a>
<li><a href="../is-child-of/">is_child_of()</a>
<li class="active"><a href="./">is_discoverable</a>
<ul></ul>
<li><a href="../is-hidden/">is_hidden</a>
<li><a href="../is-undiscoverable/">is_undiscoverable</a>
<li><a href="../is-visible/">is_visible</a>
<li><a href="../parent/">parent</a>
<li><a href="../path/">path</a>
<li><a href="../record/">record</a>
<li><a href="../source-filename/">source_filename</a>
<li><a href="../url-path/">url_path</a>
<li><a href="../url-to/">url_to()</a>
</ul>
<li><a href="../../system-fields/">System Fields</a>
<li><a href="../../type/">Type</a>
</ul>
<li><a href="../../../environment/">Environment</a>
<li><a href="../../../plugins/">Plugins</a>
<li><a href="../../../project/">Project</a>
<li><a href="../../../publisher/">Publisher</a>
<li><a href="../../../templates/">Template API</a>
<li><a href="../../../utils/">Utilities</a>
</ul>
<li><a href="../../../../search/">Search</a>
</ul>
<div class="visible-md-block visible-lg-block">
<h4>This Page</h4>
<ul class="toc">
<li><a href="#example">Example</a></li>
</ul>
</div>
</div>
<div class="col-sm-9 doc-styling">
<h1><i class="glyphicon glyphicon-info-sign"></i> <code class="obj">is_discoverable</code></h1>
<ul class=page-meta>
<li>Property of <a href="../">SourceObject</a></li>
<li>New in Lektor Version <em>2.0</em></li>
</ul>
<p>Records can be discoverable or non discoverable. This is controlled by the
<code>_discoverable</code> system field which defaults to <code>yes</code>. This property can quickly
check if a record is considered non-discoverable by Lektor or not. In
particular a hidden record is also considered undiscoverable.</p>
<p>Undiscoverable records can be queried and final pages will be built but they
are exempt from queries of the record. This is useful for pages that should
be built but not show up yet on overview pages. For instance this can be used
to implement drafts of blog posts or similar things.</p>
<p>This property is implemented on the level of source objects to make it
possible to use this API in all cases. The default implementation of
source objects will always return <code>true</code> for discoverability checks.</p>
<h2 id="example">Example</h2><div class="hll"><pre><span></span><span class="cp">{%</span> <span class="k">set</span> <span class="nv">downloads</span> <span class="o">=</span> <span class="nv">site.get</span><span class="o">(</span><span class="s1">&#39;/downloads&#39;</span><span class="o">)</span> <span class="cp">%}</span>
<span class="cp">{%</span> <span class="k">if</span> <span class="nv">downloads.is_discoverable</span> <span class="cp">%}</span>
<span class="p">&lt;</span><span class="nt">p</span><span class="p">&gt;&lt;</span><span class="nt">a</span> <span class="na">href</span><span class="o">=</span><span class="s">&quot;</span><span class="cp">{{</span> <span class="nv">downloads</span><span class="o">|</span><span class="nf">url</span> <span class="cp">}}</span><span class="s">&quot;</span><span class="p">&gt;</span>Go to downloads<span class="p">&lt;/</span><span class="nt">a</span><span class="p">&gt;</span>
<span class="cp">{%</span> <span class="k">endif</span> <span class="cp">%}</span>
</pre></div>
<div class="comment-box">
<h2>Comments</h2>
<div id="disqus_thread"></div>
<script>
var disqus_config = function() { this.page.identifier = "/docs/api/db/obj/is-discoverable"; this.page.url = "https://www.getlektor.com/docs/api/db/obj/is-discoverable/"; };
(function() {
var d = document, s = d.createElement('script');
s.src = '//lektordocumentation.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"
rel="nofollow">comments powered by Disqus.</a>
</noscript>
</div>
</div>
</div>
</div>
</div>
<div class="bottomsummary">
<div class="container">
</div>
</div>
<footer>
<div class="container">
<div class="row">
<div class="col-sm-4 icon-bar">
<a href="https://github.com/lektor/lektor/" title="Lektor on GitHub"
><i class="fa fa-github"></i></a>
<a href="https://github.com/lektor/lektor/issues/" title="Report Issues for Lektor"
><i class="fa fa-bug"></i></a>
<a href="https://twitter.com/getlektor" title="Find Lektor on Twitter"
><i class="fa fa-twitter"></i></a>
<a href="https://gitter.im/lektor/lektor" title="Chat on Gitter"
><i class="fa fa-comment"></i></a>
<a href="https://github.com/lektor/lektor-website/tree/master/content/docs/api/db/obj/is-discoverable/contents.lr" title="View source for this page"><i class="fa fa-code"></i></a>
</div>
<div class="col-sm-8">
<a href="../../../../../license/">License & Copyright</a>
<a href="../../../../../contact/">Contact</a>
Made with <i class="fa fa-fw fa-heart" title="Heart"><span hidden>Heart</span></i> in Carinthia
</div>
</div>
</div>
</footer>
<script type=text/javascript src="../../../../../static/app.js?h=8b801996" charset="utf-8"></script>
<script>
((window.gitter = {}).chat = {}).options = {
room: 'lektor/lektor',
activationElement: null
};
document.write('<button class="js-gitter-toggle-chat-button">Toggle Chat</button>');
var dnt = navigator.doNotTrack || window.doNotTrack || navigator.msDoNotTrack;
if (dnt != "1" && dnt != "yes") {
window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
ga('create', 'UA-70822533-1', 'auto');
ga('set', 'anonymizeIp', true);
ga('send', 'pageview');
} else {
console.debug("Respecting Do-Not-Track, not running analytics.");
}
</script>
<script async src='https://www.google-analytics.com/analytics.js'></script>
<script async defer id="github-bjs" src="https://buttons.github.io/buttons.js"></script>
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
<script src="https://sidecar.gitter.im/dist/sidecar.v1.js" async defer></script>
</body>
</html>