<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[NogDB]]></title><description><![CDATA[Lightweight High Performance Graph Database]]></description><link>https://nogdb.org/</link><image><url>https://nogdb.org/favicon.png</url><title>NogDB</title><link>https://nogdb.org/</link></image><generator>Ghost 1.23</generator><lastBuildDate>Sun, 26 Nov 2023 12:42:30 GMT</lastBuildDate><atom:link href="https://nogdb.org/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[Join Us]]></title><description><![CDATA[<div class="kg-card-markdown"><iframe src="https://docs.google.com/forms/d/e/1FAIpQLSfKqFs_o9-UzdAsV0Qutg_TO0_w1K5qpZy_d_4QRYos9PRSgw/viewform?embedded=true" width="100%" height="1700" frameborder="0" marginheight="0" marginwidth="0">Loading...</iframe></div>]]></description><link>https://nogdb.org/join-us/</link><guid isPermaLink="false">5b18fada0918a900014412e1</guid><dc:creator><![CDATA[admin]]></dc:creator><pubDate>Thu, 07 Jun 2018 09:29:34 GMT</pubDate><content:encoded><![CDATA[<div class="kg-card-markdown"><iframe src="https://docs.google.com/forms/d/e/1FAIpQLSfKqFs_o9-UzdAsV0Qutg_TO0_w1K5qpZy_d_4QRYos9PRSgw/viewform?embedded=true" width="100%" height="1700" frameborder="0" marginheight="0" marginwidth="0">Loading...</iframe></div>]]></content:encoded></item><item><title><![CDATA[Advanced Markdown tips]]></title><description><![CDATA[<div class="kg-card-markdown"><p>There are lots of powerful things you can do with the Ghost editor</p>
<p>If you've gotten pretty comfortable with <a href="https://nogdb.org/the-editor/">all the basics</a> of writing in Ghost, then you may enjoy some more advanced tips about the types of things you can do with Markdown!</p>
<p>As with the last post about</p></div>]]></description><link>https://nogdb.org/advanced-markdown/</link><guid isPermaLink="false">5b14f36805f14800367a1a9a</guid><category><![CDATA[Getting Started]]></category><dc:creator><![CDATA[Ghost]]></dc:creator><pubDate>Mon, 04 Jun 2018 08:08:09 GMT</pubDate><media:content url="https://casper.ghost.org/v1.0.0/images/advanced.jpg" medium="image"/><content:encoded><![CDATA[<div class="kg-card-markdown"><img src="https://casper.ghost.org/v1.0.0/images/advanced.jpg" alt="Advanced Markdown tips"><p>There are lots of powerful things you can do with the Ghost editor</p>
<p>If you've gotten pretty comfortable with <a href="https://nogdb.org/the-editor/">all the basics</a> of writing in Ghost, then you may enjoy some more advanced tips about the types of things you can do with Markdown!</p>
<p>As with the last post about the editor, you'll want to be actually editing this post as you read it so that you can see all the Markdown code we're using.</p>
<h2 id="specialformatting">Special formatting</h2>
<p>As well as bold and italics, you can also use some other special formatting in Markdown when the need arises, for example:</p>
<ul>
<li><s>strike through</s></li>
<li><mark>highlight</mark></li>
<li>*escaped characters*</li>
</ul>
<h2 id="writingcodeblocks">Writing code blocks</h2>
<p>There are two types of code elements which can be inserted in Markdown, the first is inline, and the other is block. Inline code is formatted by wrapping any word or words in back-ticks, <code>like this</code>. Larger snippets of code can be displayed across multiple lines using triple back ticks:</p>
<pre><code>.my-link {
    text-decoration: underline;
}
</code></pre>
<p>If you want to get really fancy, you can even add syntax highlighting using <a href="http://prismjs.com/">Prism.js</a>.</p>
<h2 id="fullbleedimages">Full bleed images</h2>
<p>One neat trick which you can use in Markdown to distinguish between different types of images is to add a <code>#hash</code> value to the end of the source URL, and then target images containing the hash with special styling. For example:</p>
<p><img src="https://casper.ghost.org/v1.0.0/images/walking.jpg#full" alt="Advanced Markdown tips"></p>
<p>which is styled with...</p>
<pre><code>img[src$=&quot;#full&quot;] {
    max-width: 100vw;
}
</code></pre>
<p>This creates full-bleed images in the Casper theme, which stretch beyond their usual boundaries right up to the edge of the window. Every theme handles these types of things slightly differently, but it's a great trick to play with if you want to have a variety of image sizes and styles.</p>
<h2 id="referencelists">Reference lists</h2>
<p><strong>The quick brown <a href="https://en.wikipedia.org/wiki/Fox" title="Wikipedia: Fox">fox</a>, jumped over the lazy <a href="https://en.wikipedia.org/wiki/Dog" title="Wikipedia: Dog">dog</a>.</strong></p>
<p>Another way to insert links in markdown is using reference lists. You might want to use this style of linking to cite reference material in a Wikipedia-style. All of the links are listed at the end of the document, so you can maintain full separation between content and its source or reference.</p>
<h2 id="creatingfootnotes">Creating footnotes</h2>
<p>The quick brown fox<sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup> jumped over the lazy dog<sup class="footnote-ref"><a href="#fn2" id="fnref2">[2]</a></sup>.</p>
<p>Footnotes are a great way to add additional contextual details when appropriate. Ghost will automatically add footnote content to the very end of your post.</p>
<h2 id="fullhtml">Full HTML</h2>
<p>Perhaps the best part of Markdown is that you're never limited to just Markdown. You can write HTML directly in the Ghost editor and it will just work as HTML usually does. No limits! Here's a standard YouTube embed code as an example:</p>
<iframe width="560" height="315" src="https://www.youtube.com/embed/Cniqsc9QfDo?rel=0&amp;showinfo=0" frameborder="0" allowfullscreen></iframe>
<hr class="footnotes-sep">
<section class="footnotes">
<ol class="footnotes-list">
<li id="fn1" class="footnote-item"><p>Foxes are red <a href="#fnref1" class="footnote-backref">↩︎</a></p>
</li>
<li id="fn2" class="footnote-item"><p>Dogs are usually not red <a href="#fnref2" class="footnote-backref">↩︎</a></p>
</li>
</ol>
</section>
</div>]]></content:encoded></item><item><title><![CDATA[Setting up your own Ghost theme]]></title><description><![CDATA[<div class="kg-card-markdown"><p>Creating a totally custom design for your publication</p>
<p>Ghost comes with a beautiful default theme called Casper, which is designed to be a clean, readable publication layout and can be easily adapted for most purposes. However, Ghost can also be completely themed to suit your needs. Rather than just giving</p></div>]]></description><link>https://nogdb.org/themes/</link><guid isPermaLink="false">5b14f36805f14800367a1a98</guid><category><![CDATA[Getting Started]]></category><dc:creator><![CDATA[Ghost]]></dc:creator><pubDate>Mon, 04 Jun 2018 08:08:08 GMT</pubDate><media:content url="https://casper.ghost.org/v1.0.0/images/design.jpg" medium="image"/><content:encoded><![CDATA[<div class="kg-card-markdown"><img src="https://casper.ghost.org/v1.0.0/images/design.jpg" alt="Setting up your own Ghost theme"><p>Creating a totally custom design for your publication</p>
<p>Ghost comes with a beautiful default theme called Casper, which is designed to be a clean, readable publication layout and can be easily adapted for most purposes. However, Ghost can also be completely themed to suit your needs. Rather than just giving you a few basic settings which act as a poor proxy for code, we just let you write code.</p>
<p>There are a huge range of both free and premium pre-built themes which you can get from the <a href="http://marketplace.ghost.org">Ghost Theme Marketplace</a>, or you can simply create your own from scratch.</p>
<p><a href="http://marketplace.ghost.org"><img src="https://casper.ghost.org/v1.0.0/images/marketplace.jpg" alt="Setting up your own Ghost theme"></a></p>
<blockquote>
<p>Anyone can write a completely custom Ghost theme, with just some solid knowledge of HTML and CSS</p>
</blockquote>
<p>Ghost themes are written with a templating language called handlebars, which has a bunch of dynamic helpers to insert your data into template files. Like <code>{{author.name}}</code>, for example, outputs the name of the current author.</p>
<p>The best way to learn how to write your own Ghost theme is to have a look at <a href="https://github.com/TryGhost/Casper">the source code for Casper</a>, which is heavily commented and should give you a sense of how everything fits together.</p>
<ul>
<li><code>default.hbs</code> is the main template file, all contexts will load inside this file unless specifically told to use a different template.</li>
<li><code>post.hbs</code> is the file used in the context of viewing a post.</li>
<li><code>index.hbs</code> is the file used in the context of viewing the home page.</li>
<li>and so on</li>
</ul>
<p>We've got <a href="http://themes.ghost.org/docs/about">full and extensive theme documentation</a> which outlines every template file, context and helper that you can use.</p>
<p>If you want to chat with other people making Ghost themes to get any advice or help, there's also a <strong>#themes</strong> channel in our <a href="https://slack.ghost.org">public Slack community</a> which we always recommend joining!</p>
</div>]]></content:encoded></item><item><title><![CDATA[Get Started]]></title><description><![CDATA[<div class="kg-card-markdown"><h2 id="sourcecode">Source Code</h2>
<ul>
<li>Find our repository <a href="https://github.com/nogdb/nogdb">here</a></li>
</ul>
<hr>
<hr>
<h2 id="downloadnogdbmanually">Download NogDB Manually</h2>
<ul>
<li>Download NogDB source code.</li>
</ul>
<table style="text-align:center">
<thead>
<tr>
<th style="text-align:center">Version</th>
<th style="text-align:center">Zip File</th>
<th style="text-align:center">Tar File</th>
</tr>
</thead>
<tbody>
<tr>
<td>v1.0.0</td>
<td>coming soon</td>
<td>coming soon</td>
</tr>
</tbody>
</table>
<ul>
<li>
<p>Extract file</p>
<ul>
<li>
<p>Windows: Double click the downloaded file to unzip it</p>
</li>
<li>
<p>Linux</p>
</li>
</ul>
</li>
</ul>
<pre><code class="language-bash">$ tar -xzvf nogdb.tar.gz nogdb
</code></pre>
<hr>
<hr>
<h2 id="downloadnogdbfromgithub">Download NogDB from Github</h2>
<pre><code class="language-shell">$ git clone https:</code></pre></div>]]></description><link>https://nogdb.org/get-started/</link><guid isPermaLink="false">5b14f7a28779210001d52b9a</guid><dc:creator><![CDATA[NogDB]]></dc:creator><pubDate>Mon, 04 Jun 2018 02:31:22 GMT</pubDate><content:encoded><![CDATA[<div class="kg-card-markdown"><h2 id="sourcecode">Source Code</h2>
<ul>
<li>Find our repository <a href="https://github.com/nogdb/nogdb">here</a></li>
</ul>
<hr>
<hr>
<h2 id="downloadnogdbmanually">Download NogDB Manually</h2>
<ul>
<li>Download NogDB source code.</li>
</ul>
<table style="text-align:center">
<thead>
<tr>
<th style="text-align:center">Version</th>
<th style="text-align:center">Zip File</th>
<th style="text-align:center">Tar File</th>
</tr>
</thead>
<tbody>
<tr>
<td>v1.0.0</td>
<td>coming soon</td>
<td>coming soon</td>
</tr>
</tbody>
</table>
<ul>
<li>
<p>Extract file</p>
<ul>
<li>
<p>Windows: Double click the downloaded file to unzip it</p>
</li>
<li>
<p>Linux</p>
</li>
</ul>
</li>
</ul>
<pre><code class="language-bash">$ tar -xzvf nogdb.tar.gz nogdb
</code></pre>
<hr>
<hr>
<h2 id="downloadnogdbfromgithub">Download NogDB from Github</h2>
<pre><code class="language-shell">$ git clone https://github.com/nogdb/nogdb
</code></pre>
<hr>
<hr>
<h2 id="dependency">Dependency</h2>
<ul>
<li>GCC (gcc/g++ 5.1.0 or above) or LLVM (clang/clang++ 3.8.0 or above) compiler that supports C++11</li>
</ul>
<hr>
<hr>
<h2 id="installation">Installation</h2>
<ul>
<li>Build NogDB with Makefile</li>
</ul>
<pre><code class="language-shell">$ cd nogdb
$ sh install_make.sh
$ make &amp;&amp; make test
$ sudo make install
$ make clean
</code></pre>
<blockquote>
<p><strong>NOTE:</strong> In some platforms, for instance, Ubuntu and RHEL/CentOS, you may need to create symbolic links of headers and libs to your <code>$LD_LIBRARY_PATH</code> manually</p>
</blockquote>
<ul>
<li>Build NogDB with CMake</li>
</ul>
<pre><code class="language-shell">$ cd nogdb
$ cmake .
$ cmake --build . &amp;&amp; ctest
$ sudo make install
</code></pre>
<hr>
<hr>
<h2 id="helloworldstepbystep">Hello World step-by-step</h2>
<ul>
<li>Create cpp source with NogDB including</li>
</ul>
<pre><code class="language-c++">// Include nogdb to project
#include &lt;nogdb/nogdb.h&gt;

int main (int argc, char* argv[]) {
    
    return 0;
}
</code></pre>
<ul>
<li>Create database context with maximum db number at 128 and maximum db size at 4GB</li>
</ul>
<pre><code class="language-c++">#include &lt;nogdb/nogdb.h&gt;

int main (int argc, char* argv[]) {
// Create database context pointing to file 'mygraph.db'
    nogdb::Context ctx{&quot;mygraph.db&quot;, 128, 4294967296UL};

    return 0;
}
</code></pre>
<ul>
<li>Create classes VERTEX <code>Words</code> for words, VERTEX <code>InitialWords</code> for starting words and EDGE <code>WordLinks</code> for linking words</li>
</ul>
<pre><code class="language-c++">#include &lt;nogdb/nogdb.h&gt;

int main (int argc, char* argv[]) {
    nogdb::Context ctx{&quot;mygraph.db&quot;, 128, 4294967296UL};

    try {
// Create READ_WRITE transaction
        nogdb::Txn txn(ctx, nogdb::Txn::Mode::READ_WRITE);
        
// Create vertex 'Words'
        nogdb::Class::create(txn &quot;Words&quot;, nogdb::ClassType::VERTEX);
// Create vertex 'InitialWords'
        nogdb::Class::createExtend(txn, &quot;InitialWords&quot;, &quot;Words&quot;);
// Create edge 'WordLinks'
        nogdb::Class::create(txn, &quot;WordLinks&quot;, nogdb::ClassType::EDGE);
    } catch ( nogdb::Error&amp; err ) {
        std::cerr &lt;&lt; err.code() &lt;&lt; &quot; &quot; &lt;&lt; err.what() &lt;&lt; std::endl;
    }

    return 0;
}
</code></pre>
<ul>
<li>Create Property <code>string</code> within VERTEX <code>Words</code></li>
</ul>
<pre><code class="language-c++">#include &lt;nogdb/nogdb.h&gt;

int main (int argc, char* argv[]) {
    nogdb::Context ctx{&quot;mygraph.db&quot;, 128, 4294967296UL};

    try {
		nogdb::Txn txn(ctx, nogdb::Txn::Mode::READ_WRITE);
        
        nogdb::Class::create(txn, &quot;Words&quot;, nogdb::ClassType::VERTEX);
        nogdb::Class::createExtend(txn, &quot;InitialWords&quot;, &quot;Words&quot;);
        nogdb::Class::create(txn, &quot;WordLinks&quot;, nogdb::ClassType::EDGE);

// create property 'string' within vertex 'Words' (also applied to 'InitialWords')
        nogdb::Property::add(txn, &quot;Words&quot;, &quot;string&quot;, nogdb::PropertyType::TEXT);
    } catch ( NogDB::Error&amp; err ) {
        std::cerr &lt;&lt; err.code() &lt;&lt; &quot; &quot; &lt;&lt; err.what() &lt;&lt; std::endl;
    }

    return 0;
}
</code></pre>
<ul>
<li>Create vertices for <code>InitialWords</code> and <code>Words</code>. And create link between them.</li>
</ul>
<pre><code class="language-c++">#include &lt;nogdb/nogdb.h&gt;

int main (int argc, char* argv[]) {
    nogdb::Context ctx{&quot;mygraph.db&quot;, 128, 4294967296UL};

    try {
        nogdb::Txn txn(ctx, nogdb::Txn::Mode::READ_WRITE);
        
        nogdb::Class::create(txn, &quot;Words&quot;, nogdb::ClassType::VERTEX);
        nogdb::Class::createExtend(txn, &quot;InitialWords&quot;, &quot;Words&quot;);
        nogdb::Class::create(txn, &quot;WordLinks&quot;, nogdb::ClassType::EDGE);

        nogdb::Property::add(txn, &quot;Words&quot;, &quot;string&quot;, nogdb::PropertyType::TEXT);

// Create prototypes of vertices
        nogdb::Record hello{}, world{};
        hello.set(&quot;string&quot;, &quot;Hello&quot;);               
        world.set(&quot;string&quot;, &quot;, World.&quot;);
// Create vertices to db with created prototypes
        nogdb::RecordDescriptor vHello = nogdb::Vertex::create(txn, &quot;InitialWords&quot;, hello);
        nogdb::RecordDescriptor vWorld = nogdb::Vertex::create(txn, &quot;Words&quot;, world);
// Create link between both vertices
        nogdb::Edge::create(txn, &quot;WordLinks&quot;, vHello, vWorld);
// Do a transaction commit
        txn.commit();

    } catch ( nogdb::Error&amp; err ) {
        std::cerr &lt;&lt; err.code() &lt;&lt; &quot; &quot; &lt;&lt; err.what() &lt;&lt; std::endl;
    }

    return 0;
}
</code></pre>
<ul>
<li>Get Initial Word, go to another word through edge, print string for every word passed.</li>
</ul>
<pre><code class="language-c++">#include &lt;nogdb/nogdb.h&gt;

int main (int argc, char* argv[]) {
    nogdb::Context ctx{&quot;mygraph.db&quot;, 128, 4294967296UL};qๆ

    try {
        nogdb::Txn txn(ctx, nogdb::Txn::Mode::READ_WRITE);
        
        nogdb::Class::create(txn, &quot;Words&quot;, nogdb::ClassType::VERTEX);
        nogdb::Class::createExtend(txn, &quot;InitialWords&quot;, &quot;Words&quot;);
        nogdb::Class::create(txn, &quot;WordLinks&quot;, nogdb::ClassType::EDGE);

        nogdb::Property::add(txn, &quot;Words&quot;, &quot;string&quot;, nogdb::PropertyType::TEXT);

        nogdb::Record hello{}, world{};
        hello.set(&quot;string&quot;, &quot;Hello&quot;);               
        world.set(&quot;string&quot;, &quot;, World.&quot;);
        nogdb::RecordDescriptor vHello = nogdb::Vertex::create(txn, &quot;InitialWords&quot;, hello);
        nogdb::RecordDescriptor vWorld = nogdb::Vertex::create(txn, &quot;Words&quot;, world);
        nogdb::Edge::create(txn, &quot;WordLinks&quot;, vHello, vWorld);
        txn.commit();

    } catch ( nogdb::Error&amp; err ) {
        std::cerr &lt;&lt; err.code() &lt;&lt; &quot; &quot; &lt;&lt; err.what() &lt;&lt; std::endl;
    }

    try {
// Create READ_ONLY transaction
        nogdb::Txn txn(ctx, nogdb::Txn::Mode::READ_ONLY);
// Get initial word from 'InitialWords'
        nogdb::ResultSet word1 = nogdb::Vertex::get(txn, &quot;InitialWords&quot;);
// Get property 'string' from vertex and print to screen
        std::cout &lt;&lt; word1[0].record.get(&quot;string&quot;).toText();

// Get out edge from record
        nogdb::ResultSet edge = nogdb::Vertex::getOutEdge(txn, word1[0].descriptor);
// Get destination vertex from edge
        nogdb::Result word2 = nogdb::Edge::getDst(txn, edge[0].descriptor);

// Get property 'string' from another vertex and print to screen
        std::cout &lt;&lt; word2.record.get(&quot;string&quot;).toText() &lt;&lt; std::endl;

    } catch ( nogdb::Error&amp; err ) {
        std::cerr &lt;&lt; err.code() &lt;&lt; &quot; &quot; &lt;&lt; err.what() &lt;&lt; std::endl;
    }

    return 0;
}
</code></pre>
<ul>
<li>This is what final 'hello_world.cpp' looks like</li>
</ul>
<pre><code class="language-c++">#include &lt;nogdb/nogdb.h&gt;

int main (int argc, char* argv[]) {
    nogdb::Context ctx{&quot;mygraph.db&quot;, 128, 4294967296UL};

    try {
        nogdb::Txn txn(ctx, nogdb::Txn::Mode::READ_WRITE);
        
        nogdb::Class::create(txn, &quot;Words&quot;, nogdb::ClassType::VERTEX);
        nogdb::Class::createExtend(txn, &quot;InitialWords&quot;, &quot;Words&quot;);
        nogdb::Class::create(txn, &quot;WordLinks&quot;, nogdb::ClassType::EDGE);

        nogdb::Property::add(txn, &quot;Words&quot;, &quot;string&quot;, nogdb::PropertyType::TEXT);

        nogdb::Record hello{}, world{};
        hello.set(&quot;string&quot;, &quot;Hello&quot;);
        world.set(&quot;string&quot;, &quot;, World.&quot;);
        nogdb::RecordDescriptor vHello = nogdb::Vertex::create(txn, &quot;InitialWords&quot;, hello);
        nogdb::RecordDescriptor vWorld = nogdb::Vertex::create(txn, &quot;Words&quot;, world);
        nogdb::Edge::create(txn, &quot;WordLinks&quot;, vHello, vWorld);
        txn.commit();

    } catch ( nogdb::Error&amp; err ) {
        std::cerr &lt;&lt; err.code() &lt;&lt; &quot; &quot; &lt;&lt; err.what() &lt;&lt; std::endl;
    }

    try {
        nogdb::Txn txn(ctx, nogdb::Txn::Mode::READ_ONLY);
        nogdb::ResultSet word1 = nogdb::Vertex::get(txn, &quot;InitialWords&quot;);
        std::cout &lt;&lt; word1[0].record.get(&quot;string&quot;).toText();

        nogdb::ResultSet edge = nogdb::Vertex::getOutEdge(txn, word1[0].descriptor);
        nogdb::Result word2 = nogdb::Edge::getDst(txn, edge[0].descriptor);

        std::cout &lt;&lt; word2.record.get(&quot;string&quot;).toText() &lt;&lt; std::endl;

    } catch ( nogdb::Error&amp; err ) {
        std::cerr &lt;&lt; err.code() &lt;&lt; &quot; &quot; &lt;&lt; err.what() &lt;&lt; std::endl;
    }

    return 0;
}
</code></pre>
<ul>
<li>Build and run</li>
</ul>
<pre><code class="language-shell">$ g++ -std=c++11 hello_world.cpp -lnogdb -o hello_world
$ ./hello_world
Hello, World.
</code></pre>
</div>]]></content:encoded></item><item><title><![CDATA[Simple, fully-functioned providing graph database APIs]]></title><description><![CDATA[<div class="kg-card-markdown"><p>You can select, create, edit, link or whatever you’d like to do to your graph with NogDB. We provide all ( and absolutely not only ) basic functions to manipulate graph database right here waiting for you to enjoy.</p>
</div>]]></description><link>https://nogdb.org/supports-multiple-platforms/</link><guid isPermaLink="false">5b14f7a28779210001d52b99</guid><category><![CDATA[NogDB Key Features]]></category><dc:creator><![CDATA[NogDB]]></dc:creator><pubDate>Sun, 03 Jun 2018 18:57:23 GMT</pubDate><media:content url="https://nogdb.org/content/images/2018/06/NogDB-artworks-feature-04.jpg" medium="image"/><content:encoded><![CDATA[<div class="kg-card-markdown"><img src="https://nogdb.org/content/images/2018/06/NogDB-artworks-feature-04.jpg" alt="Simple, fully-functioned providing graph database APIs"><p>You can select, create, edit, link or whatever you’d like to do to your graph with NogDB. We provide all ( and absolutely not only ) basic functions to manipulate graph database right here waiting for you to enjoy.</p>
</div>]]></content:encoded></item><item><title><![CDATA[Supports data indexing]]></title><description><![CDATA[<div class="kg-card-markdown"><p>NogDB supports indexing of all providing data types, helping you to be able to query and do some operations to your data much faster.</p>
</div>]]></description><link>https://nogdb.org/supports-data-indexing/</link><guid isPermaLink="false">5b14f7a28779210001d52b98</guid><dc:creator><![CDATA[NogDB]]></dc:creator><pubDate>Sun, 03 Jun 2018 18:57:06 GMT</pubDate><media:content url="https://nogdb.org/content/images/2018/06/welcome-6.jpg" medium="image"/><content:encoded><![CDATA[<div class="kg-card-markdown"><img src="https://nogdb.org/content/images/2018/06/welcome-6.jpg" alt="Supports data indexing"><p>NogDB supports indexing of all providing data types, helping you to be able to query and do some operations to your data much faster.</p>
</div>]]></content:encoded></item><item><title><![CDATA[Supports read and write transactioning]]></title><description><![CDATA[<div class="kg-card-markdown"><p>NogDB supports a synchronized read and write transaction. You can create separated transaction handler that can be used to do read or write operations you want independently. Also supports multiple readers and single writer.</p>
</div>]]></description><link>https://nogdb.org/supports-read-and-write-transactioning/</link><guid isPermaLink="false">5b14f7a28779210001d52b97</guid><dc:creator><![CDATA[NogDB]]></dc:creator><pubDate>Sun, 03 Jun 2018 18:56:35 GMT</pubDate><media:content url="https://nogdb.org/content/images/2018/06/welcome-5.jpg" medium="image"/><content:encoded><![CDATA[<div class="kg-card-markdown"><img src="https://nogdb.org/content/images/2018/06/welcome-5.jpg" alt="Supports read and write transactioning"><p>NogDB supports a synchronized read and write transaction. You can create separated transaction handler that can be used to do read or write operations you want independently. Also supports multiple readers and single writer.</p>
</div>]]></content:encoded></item><item><title><![CDATA[Supports inheritance of vertices and edges]]></title><description><![CDATA[<div class="kg-card-markdown"><p>In NogDB, we store objects in form of classes, which can be inherited from another class. So you can manipulate your data so much easier, cleaner and even better.</p>
</div>]]></description><link>https://nogdb.org/supports-inheritance-of-vertices-and-edges/</link><guid isPermaLink="false">5b14f7a28779210001d52b96</guid><dc:creator><![CDATA[NogDB]]></dc:creator><pubDate>Sun, 03 Jun 2018 18:56:14 GMT</pubDate><media:content url="https://nogdb.org/content/images/2018/06/welcome-4.jpg" medium="image"/><content:encoded><![CDATA[<div class="kg-card-markdown"><img src="https://nogdb.org/content/images/2018/06/welcome-4.jpg" alt="Supports inheritance of vertices and edges"><p>In NogDB, we store objects in form of classes, which can be inherited from another class. So you can manipulate your data so much easier, cleaner and even better.</p>
</div>]]></content:encoded></item><item><title><![CDATA[High-reliability with no data loss guaranteed]]></title><description><![CDATA[<div class="kg-card-markdown"><p>Every data commited into NogDB is guaranteed to be stored into our database system. Data will not be lost if database service is terminated, or running machine goes down.</p>
</div>]]></description><link>https://nogdb.org/high-reliability-with-no-data-loss-guaranteed/</link><guid isPermaLink="false">5b14f7a28779210001d52b95</guid><category><![CDATA[NogDB Key Features]]></category><dc:creator><![CDATA[NogDB]]></dc:creator><pubDate>Sun, 03 Jun 2018 18:55:19 GMT</pubDate><media:content url="https://nogdb.org/content/images/2018/06/NogDB-artworks-feature-06.jpg" medium="image"/><content:encoded><![CDATA[<div class="kg-card-markdown"><img src="https://nogdb.org/content/images/2018/06/NogDB-artworks-feature-06.jpg" alt="High-reliability with no data loss guaranteed"><p>Every data commited into NogDB is guaranteed to be stored into our database system. Data will not be lost if database service is terminated, or running machine goes down.</p>
</div>]]></content:encoded></item><item><title><![CDATA[Fast, embedded and nothing required]]></title><description><![CDATA[<div class="kg-card-markdown"><p>NogDB is implemented in C++ requiring only standard libraries provided in C++11. So you can just write your code, compile and run on any platform, this also makes NogDB very useful and effective for using on embedded systems.</p>
</div>]]></description><link>https://nogdb.org/fast-embedded-and-nothing-required/</link><guid isPermaLink="false">5b14f7a28779210001d52b94</guid><category><![CDATA[NogDB Key Features]]></category><dc:creator><![CDATA[NogDB]]></dc:creator><pubDate>Sun, 03 Jun 2018 18:53:39 GMT</pubDate><media:content url="https://nogdb.org/content/images/2018/06/NogDB-artworks-feature-05.jpg" medium="image"/><content:encoded><![CDATA[<div class="kg-card-markdown"><img src="https://nogdb.org/content/images/2018/06/NogDB-artworks-feature-05.jpg" alt="Fast, embedded and nothing required"><p>NogDB is implemented in C++ requiring only standard libraries provided in C++11. So you can just write your code, compile and run on any platform, this also makes NogDB very useful and effective for using on embedded systems.</p>
</div>]]></content:encoded></item><item><title><![CDATA[Lightweight and native]]></title><description><![CDATA[<div class="kg-card-markdown"><p>NogDB is very small, lightweight and very easy to install on any platform. NogDB also provides API for many popular languages, decreasing so much learning curve on many situations.</p>
</div>]]></description><link>https://nogdb.org/nogdb-is-lightweight-and-native/</link><guid isPermaLink="false">5b14f7a28779210001d52b93</guid><category><![CDATA[NogDB Key Features]]></category><dc:creator><![CDATA[NogDB]]></dc:creator><pubDate>Sun, 03 Jun 2018 18:49:21 GMT</pubDate><media:content url="https://nogdb.org/content/images/2018/06/NogDB-artworks-feature-08.jpg" medium="image"/><content:encoded><![CDATA[<div class="kg-card-markdown"><img src="https://nogdb.org/content/images/2018/06/NogDB-artworks-feature-08.jpg" alt="Lightweight and native"><p>NogDB is very small, lightweight and very easy to install on any platform. NogDB also provides API for many popular languages, decreasing so much learning curve on many situations.</p>
</div>]]></content:encoded></item><item><title><![CDATA[Supports multiple platforms]]></title><description><![CDATA[<div class="kg-card-markdown"><p>Not only supporting multiple languages as native, NogDB can be used on many platforms as we said, not much thing is required for using NogDB. Just grab it, write code, compile and run on your machine.</p>
</div>]]></description><link>https://nogdb.org/features/</link><guid isPermaLink="false">5b14f7a28779210001d52b8f</guid><category><![CDATA[NogDB Key Features]]></category><dc:creator><![CDATA[NogDB]]></dc:creator><pubDate>Wed, 30 May 2018 09:05:01 GMT</pubDate><media:content url="https://nogdb.org/content/images/2018/06/NogDB-artworks-feature-07.jpg" medium="image"/><content:encoded><![CDATA[<div class="kg-card-markdown"><img src="https://nogdb.org/content/images/2018/06/NogDB-artworks-feature-07.jpg" alt="Supports multiple platforms"><p>Not only supporting multiple languages as native, NogDB can be used on many platforms as we said, not much thing is required for using NogDB. Just grab it, write code, compile and run on your machine.</p>
</div>]]></content:encoded></item><item><title><![CDATA[Welcome to Ghost]]></title><description><![CDATA[<div class="kg-card-markdown"><p>Hey! Welcome to Ghost, it's great to have you :)</p>
<p>We know that first impressions are important, so we've populated your new site with some initial <strong>Getting Started</strong> posts that will help you get familiar with everything in no time. This is the first one!</p>
<h3 id="thereareafewthingsthatyoushouldknowupfront">There are a few things that</h3></div>]]></description><link>https://nogdb.org/welcome-2/</link><guid isPermaLink="false">5b14f7a28779210001d52b8e</guid><category><![CDATA[Getting Started]]></category><dc:creator><![CDATA[Ghost]]></dc:creator><pubDate>Mon, 28 May 2018 09:44:09 GMT</pubDate><media:content url="https://casper.ghost.org/v1.0.0/images/welcome.jpg" medium="image"/><content:encoded><![CDATA[<div class="kg-card-markdown"><img src="https://casper.ghost.org/v1.0.0/images/welcome.jpg" alt="Welcome to Ghost"><p>Hey! Welcome to Ghost, it's great to have you :)</p>
<p>We know that first impressions are important, so we've populated your new site with some initial <strong>Getting Started</strong> posts that will help you get familiar with everything in no time. This is the first one!</p>
<h3 id="thereareafewthingsthatyoushouldknowupfront">There are a few things that you should know up-front:</h3>
<ol>
<li>
<p>Ghost is designed for ambitious, professional publishers who want to actively build a business around their content. That's who it works best for. If you're using Ghost for some other purpose, that's fine too - but it might not be the best choice for you.</p>
</li>
<li>
<p>The entire platform can be modified and customized to suit your needs, which is very powerful, but doing so <strong>does</strong> require some knowledge of code. Ghost is not necessarily a good platform for beginners or people who just want a simple personal blog.</p>
</li>
<li>
<p>For the best experience we recommend downloading the <a href="https://ghost.org/downloads/">Ghost Desktop App</a> for your computer, which is the best way to access your Ghost site on a desktop device.</p>
</li>
</ol>
<p>Ghost is made by an independent non-profit organisation called the Ghost Foundation. We are 100% self funded by revenue from our <a href="https://ghost.org/pricing">Ghost(Pro)</a> service, and every penny we make is re-invested into funding further development of free, open source technology for modern journalism.</p>
<p>The main thing you'll want to read about next is probably: <a href="https://nogdb.org/the-editor/">the Ghost editor</a>.</p>
<p>Once you're done reading, you can simply delete the default <strong>Ghost</strong> user from your team to remove all of these introductory posts!</p>
</div>]]></content:encoded></item><item><title><![CDATA[Using the Ghost editor]]></title><description><![CDATA[<div class="kg-card-markdown"><p>Ghost uses a language called <strong>Markdown</strong> to format text.</p>
<p>When you go to edit a post and see special characters and colours intertwined between the words, those are Markdown shortcuts which tell Ghost what to do with the words in your document. The biggest benefit of Markdown is that you</p></div>]]></description><link>https://nogdb.org/the-editor-2/</link><guid isPermaLink="false">5b14f7a28779210001d52b8d</guid><category><![CDATA[Getting Started]]></category><dc:creator><![CDATA[Ghost]]></dc:creator><pubDate>Mon, 28 May 2018 09:44:08 GMT</pubDate><media:content url="https://casper.ghost.org/v1.0.0/images/writing.jpg" medium="image"/><content:encoded><![CDATA[<div class="kg-card-markdown"><img src="https://casper.ghost.org/v1.0.0/images/writing.jpg" alt="Using the Ghost editor"><p>Ghost uses a language called <strong>Markdown</strong> to format text.</p>
<p>When you go to edit a post and see special characters and colours intertwined between the words, those are Markdown shortcuts which tell Ghost what to do with the words in your document. The biggest benefit of Markdown is that you can quickly apply formatting as you type, without needing to pause.</p>
<p>At the bottom of the editor, you'll find a toolbar with basic formatting options to help you get started as easily as possible. You'll also notice that there's a <strong>?</strong> icon, which contains more advanced shortcuts.</p>
<p>For now, though, let's run you through some of the basics. You'll want to make sure you're editing this post in order to see all the Markdown we've used.</p>
<h2 id="formattingtext">Formatting text</h2>
<p>The most common shortcuts are of course, <strong>bold</strong> text, <em>italic</em> text, and <a href="https://example.com">hyperlinks</a>. These generally make up the bulk of any document. You can type the characters out, but you can also use keyboard shortcuts.</p>
<ul>
<li><code>CMD/Ctrl + B</code> for Bold</li>
<li><code>CMD/Ctrl + I</code> for Italic</li>
<li><code>CMD/Ctrl + K</code> for a Link</li>
<li><code>CMD/Ctrl + H</code> for a Heading (Press multiple times for h2/h3/h4/etc)</li>
</ul>
<p>With just a couple of extra characters here and there, you're well on your way to creating a beautifully formatted story.</p>
<h2 id="insertingimages">Inserting images</h2>
<p>Images in Markdown look just the same as links, except they're prefixed with an exclamation mark, like this:</p>
<p><code>![Image description](/path/to/image.jpg)</code></p>
<p><img src="https://casper.ghost.org/v1.0.0/images/computer.jpg" alt="Using the Ghost editor"></p>
<p>Most Markdown editors don't make you type this out, though. In Ghost you can click on the image icon in the toolbar at the bottom of the editor, or you can just click and drag an image from your desktop directly into the editor. Both will upload the image for you and generate the appropriate Markdown.</p>
<p><em><strong>Important Note:</strong> Ghost does not currently have automatic image resizing, so it's always a good idea to make sure your images aren't gigantic files <strong>before</strong> uploading them to Ghost.</em></p>
<h2 id="makinglists">Making lists</h2>
<p>Lists in HTML are a formatting nightmare, but in Markdown they become an absolute breeze with just a couple of characters and a bit of smart automation. For numbered lists, just write out the numbers. For bullet lists, just use <code>*</code> or <code>-</code> or <code>+</code>. Like this:</p>
<ol>
<li>Crack the eggs over a bowl</li>
<li>Whisk them together</li>
<li>Make an omelette</li>
</ol>
<p>or</p>
<ul>
<li>Remember to buy milk</li>
<li>Feed the cat</li>
<li>Come up with idea for next story</li>
</ul>
<h2 id="addingquotes">Adding quotes</h2>
<p>When you want to pull out a particularly good excerpt in the middle of a piece, you can use <code>&gt;</code> at the beginning of a paragraph to turn it into a Blockquote. You might've seen this formatting before in email clients.</p>
<blockquote>
<p>A well placed quote guides a reader through a story, helping them to understand the most important points being made</p>
</blockquote>
<p>All themes handles blockquotes slightly differently. Sometimes they'll look better kept shorter, while other times you can quote fairly hefty amounts of text and get away with it. Generally, the safest option is to use blockquotes sparingly.</p>
<h2 id="dividingthingsup">Dividing things up</h2>
<p>If you're writing a piece in parts and you just feel like you need to divide a couple of sections distinctly from each other, a horizontal rule might be just what you need. Dropping <code>---</code> on a new line will create a sleek divider, anywhere you want it.</p>
<hr>
<p>This should get you going with the vast majority of what you need to do in the editor, but if you're still curious about more advanced tips then check out the <a href="https://nogdb.org/advanced-markdown/">Advanced Markdown Guide</a> - or if you'd rather learn about how Ghost taxononomies work, we've got a overview of <a href="https://nogdb.org/using-tags/">how to use Ghost tags</a>.</p>
</div>]]></content:encoded></item><item><title><![CDATA[Organising your content with tags]]></title><description><![CDATA[<div class="kg-card-markdown"><p>Ghost has a single, powerful organisational taxonomy, called tags.</p>
<p>It doesn't matter whether you want to call them categories, tags, boxes, or anything else. You can think of Ghost tags a lot like Gmail labels. By tagging posts with one or more keyword, you can organise articles into buckets of</p></div>]]></description><link>https://nogdb.org/using-tags-2/</link><guid isPermaLink="false">5b14f7a28779210001d52b8c</guid><category><![CDATA[Getting Started]]></category><dc:creator><![CDATA[Ghost]]></dc:creator><pubDate>Mon, 28 May 2018 09:44:07 GMT</pubDate><media:content url="https://casper.ghost.org/v1.0.0/images/tags.jpg" medium="image"/><content:encoded><![CDATA[<div class="kg-card-markdown"><img src="https://casper.ghost.org/v1.0.0/images/tags.jpg" alt="Organising your content with tags"><p>Ghost has a single, powerful organisational taxonomy, called tags.</p>
<p>It doesn't matter whether you want to call them categories, tags, boxes, or anything else. You can think of Ghost tags a lot like Gmail labels. By tagging posts with one or more keyword, you can organise articles into buckets of related content.</p>
<h2 id="basictagging">Basic tagging</h2>
<p>When you write a post, you can assign tags to help differentiate between categories of content. For example, you might tag some posts with <code>News</code> and other posts with <code>Cycling</code>, which would create two distinct categories of content listed on <code>/tag/news/</code> and <code>/tag/cycling/</code>, respectively.</p>
<p>If you tag a post with both <code>News</code> <em>and</em> <code>Cycling</code> - then it appears in both sections.</p>
<p>Tag archives are like dedicated home-pages for each category of content that you have. They have their own pages, their own RSS feeds, and can support their own cover images and meta data.</p>
<h2 id="theprimarytag">The primary tag</h2>
<p>Inside the Ghost editor, you can drag and drop tags into a specific order. The first tag in the list is always given the most importance, and some themes will only display the primary tag (the first tag in the list) by default. So you can add the most important tag which you want to show up in your theme, but also add a bunch of related tags which are less important.</p>
<p><mark><strong>News</strong>, Cycling, Bart Stevens, Extreme Sports</mark></p>
<p>In this example, <strong>News</strong> is the primary tag which will be displayed by the theme, but the post will also still receive all the other tags, and show up in their respective archives.</p>
<h2 id="privatetags">Private tags</h2>
<p>Sometimes you may want to assign a post a specific tag, but you don't necessarily want that tag appearing in the theme or creating an archive page. In Ghost, hashtags are private and can be used for special styling.</p>
<p>For example, if you sometimes publish posts with video content - you might want your theme to adapt and get rid of the sidebar for these posts, to give more space for an embedded video to fill the screen. In this case, you could use private tags to tell your theme what to do.</p>
<p><mark><strong>News</strong>, Cycling, #video</mark></p>
<p>Here, the theme would assign the post publicly displayed tags of <code>News</code>, and <code>Cycling</code> - but it would also keep a private record of the post being tagged with <code>#video</code>.</p>
<p>In your theme, you could then look for private tags conditionally and give them special formatting:</p>
<pre><code>{{#post}}
    {{#has tag=&quot;#video&quot;}}
        ...markup for a nice big video post layout...
    {{else}}
        ...regular markup for a post...
    {{/has}}
{{/post}}
</code></pre>
<p>You can find documentation for theme development techniques like this and many more over on Ghost's extensive <a href="https://themes.ghost.org/">theme documentation</a>.</p>
</div>]]></content:encoded></item></channel></rss>