Giter Site home page Giter Site logo

melmothx / amusewiki Goto Github PK

View Code? Open in Web Editor NEW
172.0 14.0 26.0 40.67 MB

Text::Amuse-based publishing platform

Home Page: https://amusewiki.org

License: Other

Perl 65.07% Shell 0.64% HTML 7.06% TeX 0.08% CSS 2.79% JavaScript 18.30% PLpgSQL 5.92% Less 0.15%
perl wiki wiki-engine latex cms blog-engine publishing epub opds catalyst

amusewiki's Introduction

AmuseWiki

This is a wiki engine using the Text::Amuse markup (based on and mostly compatible with Emacs Muse) and a Git backend. It can work as a read-only site, as a moderated wiki, or as a fully open wiki or even as a private site. On a single instance you can run as many sites as you want.

The application is written in Perl and uses the AmuseWikiFarm namespace (for legacy reason, as its predecessor used the AmuseWiki namespace).

The application has an extensive test suite. However, do not run make test in the production directory. If you want to run the tests, do it in a dedicated checkout, as tests leave a lot of files behind.

Documentation

The official documentation can be found on https://amusewiki.org

If for some reason the site is offline you can find the muse source files in the GitHub repository. Notable entries are listed below.

For Docker images please look at https://github.com/rojenzaman/amusewiki-docker

Install and upgrade

Site setup, customization, user roles, SSL certificates

Editing

Localization

amusewiki's People

Contributors

a-mento avatar fixedpointdirichlet avatar gaset avatar guest20 avatar holdoffhunger avatar melmothx avatar nykula avatar rojenzaman avatar sceox avatar zsolt-beringer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

amusewiki's Issues

Automate installer

  • Check and install prerequisites (perl, texlive, js, fonts, etc.).
  • Create a amusewiki.fqdn site from amusewiki.org.
  • Create an 'amusewiki' user with root privileges with random password.
  • Print out nginx config instructions
  • let's encrypt cronjob?

Move install documentation into the script.

Authenticate via httpauth basic for OPDS routes

This would allow private site to expose the library to legit users,
assuming that the application knows about it. Specification has a MUST
on it.

At a minimum, client and server implementations MUST be capable of being
configured to use HTTP Basic Authentication [RFC2617] in conjunction with a
connection made with TLS 1.0 [RFC2246] or a subsequent standards-track version
of TLS supporting the conventions for using HTTP over TLS described in
[RFC2818].

ñ translitteration.

Original report:

In some cases, titles or authors have the Spanish character "ñ".
Unfortunately is very common because is in "España" (Spain) and other
words. So, when a text is submitted, the URI is generated replacing
"ñ" by "-". I understand the change but it would be great if the
change is for "n" instead of "-". Otherwise, I have to do the manual
every time that I note (and in some cases I forgot it).

Installation from packages.amusewiki.org failed

In a clean VM with debian jessie the installation fails when nginx is set up. Relevant part of the log:

Setting up nginx-full (1.6.2-5+deb8u1) ...
Job for nginx.service failed. See 'systemctl status nginx.service' and 'journalctl -xn' for details.
invoke-rc.d: initscript nginx, action "start" failed.
dpkg: error processing package nginx-full (--configure):
 subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of nginx:
 nginx depends on nginx-full (>= 1.6.2-5+deb8u1) | nginx-light (>= 1.6.2-5+deb8u1) | nginx-extras (>= 1.6.2-5+deb8u1); however:
  Package nginx-full is not configured yet.
  Package nginx-light is not installed.
  Package nginx-extras is not installed.
 nginx depends on nginx-full (<< 1.6.2-5+deb8u1.1~) | nginx-light (<< 1.6.2-5+deb8u1.1~) | nginx-extras (<< 1.6.2-5+deb8u1.1~); however:
  Package nginx-full is not configured yet.
  Package nginx-light is not installed.
  Package nginx-extras is not installed.

dpkg: error processing package nginx (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of amusewiki:
 amusewiki depends on nginx; however:
  Package nginx is not configured yet.
  Package nginx-full which provides nginx is not configured yet.

dpkg: error processing package amusewiki (--configure):
 dependency problems - leaving unconfigured

Finally, the log says:

Errors were encountered while processing:
 nginx-full
 nginx
 amusewiki
E: Sub-process /usr/bin/dpkg returned an error code (1)

I will provide the full log if it is necessary.

Descriptions for topics and authors can't be deleted

As is stated in https://amusewiki.org/library/maintainer-s-faq#toc7 an user can add a description. This works well but how I can delete the description? I tried to do it leaving the form blank but in that case the text is not updated. If I only put a space the text doesn't appear (well, only the space) but the rectangle still is there so it's not a solution. I need to remove the description because I just only want to test the feature but not use it yet.

Blank lines in visual editor

Original report

When a text is added through the visual editor there are some (4,
maybe) trailing "\n" (enters, new lines). I expected only one or none
at all.

covers/decorative text image

This should leverage the header. Like #coverimage and #teaser. It add
noise, but better then scattering info around. Not liking that so
much, but still this way we keep the crap in the self-contained git.

Pubdates

Original report:

When I do new revisions from existing texts the pubdate doesn't change
and I have to change it manually. The thing is that I no always
remember this because of other things (mainly format). So, if I added
a text (or receive a contribution) one day and I fix it another day,
the first date will prevail (if I understand well).

Browser crashes handling big texts

Using Tor Browser with different versions thw browser crash in some cases when I cut or paste the entire text (~200 pages in A5 for example) in the sandbox or in the visual editor. Currently I run Tor Browser 5.0.3 (based on Firefox 38.3.0) and I couldn't test this in other browsers (sorry about that).

Sometimes pasting ~50 pages in the visual editor crash the browser.

Maybe this has nothing to do with amusewiki itself, but I report it to know if there are other solution or I need to paste an entire text in several parts.

Permalinks for sections

Currently links for sections have a target like #toc22, which isn't suitable to pass around or refer to as the section structure can change.

Can we have permalinks instead like #section-title-foo-bar ?

Session and robots

Robots shouldn't have a session at all (by user-agent). Unclear if
it's possible to avoid the session.

Unsubmitted texts

Original report:

Another case is when someone create a new text, copy-paste the text
and then s/he doesn't send it.

Maybe the person didn't send it because lack of format or who knows,
but the text is in good condition to be fixed. The text isn't deleted
but the presence in /publish/all and the absence from /publish/pending
doesn't work well for me. My idea would be "to send" (or make it
visible idk) the text to /publish/pending too, so I can figure out
that this happened first. The approach from now is to keep an eye in
/publish/all and then search from cases like that. I didn't know that
this was happening until a few weeks ago. I think the best way would
be to alert through /publish/pending from abandoned "new" revisions,
and then one could see if those new revisions could be for help or
just crap.

/publish/all and deferred

When a text is postponed adjusting the pubdate it would be good if in
/publish/all is labeled as "deferred" as is called in the log while
the text is hide.

Selecting chapters for the bookbuilder

No, it's not possible, at least not right now. This is more complicated
that you may think, because it's unclear where a chapter starts and
where finishes, how the user is supposed to select it and so on.

An alternate approach could be for the user to copy and paste from the
sources (the .muse file) the interesting chapters into the sandbox and
from there publish and recompile.

Maybe it would be possible to create a in-site sandbox for this purpose

Anonymous authors (display but not listing)

Display should be whatever the # author header says. If # sortauthors is defined but empty or with a dash, it shouldn't be a listing, because otherwise we end up relating different authors under the same "mr. anonymous" listing.

Also probably there is a bug in the update. If the author is already there, and you remove that afterward, it sticks there.

Footer fix

In footer links there is a trailing space in every link except in
"random" and "add to library".

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.