mirror of https://github.com/joplin/website.git
372 lines
16 KiB
HTML
372 lines
16 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
<!-- Common page configuration that goes in the <head></head> tag -->
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,viewport-fit=cover"/>
|
|
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; img-src * data: ; style-src 'self' 'unsafe-inline' ; child-src 'none' ; connect-src 'self' raw.githubusercontent.com ;"/>
|
|
<link rel="icon" type="image/x-icon" href="/plugins/favicon.png" />
|
|
<link rel="stylesheet" href="/plugins/fontawesome-6.4.2/css/all.min.css" type="text/css"/>
|
|
|
|
<!-- Allow included JavaScipt files to determine the root directory of this site. -->
|
|
<script id="site-root" type="text/plain">/plugins</script>
|
|
|
|
<!-- Scripts used by all pages -->
|
|
<script src="/plugins/bundle-main.js"></script>
|
|
<script src="/plugins/bundle-components.js"></script>
|
|
<title>Joplin Plugins - Attaché</title>
|
|
|
|
<meta property="og:title" content="Joplin Plugin: Attaché"/>
|
|
<meta property="og:description" content="Your attachment updater. Mass replacement of Joplin attachments (resources) such as resized image files, current music playlists, and any other attachments you need to one-off or regularly update within Joplin."/>
|
|
<meta property="og:image" content=""/>
|
|
|
|
<script src="/plugins/bundle-pluginPage.js"></script>
|
|
</head>
|
|
|
|
<body>
|
|
<nav class="navbar navbar-expand-lg bg-body-tertiary sticky-top">
|
|
<div class="container">
|
|
<a class="navbar-brand" href="https://joplinapp.org/">
|
|
<img src="/plugins/joplin-logo.png" alt="Home"/>
|
|
</a>
|
|
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
|
|
<span class="navbar-toggler-icon"></span>
|
|
</button>
|
|
<div class="collapse navbar-collapse" id="navbarSupportedContent">
|
|
<ul class="navbar-nav ms-auto me-2 mb-2 mb-lg-0">
|
|
<li class="nav-item">
|
|
<a class="nav-link active" aria-current="page" href="/plugins">Plugins</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="https://joplinapp.org/news/">News</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="https://joplinapp.org/help/">Help</a>
|
|
</li>
|
|
<li class="nav-item">
|
|
<a class="nav-link" href="https://discourse.joplinapp.org/">Forum</a>
|
|
</li>
|
|
</ul>
|
|
<div class="search-field col-12 col-lg-3 mb-3 mb-lg-0 me-lg-3">
|
|
<i class="fa-solid fa-magnifying-glass search-icon" alt=""></i>
|
|
<input
|
|
type="search"
|
|
class="form-control search-input"
|
|
placeholder="Search..."
|
|
id="search-input"/>
|
|
<div class="search-results" id="search-results-container" aria-live="polite"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</nav>
|
|
<main class="plugin-details">
|
|
<nav aria-label="breadcrumb" class="container breadcrumb-container">
|
|
<ol class="breadcrumb">
|
|
<li class="breadcrumb-item">
|
|
<a href="/plugins"><i class="fas fa-home"></i> Home</a>
|
|
</li>
|
|
<li class="breadcrumb-item"><a id="current-category-nav-link" href="/plugins/">All</a></li>
|
|
<li class="breadcrumb-item active" aria-current="page">Attaché</li>
|
|
</ol>
|
|
</nav>
|
|
<div class="plugin-overview">
|
|
<div class="spacer">
|
|
</div>
|
|
<div class="plugin-page-header">
|
|
<div class="title plugin-page-title">
|
|
<img
|
|
class="icon plugin-icon -missing"
|
|
src=""
|
|
alt="Plugin icon"
|
|
/>
|
|
<div>
|
|
<h1 class="card-title">Attaché</h1>
|
|
<div class="card-title pb-2">
|
|
by
|
|
<a
|
|
href="./?search=author%3D%22Manu Erwin%22%20max-results%3D20"
|
|
style="display: inline;"
|
|
>
|
|
Manu Erwin
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="categories">
|
|
<a class="plugin-category me-2 badge" href="/plugins/#tab-productivity">
|
|
<i class="fas fa-tag"></i> productivity
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<div class="download-link-container">
|
|
<a
|
|
href="/plugins/downloadPlugin.html?plugin=io.github.manuerwin.attache"
|
|
class="btn btn-primary process--append-parent-tab-to-href"
|
|
>
|
|
Install Plugin
|
|
</a>
|
|
</div>
|
|
</div>
|
|
<div class="plugin-content">
|
|
<div class="secondary-section">
|
|
<div class="content" id="screenshots-container">
|
|
<div id="raw-screenshots">
|
|
</div>
|
|
|
|
<!-- See https://getbootstrap.com/docs/5.3/components/carousel/ -->
|
|
<div id="screenshots-carousel" class="carousel slide">
|
|
<button
|
|
class="carousel-control-prev"
|
|
type="button"
|
|
data-bs-target="#screenshots-carousel"
|
|
data-bs-slide="prev"
|
|
>
|
|
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
|
|
<span class="visually-hidden">Previous</span>
|
|
</button>
|
|
<button
|
|
class="carousel-control-next"
|
|
type="button"
|
|
data-bs-target="#screenshots-carousel"
|
|
data-bs-slide="next"
|
|
>
|
|
<span class="carousel-control-next-icon" aria-hidden="true"></span>
|
|
<span class="visually-hidden">Next</span>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="container section">
|
|
<h3>Description</h3>
|
|
<p class="card-text pb-4">Your attachment updater. Mass replacement of Joplin attachments (resources) such as resized image files, current music playlists, and any other attachments you need to one-off or regularly update within Joplin.</p>
|
|
</div>
|
|
<div class="container section">
|
|
<h3>Additional Information</h3>
|
|
<table class="additional-information-table">
|
|
<tbody>
|
|
<tr>
|
|
<th>Links:</th>
|
|
<td>
|
|
<ul class="list-group list-group-flush text-break">
|
|
<li><a href=https://github.com/manuerwin/joplin-plugin-attache style="display: block;"><i class="fa-solid fa-link"></i> Repository</a></li>
|
|
<li><a href=https://github.com/manuerwin/joplin-plugin-attache#readme style="display: block;"><i class="fa-solid fa-link"></i> Homepage</a></li>
|
|
<li>
|
|
<a
|
|
id="view-plugin-source-link"
|
|
href="/plugins/view-source.html?plugin=io.github.manuerwin.attache"
|
|
class="process--append-parent-tab-to-href"
|
|
>
|
|
<i class="fa-solid fa-code"></i> View source
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<th>Maintainers:</th>
|
|
<td>
|
|
<a href="./?search=maintainer%3D%22manuerwin%22%20max-results%3D20" class="maintainer-link">
|
|
manuerwin
|
|
</a>
|
|
</td>
|
|
</tr>
|
|
<tr><th>Version:</th><td>1.5.0</td></tr>
|
|
<tr><th>Minimum app version:</th><td>3.0.1</td></tr>
|
|
<tr><th>Downloads: This version:</th><td>207</td></tr>
|
|
<tr><th>Last updated:</th><td class="process--format-as-local-time">2024-08-17T06:09:11Z</td></tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div class="container section" id="readme" data--is-rendered-markdown>
|
|
|
|
|
|
<ul>
|
|
<li><a href="#Attach%C3%A9overview">Attaché Overview</a></li>
|
|
<li><a href="#Installation">Installation</a>
|
|
<ul>
|
|
<li><a href="#Automatic">Automatic</a></li>
|
|
<li><a href="#Manual">Manual</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#Usage">Usage</a>
|
|
<ul>
|
|
<li><a href="#Manualuse">Manual use</a>
|
|
<ul>
|
|
<li><a href="#StepOne-deletingresourcesandsyncing">Step One - deleting resources and sync'ing</a></li>
|
|
<li><a href="#StepTwo-creatingresources">Step Two - creating resources</a></li>
|
|
</ul>
|
|
</li>
|
|
<li><a href="#Automateduse">Automated use</a></li>
|
|
</ul>
|
|
</li>
|
|
</ul>
|
|
|
|
|
|
<h1><a></a>Attaché Overview</h1>
|
|
<p>A Joplin plugin. Your attachment updater. Mass replacement of Joplin attachments (resources) such as resized image files, current music playlists, and any other attachments you need to one-off or regularly update within Joplin.</p>
|
|
<h1><a></a>Installation</h1>
|
|
<h2><a></a>Automatic</h2>
|
|
<ul>
|
|
<li>Go to <code>Preferences > Plugins</code> (Mac) OR <code>Tools > Options > Plugins</code></li>
|
|
<li>Search for <code>Attaché</code></li>
|
|
<li>Click Install plugin</li>
|
|
<li>Restart Joplin to enable the plugin</li>
|
|
</ul>
|
|
<h2><a></a>Manual</h2>
|
|
<ul>
|
|
<li>Download the latest released JPL package (<code>io.github.manuerwin.attache.jpl</code>) from <a href="https://github.com/manuerwin/joplin-plugin-attache/releases/latest">here</a></li>
|
|
<li>Go to <code>Preferences > Plugins</code> (Mac) OR <code>Tools > Options > Plugins</code></li>
|
|
<li>Click cog icon next to "Manage your plugins" > Install from file > choose the recently downloaded file</li>
|
|
<li>Restart Joplin to enable the plugin</li>
|
|
</ul>
|
|
<h1><a></a>Usage</h1>
|
|
<p><em><strong>Backup your data!</strong></em></p>
|
|
<p>Then configure the Plugin via <code>Preferences > Plugins > Attaché</code> (Mac) OR <code>Tools > Options > Attaché</code> (PC?).</p>
|
|
<p><em><strong>NOTE</strong></em> Make sure a value is set for the Path configuration value that defines the location of the files that will replace your existing resources.</p>
|
|
<img width="772" alt="Attaché_plugin_config_options" src="https://github.com/manuerwin/joplin-plugin-attache/assets/982158/0b05195a-8d4c-4caf-b1bd-35f4db058513" />
|
|
<p>Please be aware there is no UI (other than an error dialog message) as Attaché runs in the background.</p>
|
|
<p><em><strong>NOTE</strong></em> due to Joplin's synchronisation conflict safeguards, file/resource replace is a two-step process that is automated for you by the plugin.</p>
|
|
<h2><a></a>Manual use</h2>
|
|
<p>After backing up your data, defining the configuration settings, and RESTARTING Joplin, the file and processing sub-directories are automatically created for you.</p>
|
|
<p><em><strong>CAUTION</strong></em> There has been a report of problems processing a very large number of replacement files (8000+), please backup your Joplin data (for example; by using the easy export option), then perform a small test to make sure all works ok for you. Suggest not touching Joplin notes/resources while the replacement is happening. Also take note of how source files can be named below.</p>
|
|
<h3><a></a>Step One - deleting resources and sync'ing</h3>
|
|
<p>Copy your source files into the files path that you entered/choose in settings. Your source files can be named in two ways:</p>
|
|
<ol>
|
|
<li>the same filename as shown in your notes (for example, music.m3u)</li>
|
|
<li>the id of the resource (for example, b8bf831c8d804f6d8e5ab13ae12de595.jpg)</li>
|
|
</ol>
|
|
<p><em><strong>IMPORTANT</strong></em> If you are choosing to replace resources via filename (for example, music.m3u), you must be <em><strong>CERTAIN</strong></em>:</p>
|
|
<ol>
|
|
<li>there is <strong>only one resource with that filename across all your notes</strong>. If there are more, none will be replaced. AND</li>
|
|
<li>The <strong>filename in your note must be unchanged</strong> from when you originally attached it. This is because of the way Joplin stores references to resources(attachments) under the covers.</li>
|
|
</ol>
|
|
<p>Choose the <code>Tools > Attaché - Replace/update attachments</code> command (Mac) OR the equivalent navigation command (PC).</p>
|
|
<p>The plugin takes over from now on, it will delete each matching resource within Joplin, and move each source file to the <code>Step 1 - Resource Deleted Sync Needed</code> sub-directory.</p>
|
|
<p><em><strong>IMPORTANT</strong></em> this step has <strong>NOT</strong> updated your Notes, you will see the resource reference within any note still exists, however the preview of the note/resource will show a placeholder icon because the underlying resource (aka attachment) no longer exists.</p>
|
|
<p>Synchronisation is automatically started for you (if you have it configured), you'll see remote resources being deleted.
|
|
<em><strong>IMPORTANT</strong></em> let synchronisation complete, else you risk conflicts.</p>
|
|
<p><em><strong>IMPORTANT</strong></em> a .REPLACE file is created in the <code>Step 1 - Resource Deleted Sync Needed</code> sub-directory for each of the resources you are replacing, please don't touch these as Attaché uses them for step two.</p>
|
|
<h3><a></a>Step Two - creating resources</h3>
|
|
<p>After the above synchronisation has finished, the plugin will create each resource within Joplin, and move your source file to the <code>Step 2 - Resource Replaced</code> sub-directory.</p>
|
|
<p>Again, your Notes have <strong>NOT</strong> been updated in any way. The placeholder icon in preview will now show your replacement resource (once you navigate and then back to a note), as your replacement file has just been created with the same reference id that is in your note.</p>
|
|
<p>Also note: your source replacement files are <strong>NEVER</strong> deleted, they are simply moved to different locations so you know the status of each file/resource.</p>
|
|
<h2><a></a>Automated use</h2>
|
|
<p>By enabling the <code>Run on start and after sync</code> option, Attaché will be run on Joplin start and following synchronisation for you.</p>
|
|
<p>At any time, copy your source files into the Path file location, and either restart Joplin or force synchronisation and the plugin will perform the same steps detailed above.</p>
|
|
<h1>Configuration Options</h1>
|
|
<table class="table table-hover undefined">
|
|
<thead>
|
|
<tr>
|
|
<th>Option</th>
|
|
<th>Description</th>
|
|
<th>Default</th>
|
|
<th>Required</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td><code>Files Path</code></td>
|
|
<td>Where to obtain the replacement files that will replace existing resources. See Step One above for the two formats that replacement filenames can have. All others will be ignored.</td>
|
|
<td></td>
|
|
<td>YES</td>
|
|
</tr>
|
|
<tr>
|
|
<td><code>Run on start and after sync</code></td>
|
|
<td>If checked (i.e. true), Attaché will run immediately after Joplin starts and after each synchronisation.</td>
|
|
<td>unchecked (i.e. will NOT run on start or after sync by default)</td>
|
|
<td>Optional</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<img width="772" alt="Attaché_plugin_config_options" src="https://github.com/manuerwin/joplin-plugin-attache/assets/982158/0b05195a-8d4c-4caf-b1bd-35f4db058513" />
|
|
<h1>Changelog</h1>
|
|
<p>See <a href="https://raw.githubusercontent.com/manuerwin/joplin-plugin-attache/HEAD/CHANGELOG.md">CHANGELOG.md</a></p>
|
|
<h1>Developers: Links</h1>
|
|
<p>Would you like to contribute to this or build your own plugin?</p>
|
|
<ul>
|
|
<li><a href="https://joplinapp.org/api/get_started/plugins/">Joplin - Getting started with plugin development</a></li>
|
|
<li><a href="https://joplinapp.org/api/references/plugin_api/classes/joplin.html">Joplin - Plugin API reference</a></li>
|
|
<li><a href="https://joplinapp.org/api/references/rest_api/">Joplin - Data API reference</a></li>
|
|
<li><a href="https://github.com/laurent22/joplin/tree/dev/packages/app-cli/tests/support/plugins">Joplin - Plugin examples</a></li>
|
|
</ul>
|
|
|
|
</div>
|
|
</div>
|
|
</main>
|
|
|
|
<footer class="page-footer">
|
|
<div class="plugin-documentation-section">
|
|
<div class="heading">
|
|
Would you like to submit or develop a plugin? Consult our documentation:
|
|
</div>
|
|
<a class="btn btn-outline-primary" href="https://joplinapp.org/help/api/get_started/plugins">
|
|
See documentation
|
|
</a>
|
|
</div>
|
|
|
|
<div class="links legal-and-about-links">
|
|
<div class="copyright">© Joplin 2023 - 2024</div>
|
|
<a class="link terms-and-conditions" href="/plugins/terms-and-conditions.html">Terms and conditions</a>
|
|
<a class="link privacy" href="/plugins/privacy-policy.html">Privacy policy</a>
|
|
</div>
|
|
|
|
|
|
<div class="site-links">
|
|
<a
|
|
class="a-github"
|
|
href="https://github.com/joplin/website-plugin-discovery"
|
|
aria-label="GitHub"
|
|
title="GitHub"
|
|
>
|
|
<i class="fab fa-github"></i>
|
|
</a>
|
|
<a
|
|
class="a-discord"
|
|
href="https://discord.com/invite/VSj7AFHvpq"
|
|
aria-label="Discord"
|
|
title="Discord"
|
|
>
|
|
<i class="fab fa-discord"></i>
|
|
</a>
|
|
<a
|
|
class="a-linkedin"
|
|
href="https://www.linkedin.com/company/joplin"
|
|
aria-label="LinkedIn"
|
|
title="LinkedIn"
|
|
>
|
|
<i class="fab fa-linkedin"></i>
|
|
</a>
|
|
<a
|
|
class="a-twitter"
|
|
href="https://twitter.com/joplinapp"
|
|
aria-label="Twitter"
|
|
title="Twitter"
|
|
>
|
|
<i class="fab fa-twitter"></i>
|
|
</a>
|
|
<a
|
|
class="a-mastodon"
|
|
href="https://mastodon.social/@joplinapp"
|
|
aria-label="Mastodon"
|
|
title="Mastodon"
|
|
>
|
|
<i class="fab fa-mastodon"></i>
|
|
</a>
|
|
<a
|
|
class="a-patreon"
|
|
href="https://www.patreon.com/joplin"
|
|
aria-label="Patreon"
|
|
title="Patreon"
|
|
>
|
|
<i class="fab fa-patreon"></i>
|
|
</a>
|
|
</div>
|
|
</footer>
|
|
|
|
</body>
|
|
|
|
</html>
|
|
|