Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Thanks and suggestions on flexmark #129

Closed
steveluo opened this issue Jul 20, 2017 · 15 comments
Closed

Thanks and suggestions on flexmark #129

steveluo opened this issue Jul 20, 2017 · 15 comments
Labels

Comments

@steveluo
Copy link

Hi @vsch

I have just launched a site, https://gitq.com, which can help to build the communities for open source projects. The markdown part I'm using is flexmark, it's awesome! And I just want to say thank you so much!

I also notice that we have too many questions here in the issues (even this post), I think it would be better to ask questions in some other places if possible and if it does be an issue, then we can file it here later. That is the reason I built GitQ. So I'm inviting you to join GitQ to discuss flexmark there. I hope this will not bother you too much.

Again, thank you so much.

@vsch
Copy link
Owner

vsch commented Jul 20, 2017

@steveluo, thank you. It is a great idea. I have found GitHub issues to be not well suited for discussions.

I created the group for flexmark-java and a few of my other open source projects. I will move question issues to the discussion group.

Is there a discussion group for gitq suggestions?

@vsch vsch added the 🔖 faq label Jul 20, 2017
@steveluo
Copy link
Author

@vsch you are so cool 👍 and thank you for using GitQ 😄

What do you mean a discussion group?

@vsch
Copy link
Owner

vsch commented Jul 20, 2017

Wrong terminology. I meant a gitq project under GitQ where suggestions or questions regarding GitQ could be discussed.

I think GitQ is a great addition to GitHub that should be a standard GitHub project feature.

One thing I encountered immediately because I imported all project labels. I deleted all labels not relevant to topics and found that selecting several labels to be deleted in one operation would be more comfortable. Currently you can only delete one at a time and there is a confirmation dialog popping up for each one.

What configuration option are you using for flexmark-java on GitQ or is it standard CommonMark?

The reason I ask is that I use my JetBrains Markdown Navigator plugin for creating most posts and copy/paste the markdown (or HTML) into comments on GitHub or other sites. In order to have "identical" preview in the plugin I would add GitQ specific parser options. Then what I see in my plugin preview would accurately reflect what I will get on GitQ.

@steveluo
Copy link
Author

Yes, we have the community for GitQ itself:
https://gitq.com/GitQLab/gitq.com

One thing I encountered immediately because I imported all project labels. I deleted all labels not

Thanks, I'll add a delete all button soon.

What configuration option are you using for flexmark-java on GitQ or is it standard CommonMark?

The extension I used:

    private static final List<Extension> DEFAULT_EXTENSIONS = ImmutableList.<Extension>builder()
            .add(AbbreviationExtension.create())
            .add(AutolinkExtension.create())
            .add(AutoLinkRendererExtension.create())
            .add(EscapedCharacterExtension.create())
            .add(TaskListExtension.create())
            .add(StrikethroughExtension.create())
            .add(TablesExtension.create())
            .add(TaskListRendererExtension.create())
            .add(InsExtension.create())
            .add(SuperscriptExtension.create())
            .add(TocExtension.create())
            .add(JekyllFrontMatterExtension.create())
            .build();

and the options I used:

        options.set(HtmlRenderer.ESCAPE_INLINE_HTML, false);
        options.set(HtmlRenderer.SOFT_BREAK, "<br/>");

@vsch
Copy link
Owner

vsch commented Jul 20, 2017

@steveluo, thanks.

BTW, since you are including Non-GitHub styling extensions (Ins, Superscript), you should probably replace the StrikethroughExtension with StrikethroughSubscriptExtension to have ~subscript~ rendered as <sub>subscript</sub> in addition to the GitHub ~~strikethrough~~ rendering.

@steveluo
Copy link
Author

@vsch thanks for mention this. Is there any default options I can use to be fully compatible with GitHub markdown?

@vsch
Copy link
Owner

vsch commented Jul 20, 2017

@steveluo, GitHub is now CommonMark with addition of strikethrough, table, emoji, task lists.

You should probably add:

  • EmojiExtension, the EmojiExtension.ROOT_IMAGE_PATH should be set to the URL of the base directory where emoji images are located on your site. This extension converts https://github.com/arvida/emoji-cheat-sheet.com of the form :smile: to 😄, etc.

You probably do not need:

  • EscapedCharacterExtension because it only affects the AST not the rendered HTML, unless you need the AST.

The following extension that you are using add extra markdown elements to GitHub implementation. It will not affect GitHub comments copied to GitQ, other than processing extra markup. However, the reverse copy will result in some markdown elements parsed as text:

  • AbbreviationExtension

  • InsExtension

  • SuperscriptExtension

  • TocExtension

  • TablesExtension allows more flexible tables than GitHubs. To limit it to the same parsing as GitHub tables add the following to your options:

    .set(TablesExtension.COLUMN_SPANS, false)
    .set(TablesExtension.MIN_HEADER_ROWS, 1)
    .set(TablesExtension.MAX_HEADER_ROWS, 1)
    .set(TablesExtension.APPEND_MISSING_COLUMNS, true)
    .set(TablesExtension.DISCARD_EXTRA_COLUMNS, true)
    .set(TablesExtension.HEADER_SEPARATOR_COLUMN_MATCH, true);
    

@vsch
Copy link
Owner

vsch commented Jul 20, 2017

@steveluo, I added two new extensions GfmIssuesExtension and GfmUsersExtension that will parse and render #124 and @user-name text to GitHub issue and GitHub user links.

The issues require that GfmIssuesExtension.GIT_HUB_ISSUES_URL_ROOT be set to the http://github.com/user/project/issues where http://github.com/user/project is the associated GitHub project URL with /issues suffix added. The extension will append the / and issue number from the parsed text.

The users extension will create GitHub user links, without needing to modify the defaults, of the form https://githum.com/user where user is the user name from the parsed text.

If you add support for these two extensions on GitQ then comments will be able to refer to GitHub users and issues for the associated project the same way as it is done on GitHub.

@steveluo
Copy link
Author

@vsch Thanks for the details. I removed EscapedCharacterExtension.

I don't use the official EmojiExtension, GfmIssueExtension as I have already implemented them by using a pipeline something like https://github.com/jch/html-pipeline

Now, you can paste an issue link in GitQ in a separate line and it will show the preview, see below test which I paste the link of this issue (and some other links):
https://gitq.com/GitQLab/sandbox/topics/2/showing-github-issue-with-a-link

@vsch
Copy link
Owner

vsch commented Jul 21, 2017

@steveluo, excellent choice. It makes GitHub compatibility not an issue.

@vsch vsch closed this as completed Jan 7, 2018
@vsch
Copy link
Owner

vsch commented Mar 2, 2019

@steveluo, I don't know if you are still interested in GitQ but just in case you are I have a few ideas stemming from my need to have a discussion forum for my projects to generate user feedback for future product evolution.

I think the need for hosted forums with good GitHub/GitLab integration is real and having one which provides hosted Discourse forums with your added GitHub integration features would be a good choice for many smaller projects and companies, especially as a less expensive alternative to discourse.org.

I also think you need to adopt a tiny free and monthly $5/mo. upgrade tiers for additional features/traffic.

$5/mo is not much which a lot of people can afford. Yet I am spending over $100/mo on services that started out free or at $5-10/mo. It adds up quite fast, especially if you have a good idea which I think GitQ is but it needs to have your integration ideas added to Discourse features.

Let me know if you have moved on to other projects/ideas or if you are still interested in GitQ forums and possibly cutting development costs by moving GitQ implementation to Discourse with your GitHub/GitLab/BitBucket integrations as discourse plugins.

@steveluo
Copy link
Author

steveluo commented Mar 3, 2019

Hi @vsch, thank you very much for sharing your thoughts and ideas to me. It sounds to be very attractive. So far, GitQ haven't taken too much of my efforts. I'm still a bit concern to the real requirements for building a forum/discussion service for open source projects as it seems that people are more likely to share ideas, ask questions directly in GitHub and it's more natural to users.

Actually, to open source projects, I just want to build a free forum service and hope it can be an alternative to stackoverflow.

I'm thinking to add some new features to GitQ, such as documentation service, and I also want to add some features to help open source developers to build their business on their projects. I hope at that time people can like GitQ 😄 .

@vsch
Copy link
Owner

vsch commented Mar 3, 2019

@steveluo, glad to hear you still have not given up and are still interested because I think it is a great idea but will need some effort to take it from a great idea to a great implementation.

First there is a bug in the current implementation of GitQ probably due to GitHub changing something in their API. The # no longer shows issues and no longer renders as a link to an issue on a project.

That out of the way I would like to discuss how GitQ could be made more attractive.

Let's address your desires:

I'm thinking to add some new features to GitQ, such as documentation service, and I also want to add some features to help open source developers to build their business on their projects. I hope at that time people can like GitQ 😄 .

The best way to help others build a business on their projects is to become a good example of what and how to do it.

No project can succeed without financial support. Either by the founders contributing their time free, by dedicated sponsors or self funding through revenue generating products/services. I am too old for the first and too experienced to hope for the second. That is why I suggested some form of low cost paid service options.

If you are interested I can help you with GitQ project. I have a vested interest in good to great discussion software for technical projects with excellent GitHub/GitLab integration. I will refer to this software as GitQ in our discussion.

Now to the bits and bytes we both love. Primary requirement for success of any project is FOCUS. We all have limited time available for any project. It is crucial to focus on the primary goals and leave the rest for later.

  • We need to "ride on the coat tails" of giants that came before us which means use successful projects to help make GitQ known and popular:
    • Plugins for developer IDEs to allow interaction with GitHub/GitLab/GitQ without leaving their IDE. I am not interested in a mobile app or turning the forums into a social site. Nothing that will dilute or detract from its value as a technical source.

      • JetBrains IntelliJ and other IDEs - I would be interested in having GitHub issues and GitQ forums for my projects available directly in intellij-community so I can read and respond from the IDE.

        Right now I copy/paste comments and replies between IntelliJ and GitHub. I would write a plugin to integrate GitHub/GitQ in JetBrains IDEs.

      • Eclipse plugin - I am not a user or proficient in Eclipse but think the IDE is popular enough to warrant a plugin for GitQ/GitHub/GitLab

      • Others can come later.

    • Offer an API for integration with other applications/services but will most likely need to implement popular integrations ourselves since no one will do it until after GitQ is a success.

    • GitHub/GitLab integration

      • Allow creating a forum from GitHub repositories

      • Allow creating a GitHub issue from a comment or comments in the forum discussion.

      • Allow taking an issue from GitHub and migrating it or parts of it to GitQ.

    • Absolutely need Discourse forum capabilities because you cannot offer much less than what is already popular. Since discourse is open source it makes no sense to build something from scratch instead of following the spirit of OSS and making additions to the project. I would prefer to create plugins for Discourse for the extra functionality.

    • Allow questionnaires/surveys in the discussions to get user feedback on alternative technical issues.

    • Documentation service if you mean have functionality to facilitate creation and maintenance of documentation then I think it is a great future direction and I would be very interested in developing the idea further but not right now. Focus.

    • Source of answers to technical questions can be discussed. I would love to have an alternative to Stack Overflow which IMHO became a groupie paradise. I stopped participating there. The obsession with rising in ratings goes to people's heads especially software geeks who find a niche where they can be king.

    • Project Site hosting can come later if at all. GitHub has GitHub pages and unless we can do a better job and be able to afford it I don't see the point. Focus on primary features of being an amazing technical discussion forum.

Let me know what you think and if you are interested in collaborating on GitQ to advance its potential.

I would suggest creating a forum on GitQ for GitQ discussion so we can start dog-fooding our own ideas.

@steveluo
Copy link
Author

steveluo commented Mar 5, 2019

Hi @vsch

Thank you so much for so long post and so many suggestions. I think it is not a proper place here to discuss this topic, so I will write to you directly, is it ok? And actually the GitQ forum on GitQ is already there:

https://gitq.com/GitQLab/gitq.com

@vsch
Copy link
Owner

vsch commented Mar 5, 2019

Hi @steveluo, please do write directly to me at the e-mail address in my GitHub profile. I will wait for your e-mail so we can continue the discussion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants