271 lines
8.6 KiB
HTML
Executable File
271 lines
8.6 KiB
HTML
Executable File
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
|
<meta name="author" content="map[name:Tony Grosinger]">
|
|
<meta name="description" content="Improved navigation, formatting, manipulation, and even formulas in Markdown tables.
|
|
" />
|
|
<meta name="keywords" content="" />
|
|
<meta name="robots" content="noodp" />
|
|
<meta name="theme-color" content="" />
|
|
<link rel="canonical" href="https://grosinger.net/timeline/advanced_markdown_tables/" />
|
|
|
|
|
|
<title>
|
|
|
|
Advanced Markdown Tables :: Tony Grosinger
|
|
|
|
</title>
|
|
|
|
|
|
|
|
<link href="https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/3.2.1/css/flag-icon.min.css" rel="stylesheet"
|
|
type="text/css">
|
|
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="/main.b3f49e43ec78d45503e5344e4d084baa38219554bb6e52609339db36ed36d14c.css">
|
|
|
|
|
|
|
|
|
|
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
|
|
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
|
|
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
|
|
<link rel="manifest" href="/site.webmanifest">
|
|
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#252627">
|
|
<link rel="shortcut icon" href="/favicon.ico">
|
|
<meta name="msapplication-TileColor" content="#252627">
|
|
<meta name="theme-color" content="#252627">
|
|
|
|
|
|
|
|
<meta itemprop="name" content="Advanced Markdown Tables">
|
|
<meta itemprop="description" content="Improved navigation, formatting, manipulation, and even formulas in Markdown tables."><meta itemprop="datePublished" content="2020-11-15T00:00:00+00:00" />
|
|
<meta itemprop="dateModified" content="2020-11-15T00:00:00+00:00" />
|
|
<meta itemprop="wordCount" content="242">
|
|
<meta itemprop="keywords" content="" />
|
|
<meta name="twitter:card" content="summary"/>
|
|
<meta name="twitter:title" content="Advanced Markdown Tables"/>
|
|
<meta name="twitter:description" content="Improved navigation, formatting, manipulation, and even formulas in Markdown tables."/>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<meta property="article:published_time" content="2020-11-15 00:00:00 +0000 UTC" />
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</head>
|
|
|
|
<body class="dark-theme">
|
|
<div class="container">
|
|
<header class="header">
|
|
<span class="header__inner">
|
|
<a href="/" style="text-decoration: none;">
|
|
<div class="logo">
|
|
|
|
<span class="logo__mark">Tony Grosinger</span>
|
|
<span class="logo__text"></span>
|
|
<span class="logo__cursor" style=
|
|
"visibility:hidden;
|
|
|
|
">
|
|
</span>
|
|
|
|
</div>
|
|
</a>
|
|
|
|
|
|
<span class="header__right">
|
|
|
|
<span class="theme-toggle unselectable"><svg class="theme-toggler" width="24" height="24" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
<path d="M22 41C32.4934 41 41 32.4934 41 22C41 11.5066 32.4934 3 22
|
|
3C11.5066 3 3 11.5066 3 22C3 32.4934 11.5066 41 22 41ZM7 22C7
|
|
13.7157 13.7157 7 22 7V37C13.7157 37 7 30.2843 7 22Z"/>
|
|
</svg>
|
|
</span>
|
|
</span>
|
|
</span>
|
|
</header>
|
|
|
|
|
|
<div class="content">
|
|
|
|
<main class="post">
|
|
|
|
<div class="post-info">
|
|
<p>
|
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-clock">
|
|
<circle cx="12" cy="12" r="10"></circle>
|
|
<polyline points="12 6 12 12 16 14"></polyline>
|
|
</svg>
|
|
2 minutes
|
|
|
|
|
|
</p>
|
|
</div>
|
|
|
|
<article>
|
|
<h1 class="post-title">
|
|
<a href="https://grosinger.net/timeline/advanced_markdown_tables/">Advanced Markdown Tables</a>
|
|
</h1>
|
|
|
|
|
|
|
|
<div class="post-content">
|
|
<p>Improved navigation, formatting, manipulation, and even formulas in Markdown tables.</p>
|
|
<p>I am an avid proponent of maintaining a personal wiki, or personal knowledge
|
|
base. This can be as simple as a paper journal, or as complicated as programs
|
|
like DEVONthink and ROAM Research. Over the last 10 years I have experimented
|
|
with nearly a dozen approaches, but the last few have been fairly minor
|
|
tweaks.</p>
|
|
<p>To reduce the wiki churn, I realized I needed a method which could be easily
|
|
converted into any format in the future, was universally supported, and was
|
|
relatively extensible. I tried out <a href="https://orgmode.org/">org-mode</a> for a
|
|
while, but even with Evil mode, I didn’t enjoy spending time in emacs.</p>
|
|
<p>I completed what I hope to be my last wiki migration over the 2020 summer,
|
|
switching to Markdown. It’s simple, it’s used everywhere, and it seems to be
|
|
gaining ground in the personal wiki space rapidly. But leaving org-mode did
|
|
have some shortfalls. It has amazing utilities for editing tables.</p>
|
|
<p>Building off of the excellent library started by
|
|
<a href="https://github.com/susisu">susisu</a>, I have been working on adding advanced
|
|
features to tables in Markdown. With an editor that has this library
|
|
incorporated (often possible though a plugin), Markdown tables become nearly
|
|
as powerful as they are in org-mode. Automatic formatting,
|
|
adding/moving/removing columns, sorting, and now even some spreadsheet
|
|
capabilities are all possible in plain-text Markdown tables.</p>
|
|
<p><img src="https://raw.githubusercontent.com/tgrosinger/advanced-tables-obsidian/main/resources/screenshots/basic-functionality.gif" alt="Basic functionality"></p>
|
|
<p>I hope this enables you to make the jump to a Markdown-based wiki.</p>
|
|
<p>I recommend <a href="https://obsidian.md/">Obsidian</a>.</p>
|
|
</div>
|
|
</article>
|
|
|
|
<hr />
|
|
|
|
<div class="post-info">
|
|
|
|
<p>
|
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-file-text">
|
|
<path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"></path>
|
|
<polyline points="14 2 14 8 20 8"></polyline>
|
|
<line x1="16" y1="13" x2="8" y2="13"></line>
|
|
<line x1="16" y1="17" x2="8" y2="17"></line>
|
|
<polyline points="10 9 9 9 8 9"></polyline>
|
|
</svg>
|
|
242 Words
|
|
</p>
|
|
|
|
<p>
|
|
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-calendar">
|
|
<rect x="3" y="4" width="18" height="18" rx="2" ry="2"></rect>
|
|
<line x1="16" y1="2" x2="16" y2="6"></line>
|
|
<line x1="8" y1="2" x2="8" y2="6"></line>
|
|
<line x1="3" y1="10" x2="21" y2="10"></line>
|
|
</svg>
|
|
2020-11-14 16:00 -0800
|
|
</p>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</main>
|
|
|
|
</div>
|
|
|
|
|
|
<footer class="footer">
|
|
<div class="footer__inner">
|
|
<div class="footer__content">
|
|
<span>© 2023</span>
|
|
|
|
<span><a href="https://grosinger.net/">Tony Grosinger</a></span>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
<script type="text/javascript">
|
|
$(function(){
|
|
|
|
window.sr = ScrollReveal();
|
|
|
|
if ($(window).width() < 768) {
|
|
|
|
if ($('.timeline-content').hasClass('js--fadeInLeft')) {
|
|
$('.timeline-content').removeClass('js--fadeInLeft').addClass('js--fadeInRight');
|
|
}
|
|
|
|
sr.reveal('.js--fadeInRight', {
|
|
origin: 'right',
|
|
distance: '300px',
|
|
easing: 'ease-in-out',
|
|
duration: 800,
|
|
});
|
|
|
|
} else {
|
|
|
|
sr.reveal('.js--fadeInLeft', {
|
|
origin: 'left',
|
|
distance: '300px',
|
|
easing: 'ease-in-out',
|
|
duration: 800,
|
|
});
|
|
|
|
sr.reveal('.js--fadeInRight', {
|
|
origin: 'right',
|
|
distance: '300px',
|
|
easing: 'ease-in-out',
|
|
duration: 800,
|
|
});
|
|
|
|
}
|
|
|
|
sr.reveal('.js--fadeInLeft', {
|
|
origin: 'left',
|
|
distance: '300px',
|
|
easing: 'ease-in-out',
|
|
duration: 800,
|
|
});
|
|
|
|
sr.reveal('.js--fadeInRight', {
|
|
origin: 'right',
|
|
distance: '300px',
|
|
easing: 'ease-in-out',
|
|
duration: 800,
|
|
});
|
|
|
|
|
|
});
|
|
|
|
</script>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript" src="/bundle.min.01197697ee8afb53b4ecb6cc3c7cf18102750ec7b92dcc6cad336c6cde291ed8e3d5b00d93a2570d61b061abace0f9a303eeffdbc939b3e305cd5d754caa868b.js" integrity="sha512-ARl2l+6K+1O07LbMPHzxgQJ1Dse5LcxsrTNsbN4pHtjj1bANk6JXDWGwYaus4PmjA+7/28k5s+MFzV11TKqGiw=="></script>
|
|
|
|
|
|
|
|
</body>
|
|
</html>
|