{* SPDX-FileCopyrightText: © 205 Olivier Meunier SPDX-License-Identifier: AGPL-3.0-only *} {{ extends "./base" }} {{ import "/_libs/forms"}} {{- block title() -}}{{ gettext("Import Links from a CSV File") }}{{- end -}} {{- block mainContent() -}}

{{ yield title() }}

{{ gettext(` Upload a CSV file from Instapaper or any CSV that matches the format specified below. `) }}

{{ yield formErrors(form=.Form) }} {{- yield fileDropField( field=.Form.Get("data"), required=true, label=gettext("File"), class="field-h", ) -}} {{ include "./options" }}

{{ gettext("Cancel") }}

CSV Format

{{ gettext(` The uploaded file must contain a first row with the column names. Column names are case insensitive and, except for %s, every column is optional. `, "url") | raw }}

{{ gettext("Here are the columns you can set:") }}

{{ gettext("Field") }} {{ gettext("Alias") }} {{ gettext("Description") }}
url ({{ gettext("Required") }}) {{ gettext("Link address") }}
title {{ gettext("Bookmark title") }}
state folder {{ gettext(`Bookmark's archived state; only valid value is "%s"`, "archive") }}
created timestamp {{ gettext("Creation date, can be a UNIX timestamp or an RFC-3339 formatted date") }}
labels tags {{ gettext("A JSON encoded list of labels") }}

{{ gettext("Example") }}

url,title,state,created,labels
https://www.the-reframe.com/all-in-the-same-boat/,"All In The Same Boat",,2025-01-12T10:45:56,"[""label 1"",""label 2""]"
{{- end -}}