Code Monkey home page Code Monkey logo

humhub-prosemirror's Introduction

HumHub - Putting People and Pieces together

Test Status Yii2 CLA assistant

HumHub is an intuitive to use and modular designed open-source software, used primarily as social network, knowledge database, intranet or information and communication platform.

The software is written in PHP and is best described by dividing into 4 main parts: User, Spaces, Content and Modules.

  • User: All users have their own customisable profile (including name, profile picture, cover photo and personal information) and can follow and interact with each other. If wished and enabled, users can create own content, comment posts and join Spaces. Profile fields, permissions and all settings can be defined individually by the network operator (administrator).

  • Spaces: Rooms or groups for any projects, departments, events or other needs. Network operators can create as many Spaces as needed and automatically map users into the desired Spaces. HumHub comes with an advanced permission and notification system (including email summaries).

  • Content: Users can create content of all kinds (posts, wiki pages, photo/video, schedule appointments, create events or tasks) depending on their permission and share it with other members in their Space. There is a multi-level comment function, versatile collaboration options and also features to report inappropriate posts and content. All Content, Spaces and Members can be easily found through various and individually definable filter and search functions, Content can be edited, deleted and archived.

  • Modules: The main software is designed in a modular way and can be extended by approximately 80 modules. These can easily be added to by installation and activation. This gives operators the possibility to set up and configure the network according to their needs and individual wishes. Among the modules are Advanced LDAP, RESTful API, Mass User Import, Calendar, Wiki, OnlyOffice, JWT SSO, Legal Tools, Translation Manager, Custom Themes and Custom Pages, Tasks, Gallery, News, Polls and Mail for Direct Messages.

With HumHub, we help people around the world to connect, stay informed, display and share content of various kinds, exchange files and communicate and collaborate with each other.

The software is responsive designed and works great on different devices, including smartphones and tablets. HumHub is available in over 30 languages and is used in over 4,500 organizations worldwide.

More information about HumHub can be found here:

humhub-prosemirror's People

Contributors

buddh4 avatar dependabot[bot] avatar luke- avatar marc-farre avatar serh-mosk avatar serhmosk avatar yurabakhtin avatar

Stargazers

 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

humhub-prosemirror's Issues

Bulleted Lists

With the current version it is difficult to create bullet lists, because after an enter, it creates a line and not a new item.

image

Automatically linkify URLs

User (writer) enters a URL when typing a message/post
Another User (reader) goes to read the post and tries to open the URL link

Expected:
The URL will be clickable by the reader of the message/post

Actual:
Unless the writer has linkified the URL, it is not clickable by the reader

This is a major usability barrier as

  1. basic or casual users will not understand or know they need to linkify links
  2. other writing, messaging , posting software automatically linkifies links, that is the User's legitimate expectation
  3. unless a User is writing a careful post with labelling of links, the linkifying process is unnecessary and time-consuming

Proposed:

URLs should be automatically linkified

If a User wishes to manually linkify (for example to add a title to the link) they can still do so manually by selecting the text and clicking the link icon, as before

What is this?

Hey, I'm really interested in using Humhub, and I'm trying to learn more about it. I use a content editor called "prose" for my jekyll site, and I'm wondering what prosemirror is. There's no documentation on this repo and any search on google doesn't give me a result

Delete if not allowed

Enh: Disable editor option

It would seem that even though such a wonderful richtext editor it is, some users don't wish for the use of it, and have requested an option to disable the editor as a whole.

Hard line breaks in table

If you make a hard break within a table, the html tag "
" is displayed after saving and no break is inserted.

Paragraphs are not displayed at all.

Editor:

image

Rendered View:

image

Tested with
humhub 1.3.13 and 1.3.2

Table in post is saved with 2 <br> added to text in each single cell (3 when editing)

What steps will reproduce the problem?

  1. Include a table in a post
  2. Save the post
  3. Edit the post

What is the expected result?

No <br> is added

What do you get instead?

  1. When save: 2 <br> after text
  2. When edit: 3 <br> after text

Additional info

Q A
HumHub version 1.4.3
PHP version 7.0
Operating system MacOs 10.13.6

Note: see pictures

  1. cell 1 after save
    Schermata 2020-03-06 alle 14 18 04

  2. cell 7 after save
    Schermata 2020-03-06 alle 14 18 35

  3. cell 1 in edit mode
    Schermata 2020-03-06 alle 14 39 38

Disable menu bar not working

I'm sorry if I don't get it right but it seems like on the line 62689 says that setting 'menuBar = false' will disable this element. It doesn't seem to work.

Could it be that it is not implemented in the function?

Thank you very much for this fantastic functionality,

This version of 'setupPlugins' function seems to work.

`function setupPlugins(context) {
var result = buildPluginKeymap(context);

        result = result.concat([
            buildInputRules(context),
            keymap(buildKeymap(context)),
            keymap(baseKeymap),
            dropCursor(),
            gapCursor(),
            dist_1(),
        ]);

        if (context.options.menuBar !== false) {
            result.push(buildMenuBar(context));
        }

        result.push(
          keymap({
            "Tab": dist_41(1),
            "Shift-Tab": dist_41(-1)
          })
        );

        if (context.options.history !== false) {
            result.push(history());
        }


        return result.concat(buildPlugins(context));
    }`

Add intuitive list intend

Humhub 1.4

It would be great to be able to write this in Humhub :

  • First level
    • Second level (indented item)
    • Second level (indented item)
  • First level

RTL support

I read here : #12 that humhub add some features to prosemirror like plugin system. Is there any documentation of it ? Or if I have to refer to prosemirror documentation, on which part ?

I found that every single function of button in humhub-prosemirror-richeditor is separated into single plugin humhub/protected/vendor/npm-asset/humhub-prosemirror-richtext/src/editor/core/plugins

And at least there are two files in every plugin : index.js and schema.js - in some plugins I also found input-rules.js and menu.js

Let said, that I want to add RTL plugin to my humhub-prosemirror, what should I do ? I've tried compare this to the most simple example at prosemirror git, that is prosemirror-menu-master. But I still can't get the idea how humhub-prosemirror-richtext work

I am really interested to learn much more about this. Where should I start ?

Thank you,

Edit code block in codemirror

Add edit button to code blocks, which opens a codemirror editor on top. With the ability to change code block language (if allowed by config)

Use of wrong mark plugin order

The current mark plugin registration order leads to invalid markdown when using marks as bold in combination with inline code.

Add option to open links in same or new tab

Description

At the moment links created with the editor open in a new browser tab by default. This is the preferable way in most scenarios, but there might be others.

Solution

Add a checkbox "Open in new tab" below the title field with tick set by default.

image

Add link mark to minified menu items

Currently the link menu item is the only mark type hidden by default. I think the link mark is important enough to add it to the menu without the need to extend the menu.

Selection aware collapsed nav

Currently hidden menu items and groups are always hidden when the menu is toggled, even if the selection resides within an element with specific menu items as table or list.
For example when creating a list by input rule, by default we do not see the decrease/increas intend menu icons unless we expand the menu, since the surrounding group is hidden.

Examples:

  • Table table features
  • List features

We should always show groups if they contain visible items marked with something like a .selection class. Items marked with .selection should always be visible, since they only appear in special cases/selections.

  • Increase/Decrease intendation (List)
  • Table additions as add column etc.

In order to implement this, we need to further integrate the collapse logic out of the menu resize plugin into the menu api itself.

Only use _blank on external richtext links

Is your feature request related to a problem? Please describe.

All richtext links use a _blank target. We should only use blank target for external links. Somehow we need to detect file links or prevent pjax in certain cases.

Right arrow navigation not working in some cases

Moved from: humhub/humhub#4950

Steps to reproduce

Create a post
Write a phrase in bold
Press 'Enter' for a new line (not Shift+Enter)
Write a further phrase in regular text
Attempt to navigate with the cursor using arrow keys - from the end of the line in bold to the beginning of the line in regular text

Expected:

The right arrow key will move from the end of the emboldened text line to the beginning of the regular text line

Currently:

The right arrow key does not do anything. (The cursor will move left or down with other arrow keys, but not right with the right arrow key.)

Tested

Two installations of Humhub and Humhub community: issue occurs

https://prosemirror.net/ : issue does not occur
https://ckeditor.com/ckeditor-5/demo/ : issue does not occur

Resize menu issue

Reproduce:

  • Create Code block

grafik

  • Press down

grafik

  • Expand menu

grafik

  • Select code block

grafik

  • Minimize menu

grafik

Expected result:

grafik

Alignment of images in text

It would be cool have the possibility to set an alignment for inserted images. Perhaps realized with CSS-float? The Image-Setting dialogue could have an additional dropdown with left/right to set the option

@ becomes @@ when copying mentioning in wiki editor

System

HumHub 1.5.1.
PHP 7.3.17
Wiki 1.3.13

Problem description

When you copy/cut a mentioning ("@..") in the editor (wiki page/comment/...) and paste it turns to an ("@@.."). Once it's saved, it's returns to be an single "@..", in a saved page as well as in edit mode again. The mentioning still works then.

grafik

⬇️ Save

grafik

⬇️ Edit again

grafik

Further observation 1 When it's copied from comment edit mode to wiki page edit mode you can copy it several times without creating redundant "@"s. Doesn't work vice versa

Further observation 2 Works fine when the mentioning is copied from saved comment (stream/wiki) or saved wiki page to arbitrary edit mode, then you can copy it several times without creating redundant "@"s

Need Both RTL and LTR in prosemirror

As suggested by Luke (Lucas Bartholemy), I post this here

We need both RTL and LTR in prosemirror without change all theme to RTL theme. How can we do it ?

As I read in prosemirror forum, someone said that is enough to add in prosesmirror CSS some line like

direction: rtl;

But till this day, I still learn about humhub-prosemirror. Can you give some help ?

Thank you, thank you, thank you very much

Regard,
Reza Ervani

Native Giphy API integration

Is your feature request related to a problem? Please describe.

At the moment you need to download a GIF and then reupload it to your Humhub site.

Describe the solution you'd like

Easy native integration of the Giphy API via the SDK.
You should be able to query a Giphy search and post a GIF from inside of the Humhub comment section, similar to how Facebook does it.

Describe alternatives you've considered

The alternative to just embed them isn't optimal but it doesn't matter since it doesn't work anyway.
I think Giphy removed oEmbed since they want people to use their SDK and API.

Tabulator Support

Would be great to have Tabulator support inside of Code Areas (similar to CodeMirror).

Support selection of skintones in emoji picker

Current emoji implementation of emojis does not appear to support any skin tone other than the standard yellow colour.
This is not compliant with the racial diversity expectations of many Humhub users and their organisations.

Twemoji (and other emoji sets) supports skin tones, just need a way to enhance the emoji picker...

Link creation does not copy URL from selected text

Steps to reproduce:
User types a URL into a post or comment
User selects URL text
User clicks 'link' icon in rich text panel
Dialogue displays to create link including title (optional) and target URL

Expected:
The selected URL is copied automatically into the target URL box
User can simply press enter to create the link (if they don't want alternative text option, just to show the link and make it click-able)

Actual:
User has to re-enter URL into the URL box
Doubling the time

Most messaging and writing apps automatically convert URLs
To have to enter it twice is significant barrier to use

Tested:
This issue occurs in both mobile and desktop views
Tested on own installation and Humhub Community
The issue also occurs on https://prosemirror.net demo

Originally posted at: humhub/humhub#4949

Bug: Bold & Italic linked text

Would seem if you use the combination of bold, italic and linked text in the same line of text of a comment or post you'll break the rendering of the markup for bold & italic text.

Formatting inside Code Block

In a code block you can currently define single words e.g. bold/italic. In edit mode it also looks good, but when saving this markup is lost.

Editor Scrolling Broken in Android Chrome

What steps will reproduce the problem?

Paste a large block of text into a new post. Attempt to pull down (to scroll up and edit).

What is the expected result?

Text input should be scrollable.

What do you get instead?

Chrome pull-to-reload destroys all input.

Additional info

Q A
HumHub version 1.7.1
PHP version 7.4.3
Operating system Ubuntu 20

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.