diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..d024f60 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 Marcell Mars + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..b52f323 --- /dev/null +++ b/README.md @@ -0,0 +1,39 @@ +# accorder accords + +Accorder takes care of various tasks which Memory of the World amateur librarians do in order to maintain their shared catalogs online. + +It builds searchable, standalone, portable webapp which one could then just copy to USB disk and open BROWSE_LIBRARY.html in her web browser. + +It uploads all of the books and metadata from local Calibre's library (together with portable webapp) to the server. + +It helps a librarian to maintain and share her catalog at + +https://library.memoryoftheworld.org + +together with other amateur librarians. + +It does all of above in one go by typing: accorder release SESSION. + +The configuration file will keep information about one or more SESSION. Good name for SESSION is the one which reminds you quickly on what SESSION would do. + +Under every SESSION's configuration section there will be information about the directory path of local Calibre's library, librarian's name, credentials needed to upload/download the files to the destination server etc. + +## Available commands + +- `build`: Build standalone, portable webapp from Calibre library. +- `mc`: A proxy for `minio` client responsible for upload & download. +- `release`: Release local Calibre collection to the MotW Library. +- `submit`: Submit metadata to the aggregated MotW Library. +- `upload`: Upload local Calibre library to the MotW server. + +## Context + +`accorder`, originally written in Python, has been in use for years by MotW librarians. This repository is where `accorder` is being reimagined and rewritten in Go. The last feature missing from Python version is the import to Calibre from Zotero. + + The short-term roadmap is to rally the community around [Gitea](https://github.com/go-gitea/gitea), which not only does what Gitea does best, but also serves as the main hub for user management. [Headscale](https://headscale.net/) is handling the p2p topology and public IP exit node. [Sftpgo](https://github.com/drakkan/sftpgo) and [Minio](https://min.io/) are teamed up to provide a simple shared file exchange space for the community, as well as an object store that could potentially allow for some distributed storage expansion. + +A decade ago, before `accorder`, there was a Calibre's plugin `[lets share books]` which allowed for sharing books at https://library.memoryoftheworld.org "live" from librarian's laptop. That was a great conceptual "proof of concept" but patrons complained about not being stable and reliable. + +This new infrastructure would allow librarians to share their web app catalogs "live" straight from their laptop - public and/or protected. Another project [Logan & Jessica](https://github.com/marcellmars/logan_and_jessica) would come back too. Jessica could use her laptop to become an exit node for Logans in need. + +With this setup MotW librarians will be much better equipped to participate in [Sandpoints](https://pages.sandpoints.org/sandpoints/simplesandpoints-de47f813/draft/portfolio/) projects. diff --git a/cmd/build.go b/cmd/build.go index c0771e9..61d5168 100644 --- a/cmd/build.go +++ b/cmd/build.go @@ -5,7 +5,6 @@ import ( "encoding/xml" "fmt" "log" - "os" "strconv" "strings"