diff --git a/README.md b/README.md index fb5ccaff..7a8f9fea 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,10 @@ -[![Build Status](https://travis-ci.org/eikek/docspell.svg?branch=master)](https://travis-ci.org/eikek/docspell) +[![Build Status](https://img.shields.io/travis/eikek/docspell)](https://travis-ci.org/eikek/docspell) [![Scala Steward badge](https://img.shields.io/badge/Scala_Steward-helping-blue.svg?style=flat&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAQCAMAAAARSr4IAAAAVFBMVEUAAACHjojlOy5NWlrKzcYRKjGFjIbp293YycuLa3pYY2LSqql4f3pCUFTgSjNodYRmcXUsPD/NTTbjRS+2jomhgnzNc223cGvZS0HaSD0XLjbaSjElhIr+AAAAAXRSTlMAQObYZgAAAHlJREFUCNdNyosOwyAIhWHAQS1Vt7a77/3fcxxdmv0xwmckutAR1nkm4ggbyEcg/wWmlGLDAA3oL50xi6fk5ffZ3E2E3QfZDCcCN2YtbEWZt+Drc6u6rlqv7Uk0LdKqqr5rk2UCRXOk0vmQKGfc94nOJyQjouF9H/wCc9gECEYfONoAAAAASUVORK5CYII=)](https://scala-steward.org) - +[![License](https://img.shields.io/github/license/eikek/docspell.svg?style=flat-square)](https://github.com/eikek/docspell/blob/master/LICENSE.txt) +[![Docker Pulls](https://img.shields.io/docker/pulls/eikek0/docspell?color=steelblue)](https://hub.docker.com/r/eikek0/docspell) +[![Gitter chat](https://img.shields.io/gitter/room/eikek/docspell?color=blue)](https://gitter.im/eikek/docspell) # Docspell @@ -65,14 +67,14 @@ away: ``` shell git clone https://github.com/eikek/docspell cd docspell -docker-compose up +DOCSPELL_HEADER_VALUE="my-secret-123" docker-compose up ``` Then go to `http://localhost:7880`, sign up and login. Use the same name for collective and user for now. More on that can be found [here](https://docspell.org/docs/intro/). -There are other ways, documented +Other ways are documented [here](https://docspell.org/docs/install/quickstart/): - Install the [provided](https://github.com/eikek/docspell/releases) diff --git a/website/elm/GetStarted.elm b/website/elm/GetStarted.elm index c3c356dc..13c7314f 100644 --- a/website/elm/GetStarted.elm +++ b/website/elm/GetStarted.elm @@ -62,6 +62,12 @@ The directory contains a file `docspell.conf` that you can ] , ul [] [ li [] + [ text "Find out " + , a [ href "/docs/feed" ] + [ text "how files can get into Docspell." + ] + ] + , li [] [ text "The " , a [ href "/docs/intro" ] [ text "introduction" ] diff --git a/website/site/content/docs/feed/_index.md b/website/site/content/docs/feed/_index.md new file mode 100644 index 00000000..2187a2d4 --- /dev/null +++ b/website/site/content/docs/feed/_index.md @@ -0,0 +1,128 @@ ++++ +title = "Feed Data into Docspell" +weight = 5 +description = "Shows several ways for getting data into Docspell." +insert_anchor_links = "right" +[extra] +mktoc = true ++++ + +One of the main goals is to stow documents away quickly. + +Docspell makes no assumptions about where your documents are. It +offers just one HTTP endpoint that accepts files. (Well, technically +you create them in the webapp, and you can create many of them.) This +endpoint is designed to work conveniently with tools like +[curl](https://curl.haxx.se/) and it should be easy to use from other +languages, too. + +So the idea is to have most flexibility – that is, it is up to you how +documents arrive. Of course, there is something prepared: + + +# Upload in Webapp + +This is the simplest way, but also the least flexible. You can just +login and go to the upload page to submit files. + + +{{ figure(file="web-upload.png") }} + +This requires to login at the webapp. Since this is complicated from +other applications, you can create custom hard-to-guess endpoints to +use with the following options. + +# Scanners + +If you have a (document) scanner (or think about getting one), it can +usually be configured to place scanned documents as image or PDF files +on your NAS. On your NAS, run the provided `consumedir.sh` script as a +service (there is a docker container to get started) that watches this +directory and uploads all incoming files to Docspell. The script can +watch directories recursively and can skip files already uploaded, so +you can organize the files as you want in there (rename, move etc). + +The scanner should support 300dpi for better results. Docspell +converts the files into PDF adding a text layer of image-only files. + +{{ buttonright(classes="is-primary ", href="/docs/tools/consumedir", text="More") }} + + +# Android + +There is an android client provided that lets you upload files from +your android devices. The idea is to use a separate app, like +[OpenNoteScanner](https://github.com/ctodobom/OpenNoteScanner), to +"scan" documents using your phone/tablet and then upload it to +Docspell. For the upload part, you can use the provided app. It hooks +into the Share-With menu and uploads the file to Docspell. + +This is especially useful to quickly upload small things like shopping +receipts. + +
+
+ +
+
+ +
+
+ +{{ buttonright(classes="is-primary ", href="/docs/tools/android", text="More") }} + + +# Poll E-Mails + +Your mailbox can be polled periodically to import mails. For example, +create a dedicated folder in your e-mail client and move mails in +there that you want to push to Docspell. You can then define a +recurring job, that looks into this folders and imports the mails. + +{{ figure(file="scanmailbox.png") }} + +{{ buttonright(classes="is-primary ", href="/docs/webapp/scanmailbox", text="More") }} + + +# E-Mail Server + +This is a little more involved, but can be quite nice. A SMTP server +can be setup that simply uploads incoming mails to Docspell (using +curl), instead of storing the mails on disk. This requires some +knowledge to setup such a server and it makes sense to own a domain. +The SMTP server would accept mails to *[your-username]@[your-domain]* +and resolves the *[your-username]* part in Docspell to upload the +files to the correct account. + +There is a docker container prepared to get started. Click below to +read more. + +{{ buttonright(classes="is-primary ", href="/docs/tools/smtpgateway", text="More") }} + + +# Command-Line + +I like to use the command line, so there is a small script that +accepts one or more files and uploads them to a configured Docspell +url. It is possible to let the script delete all successfully uploaded +files. + +
+
+ +
+
+ +The script can also be used to only check if a file already exists in +your account. + +{{ buttonright(classes="is-primary ", href="/docs/tools/ds", text="More") }} + + +# Browser Extension + +For Firefox, there is a browser extension that creates a context-menu +entry if you right-click on a link. It then downloads the file to your +disk and uploads it to Docspell. + +{{ buttonright(classes="is-primary ", href="/docs/tools/browserext", text="More") }} diff --git a/website/site/content/docs/feed/scanmailbox.png b/website/site/content/docs/feed/scanmailbox.png new file mode 100644 index 00000000..5662c263 Binary files /dev/null and b/website/site/content/docs/feed/scanmailbox.png differ diff --git a/website/site/content/docs/feed/web-upload.png b/website/site/content/docs/feed/web-upload.png new file mode 100644 index 00000000..8364fe7b Binary files /dev/null and b/website/site/content/docs/feed/web-upload.png differ diff --git a/website/site/content/docs/intro/_index.md b/website/site/content/docs/intro/_index.md index 557f8b16..31831b7c 100644 --- a/website/site/content/docs/intro/_index.md +++ b/website/site/content/docs/intro/_index.md @@ -1,7 +1,7 @@ +++ title = "Introduction" weight = 0 -description = "Gives a short introduction to the goals of docspell and an overview of the components involved when running docspell." +description = "Gives a short introduction to the goals of docspell and an overview of the components involved." insert_anchor_links = "right" [extra] mktoc = true diff --git a/website/site/content/docs/tools/consumedir.md b/website/site/content/docs/tools/consumedir.md index 7c8c83df..95bdf281 100644 --- a/website/site/content/docs/tools/consumedir.md +++ b/website/site/content/docs/tools/consumedir.md @@ -61,7 +61,7 @@ directly into a folder given by `-p`, but below a sub-directory that matches a collective name. In order to know for which collective the file is, the script uses the first subfolder. -If the endpoint is protected, these credentials can be specified as +If the endpoint is protected, the credentials can be specified as arguments `--iuser` and `--iheader`, respectively. The format is for both `:`, so the username cannot contain a colon character (but the password can). diff --git a/website/site/templates/shortcodes/buttonright.html b/website/site/templates/shortcodes/buttonright.html new file mode 100644 index 00000000..b9f5ccb5 --- /dev/null +++ b/website/site/templates/shortcodes/buttonright.html @@ -0,0 +1,5 @@ + diff --git a/website/site/templates/shortcodes/figure.html b/website/site/templates/shortcodes/figure.html index 14446372..8af66af7 100644 --- a/website/site/templates/shortcodes/figure.html +++ b/website/site/templates/shortcodes/figure.html @@ -1,5 +1,10 @@
- {% set len = page.components | length %} - {% set p = page.components | slice(end=len - 1) | join(sep='/') %} + {% if page is defined %} + {% set len = page.components | length %} + {% set p = page.components | slice(end=len - 1) | join(sep='/') %} + {% else %} + {% set p = section.components | join(sep='/') %} + {% endif %} +