Skip to content

Commit

Permalink
deploy: 8ede9a349aa594e2bfaa43ef7588ff914cbab3cc
Browse files Browse the repository at this point in the history
  • Loading branch information
iffy committed Nov 1, 2021
0 parents commit 042900f
Show file tree
Hide file tree
Showing 294 changed files with 19,295 additions and 0 deletions.
Empty file added .nojekyll
Empty file.
Binary file added blog/2017/11/02/sqlite.html/bucketsandsqlite.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
139 changes: 139 additions & 0 deletions blog/2017/11/02/sqlite.html/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,139 @@
<!doctype html><html>
<head>
<title>
Buckets and SQLite
</title>
<link rel="shortcut icon" href=/img/favicon.png type=image/png>
<link rel=stylesheet type=text/css href=/css/buckets.css>
<meta name=viewport content="width=device-width,initial-scale=1">
<link rel=stylesheet type=text/css href=/css/buckets-blog.css>
<link rel=alternate hreflang=es href=https://www.budgetwithbuckets.com/es/blog/2017/11/02/sqlite.html/>
</head>
<body>
<div class=buckets-nav>
<section>
<a class=logo href=/>
<img src=/img/logo.png>
</a>
<a href=/guide/>Guide</a>
<a class=active href=/blog/>Blog</a>
<a target=_blank href=https://github.com/buckets/application/blob/master/CHANGELOG.md>Changelog</a>
<a target=_blank href=https://github.com/buckets/application/issues>Issue Tracker</a>
</section>
<section>
<a class=download-button href=/download/>
<img src=/images/download.svg width=15 height=15>
Download
</a>
<a class=buy-button href=/buy/>Buy $49</a>
</section>
</div>
<div class=wrapper>
<div class=post>
<header class=post-header>
<div class=next-prev-links>
<a class=next href=/blog/2017/11/07/ynab.html/>Next &rarr;</a>
</div>
<h1 class=blog-title>Buckets and SQLite</h1>
<div style=text-align:center;margin-top:2rem><svg viewBox="0 0 600 15" xmlns="http://www.w3.org/2000/svg" style="max-width:800px"><rect x="20%" y="7" width="60%" height="1" fill="lightgrey" rx="2"/><rect class="rotate" x="50%" y="4" width="7" height="7" fill="#fff" stroke="lightgrey" stroke-width="1" rx="1"/></svg>
</div>
<p class=post-meta>
Nov 2, 2017
• Matt
</p>
</header>
<article class=post-content>
<div style=text-align:center><img src=./bucketsandsqlite.png></div>
<p>If you want programmatic access to your budget, here&rsquo;s a secret: Buckets files are just SQLite databases.</p>
<div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-text data-lang=text>$ sqlite3 Tutorial.buckets
SQLite version 3.16.0 2016-11-04 19:09:39
Enter &#34;.help&#34; for usage hints.
sqlite&gt; select count(*) from account;
3
</code></pre></div><p>You&rsquo;re welcome to open up your budget files and even modify them. Just be sure to follow <a href=https://sqlite.org/faq.html#q5>all the normal SQLite concurrency tips.</a> The Buckets app includes the most current documentation about the file format (look in the Help menu).</p>
<h2 id=example---how-much-is-in-the-bank>Example - How much is in the bank?<a class=anchor-link href=#example---how-much-is-in-the-bank>&para;</a></h2>
<p>On macOS or Linux, the <code>sqlite3</code> command line tool is likely already installed. Here&rsquo;s a one line program that will tell you how much money you have in the bank. Remember that all amounts are stored as integers (hence the <code>printf</code> call):</p>
<div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash>$ echo <span style=color:#e6db74>&#39;SELECT printf(&#34;%.2f&#34;, sum(balance)/100.0) AS balance FROM account;&#39;</span> <span style=color:#ae81ff>\
</span><span style=color:#ae81ff></span>| sqlite3 Tutorial.buckets
4852.24
</code></pre></div><p>And if you find the transaction-importing functions of Buckets limited, you&rsquo;re welcome to write your own using your favorite language&rsquo;s SQLite library.</p>
<p>Happy Budgeting!</p>
</article>
<div style=text-align:center;margin-top:2rem><svg viewBox="0 0 600 15" xmlns="http://www.w3.org/2000/svg" style="max-width:800px"><rect x="20%" y="7" width="60%" height="1" fill="lightgrey" rx="2"/><rect class="rotate" x="50%" y="4" width="7" height="7" fill="#fff" stroke="lightgrey" stroke-width="1" rx="1"/></svg>
</div>
<div class="next-prev-links close" style=margin-top:1rem>
<a class=next href=/blog/2017/11/07/ynab.html/>Next &rarr;</a>
</div>
<h2 style=margin-top:2rem>Comments</h2>
<div class=comment>
<img src="https://www.gravatar.com/avatar/52ae7ab31fa301f58d43a03fe2dd2872?s=64">
<div>
<div class=details>
<div class=author>Martin</div>
<div class=date>Tue May 8, 2018 2:44</div>
</div>
<div class=message>Thank you so much for this (staying open & standard in your file storage), it makes it a breeze to solve little problems along the way...</div>
</div>
</div>
<div id=comment-form style=display:none>
<a name=comment-form></a>
<script>window.location.search.substr(1).indexOf('comment=submitted')!==-1&&document.write(`<div class="notification">Comment submitted! Your comment will be posted here after being reviewed.</div>`)</script>
<script>function setCommentStatus(b,c){const a=document.getElementById('comment-notification');a.innerText=b,a.setAttribute('class',c),a.setAttribute('style','')}function submitComment(c){const b=document.getElementById('comment-submit');b.disabled=!0,setCommentStatus('Submitting...','notification'),c.preventDefault();const d=document.getElementById('comment-message').value,e=document.getElementById('comment-email').value,f=document.getElementById('comment-name').value,g=document.getElementById('comment-slug').value,h={comment:d,email:e,name:f,subdir:g};let a=new XMLHttpRequest;a.addEventListener('load',a=>{setCommentStatus('Comment submitted! Your comment will be posted here after being reviewed.','notification'),b.disabled=!1}),a.addEventListener('error',a=>{console.log('Error',a),setCommentStatus('Error submitting comment. If it continues not to work, please email us.','notification error'),b.disabled=!1}),a.open('POST','https://7nd5a97217.execute-api.us-east-1.amazonaws.com/default/GitHubJekyllComments'),a.send(JSON.stringify(h))}XMLHttpRequest&&document.getElementById('comment-form').setAttribute('style','')</script>
<form method=post class=comment-form onsubmit="return submitComment(event),!1">
<input type=hidden id=comment-slug value=sqlite>
<label>Name:<br><input id=comment-name type=text></label>
<label>Email (optional&mdash;not displayed):<br><input id=comment-email type=email></label>
<label>Message:</label>
<textarea id=comment-message></textarea>
<button type=submit id=comment-submit>Add comment</button>
</form>
<div id=comment-notification style=display:none></div>
</div>
<div class=mailing-list-main style=margin-top:2rem>
<div class=mailing-list-title>Get these posts in your email, monthly:</div>
<p>
<link href=//cdn-images.mailchimp.com/embedcode/classic-10_7.css rel=stylesheet type=text/css>
<style type=text/css>#mc_embed_signup{background:0 0;clear:left}#mc_embed_signup form{padding:0}#mc_embed_signup input{border-radius:3px}#mc_embed_signup input[type=submit]{background-color:#08c}</style>
<div id=mc_embed_signup>
<form action="https://bucketsisbetter.us8.list-manage.com/subscribe/post?u=bc109895c8df246ae54ad4d71&id=0960a6d05e" method=post id=mc-embedded-subscribe-form name=mc-embedded-subscribe-form class=validate target=_blank novalidate>
<div id=mc_embed_signup_scroll>
<div class=mc-field-group>
<label for=mce-EMAIL>Email Address
</label>
<input type=email name=EMAIL class="required email" id=mce-EMAIL>
</div>
<div class=mc-field-group>
<label for=mce-FNAME>First Name
</label>
<input type=text name=FNAME class=required id=mce-FNAME>
</div>
<div id=mce-responses class=clear>
<div class=response id=mce-error-response style=display:none></div>
<div class=response id=mce-success-response style=display:none></div>
</div>
<div style=position:absolute;left:-5000px aria-hidden=true><input type=text name=b_bc109895c8df246ae54ad4d71_0960a6d05e tabindex=-1></div>
<div class=clear><input type=submit value=Subscribe name=subscribe id=mc-embedded-subscribe class=button></div>
</div>
</form>
</div>
</p>
</div>
</div>
</div>
<div style=text-align:center;margin-top:2rem><svg viewBox="0 0 600 15" xmlns="http://www.w3.org/2000/svg" style="max-width:800px"><rect x="20%" y="7" width="60%" height="1" fill="lightgrey" rx="2"/><rect class="rotate" x="50%" y="4" width="7" height="7" fill="#fff" stroke="lightgrey" stroke-width="1" rx="1"/></svg>
</div>
<footer>
<div><a href=https://onepartrain.com target=_blank>&copy; One Part Rain, LLC</a></div>
<div><a href=mailto:hello@budgetwithbuckets.com>hello@budgetwithbuckets.com</a></div>
<div><a href=https://www.patreon.com/iffy target=_blank>Donate</a></div>
<div><a href=https://github.com/buckets/policies/blob/master/privacy-policy.md target=_blank>Privacy</a></div>
<div>
<details>
<summary>English</summary>
<div><a href=https://www.budgetwithbuckets.com/es/blog/2017/11/02/sqlite.html/>español</a></div>
</details>
</div>
</footer>
<script type=text/javascript>var Tawk_API=Tawk_API||{},Tawk_LoadStart=new Date;(function(){var a=document.createElement("script"),b=document.getElementsByTagName("script")[0];a.async=!0,a.src='https://embed.tawk.to/59835f8ed1385b2b2e285765/default',a.charset='UTF-8',a.setAttribute('crossorigin','*'),b.parentNode.insertBefore(a,b)})()</script>
</body>
</html>
Binary file added blog/2017/11/07/ynab.html/import-shot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
119 changes: 119 additions & 0 deletions blog/2017/11/07/ynab.html/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
<!doctype html><html>
<head>
<title>
Importing from YNAB4
</title>
<link rel="shortcut icon" href=/img/favicon.png type=image/png>
<link rel=stylesheet type=text/css href=/css/buckets.css>
<meta name=viewport content="width=device-width,initial-scale=1">
<link rel=stylesheet type=text/css href=/css/buckets-blog.css>
<link rel=alternate hreflang=es href=https://www.budgetwithbuckets.com/es/blog/2017/11/07/ynab.html/>
</head>
<body>
<div class=buckets-nav>
<section>
<a class=logo href=/>
<img src=/img/logo.png>
</a>
<a href=/guide/>Guide</a>
<a class=active href=/blog/>Blog</a>
<a target=_blank href=https://github.com/buckets/application/blob/master/CHANGELOG.md>Changelog</a>
<a target=_blank href=https://github.com/buckets/application/issues>Issue Tracker</a>
</section>
<section>
<a class=download-button href=/download/>
<img src=/images/download.svg width=15 height=15>
Download
</a>
<a class=buy-button href=/buy/>Buy $49</a>
</section>
</div>
<div class=wrapper>
<div class=post>
<header class=post-header>
<div class=next-prev-links>
<a class=prev href=/blog/2017/11/02/sqlite.html/>&larr; Prev</a>
<a class=next href=/blog/2017/11/08/end-of-year.html/>Next &rarr;</a>
</div>
<h1 class=blog-title>Importing from YNAB4</h1>
<div style=text-align:center;margin-top:2rem><svg viewBox="0 0 600 15" xmlns="http://www.w3.org/2000/svg" style="max-width:800px"><rect x="20%" y="7" width="60%" height="1" fill="lightgrey" rx="2"/><rect class="rotate" x="50%" y="4" width="7" height="7" fill="#fff" stroke="lightgrey" stroke-width="1" rx="1"/></svg>
</div>
<p class=post-meta>
Nov 7, 2017
• Matt
</p>
</header>
<article class=post-content>
<p>You Need a Budget 4 (YNAB4) is a good application. Too bad they took to the cloud :( Luckily you can now easily import YNAB4 budget files into Buckets!</p>
<div style=text-align:center;padding:1rem><img width=300 style=border-radius:3px src=./import-shot.png></div>
<p>First make a new budget file, then select the menu option &ldquo;Budget&rdquo; > &ldquo;Import From YNAB&rdquo;. Choose your <code>.ynab4</code> file and continue to enjoy private budgeting!</p>
</article>
<div style=text-align:center;margin-top:2rem><svg viewBox="0 0 600 15" xmlns="http://www.w3.org/2000/svg" style="max-width:800px"><rect x="20%" y="7" width="60%" height="1" fill="lightgrey" rx="2"/><rect class="rotate" x="50%" y="4" width="7" height="7" fill="#fff" stroke="lightgrey" stroke-width="1" rx="1"/></svg>
</div>
<div class="next-prev-links close" style=margin-top:1rem>
<a class=prev href=/blog/2017/11/02/sqlite.html/>&larr; Prev</a>
<a class=next href=/blog/2017/11/08/end-of-year.html/>Next &rarr;</a>
</div>
<h2 style=margin-top:2rem>Comments</h2>
<div id=comment-form style=display:none>
<a name=comment-form></a>
<script>window.location.search.substr(1).indexOf('comment=submitted')!==-1&&document.write(`<div class="notification">Comment submitted! Your comment will be posted here after being reviewed.</div>`)</script>
<script>function setCommentStatus(b,c){const a=document.getElementById('comment-notification');a.innerText=b,a.setAttribute('class',c),a.setAttribute('style','')}function submitComment(c){const b=document.getElementById('comment-submit');b.disabled=!0,setCommentStatus('Submitting...','notification'),c.preventDefault();const d=document.getElementById('comment-message').value,e=document.getElementById('comment-email').value,f=document.getElementById('comment-name').value,g=document.getElementById('comment-slug').value,h={comment:d,email:e,name:f,subdir:g};let a=new XMLHttpRequest;a.addEventListener('load',a=>{setCommentStatus('Comment submitted! Your comment will be posted here after being reviewed.','notification'),b.disabled=!1}),a.addEventListener('error',a=>{console.log('Error',a),setCommentStatus('Error submitting comment. If it continues not to work, please email us.','notification error'),b.disabled=!1}),a.open('POST','https://7nd5a97217.execute-api.us-east-1.amazonaws.com/default/GitHubJekyllComments'),a.send(JSON.stringify(h))}XMLHttpRequest&&document.getElementById('comment-form').setAttribute('style','')</script>
<form method=post class=comment-form onsubmit="return submitComment(event),!1">
<input type=hidden id=comment-slug value=ynab>
<label>Name:<br><input id=comment-name type=text></label>
<label>Email (optional&mdash;not displayed):<br><input id=comment-email type=email></label>
<label>Message:</label>
<textarea id=comment-message></textarea>
<button type=submit id=comment-submit>Add comment</button>
</form>
<div id=comment-notification style=display:none></div>
</div>
<div class=mailing-list-main style=margin-top:2rem>
<div class=mailing-list-title>Get these posts in your email, monthly:</div>
<p>
<link href=//cdn-images.mailchimp.com/embedcode/classic-10_7.css rel=stylesheet type=text/css>
<style type=text/css>#mc_embed_signup{background:0 0;clear:left}#mc_embed_signup form{padding:0}#mc_embed_signup input{border-radius:3px}#mc_embed_signup input[type=submit]{background-color:#08c}</style>
<div id=mc_embed_signup>
<form action="https://bucketsisbetter.us8.list-manage.com/subscribe/post?u=bc109895c8df246ae54ad4d71&id=0960a6d05e" method=post id=mc-embedded-subscribe-form name=mc-embedded-subscribe-form class=validate target=_blank novalidate>
<div id=mc_embed_signup_scroll>
<div class=mc-field-group>
<label for=mce-EMAIL>Email Address
</label>
<input type=email name=EMAIL class="required email" id=mce-EMAIL>
</div>
<div class=mc-field-group>
<label for=mce-FNAME>First Name
</label>
<input type=text name=FNAME class=required id=mce-FNAME>
</div>
<div id=mce-responses class=clear>
<div class=response id=mce-error-response style=display:none></div>
<div class=response id=mce-success-response style=display:none></div>
</div>
<div style=position:absolute;left:-5000px aria-hidden=true><input type=text name=b_bc109895c8df246ae54ad4d71_0960a6d05e tabindex=-1></div>
<div class=clear><input type=submit value=Subscribe name=subscribe id=mc-embedded-subscribe class=button></div>
</div>
</form>
</div>
</p>
</div>
</div>
</div>
<div style=text-align:center;margin-top:2rem><svg viewBox="0 0 600 15" xmlns="http://www.w3.org/2000/svg" style="max-width:800px"><rect x="20%" y="7" width="60%" height="1" fill="lightgrey" rx="2"/><rect class="rotate" x="50%" y="4" width="7" height="7" fill="#fff" stroke="lightgrey" stroke-width="1" rx="1"/></svg>
</div>
<footer>
<div><a href=https://onepartrain.com target=_blank>&copy; One Part Rain, LLC</a></div>
<div><a href=mailto:hello@budgetwithbuckets.com>hello@budgetwithbuckets.com</a></div>
<div><a href=https://www.patreon.com/iffy target=_blank>Donate</a></div>
<div><a href=https://github.com/buckets/policies/blob/master/privacy-policy.md target=_blank>Privacy</a></div>
<div>
<details>
<summary>English</summary>
<div><a href=https://www.budgetwithbuckets.com/es/blog/2017/11/07/ynab.html/>español</a></div>
</details>
</div>
</footer>
<script type=text/javascript>var Tawk_API=Tawk_API||{},Tawk_LoadStart=new Date;(function(){var a=document.createElement("script"),b=document.getElementsByTagName("script")[0];a.async=!0,a.src='https://embed.tawk.to/59835f8ed1385b2b2e285765/default',a.charset='UTF-8',a.setAttribute('crossorigin','*'),b.parentNode.insertBefore(a,b)})()</script>
</body>
</html>
Loading

0 comments on commit 042900f

Please sign in to comment.