BigW Consortium Gitlab

  1. 07 Apr, 2017 1 commit
    • Add indication for closed or merged issuables in GFM · ace833b3
      Adam Buckland authored
      Example: for issues that are closed, the links will now show '[closed]'
      following the issue number. This is done as post-process after the markdown has
      been loaded from the cache as the status of the issue may change between
      the cache being populated and the content being displayed.
      
      In order to avoid N+1 queries problem when rendering notes ObjectRenderer
      populates the cache of referenced issuables for all notes at once,
      before the post processing phase.
      
      As a part of this change, the Banzai BaseParser#grouped_objects_for_nodes
      method has been refactored to return a Hash utilising the node itself as the
      key, since this was a common pattern of usage for this method.
  2. 06 Apr, 2017 1 commit
  3. 15 Mar, 2017 1 commit
  4. 23 Feb, 2017 4 commits
  5. 02 Feb, 2017 1 commit
    • PlantUML support for Markdown · d9e9ad22
      Horacio Sanson authored
      Allow rendering of PlantUML diagrams in Markdown documents using fenced blocks:
      
          ```plantuml
          Bob -> Sara : Hello
          Sara -> Bob : Go away
          ```
      
      Closes: #4048
  6. 17 Jan, 2017 1 commit
  7. 16 Jan, 2017 2 commits
  8. 14 Dec, 2016 1 commit
  9. 08 Dec, 2016 1 commit
  10. 16 Oct, 2016 1 commit
  11. 10 Oct, 2016 1 commit
  12. 07 Oct, 2016 1 commit
    • Enable CacheMarkdownField for the remaining models · 99205515
      Nick Thomas authored
      This commit alters views for the following models to use the markdown cache if
      present:
      
      * AbuseReport
      * Appearance
      * ApplicationSetting
      * BroadcastMessage
      * Group
      * Issue
      * Label
      * MergeRequest
      * Milestone
      * Project
      
      At the same time, calls to `escape_once` have been moved into the `single_line`
      Banzai pipeline, so they can't be missed out by accident and the work is done
      at save, rather than render, time.
  13. 19 Jul, 2016 2 commits
  14. 10 Jul, 2016 1 commit
  15. 01 Jul, 2016 1 commit
  16. 24 Jun, 2016 1 commit
    • Support for rendering/redacting multiple documents · d470f3d1
      Yorick Peterse authored
      This commit changes the way certain documents are rendered (currently
      only Notes) and how documents are redacted. Previously both rendering
      and redacting would run on a per document basis. The result of this was
      that for every document we'd have to run countless queries just to
      figure out if we could display a set of links or not.
      
      This commit changes things around so that redacting Markdown documents
      is no longer tied into the html-pipeline Gem. This in turn allows it to
      redact multiple documents in a single pass, thus reducing the number of
      queries needed.
      
      In turn rendering issue/merge request notes has been adjusted to take
      advantage of this new setup. Instead of rendering Markdown somewhere
      deep down in a view the Markdown is rendered and redacted in the
      controller (taking the current user and all that into account). This has
      been done in such a way that the "markdown()" helper method can still be
      used on its own.
      
      This particular commit also paves the way for caching rendered HTML on
      object level. Right now there's an accessor method Note#note_html which
      is used for setting/getting the rendered HTML. Once we cache HTML on row
      level we can simply change this field to be a column and call a "save"
      whenever needed and we're pretty much done.
  17. 16 Jun, 2016 2 commits
  18. 13 Jun, 2016 1 commit
    • Fix description and GFM pipelines conflicting · 03d2bf14
      Sean McGivern authored
      Consider this command:
      
          bundle exec rails r "include GitlabMarkdownHelper
          puts markdown('<span>this is a span</span>', pipeline: :description)
          puts markdown('<span>this is a span</span>')"
      
      And the same in the opposite order:
      
          bundle exec rails r "include GitlabMarkdownHelper
          puts markdown('<span>this is a span</span>')
          puts markdown('<span>this is a span</span>', pipeline: :description)"
      
      Before this change, they would both output:
      
          <p><span>this is a span</span></p>
          <p>this is a span</p>
      
      That's because `span` is added to the list of whitelisted elements in
      the `SanitizationFilter`, but this method tries not to make the same
      changes multiple times. Unfortunately,
      `HTML::Pipeline::SanitizationFilter::LIMITED`, which is used by the
      `DescriptionPipeline`, uses the same Ruby objects for all of its hash
      values _except_ `:elements`.
      
      That means that whichever of `DescriptionPipeline` and `GfmPipeline` is
      called first would have `span` in its whitelisted elements, and the
      second wouldn't.
      
      Fix this by creating an entirely separate hash, before either pipeline
      is invoked.
  19. 03 Jun, 2016 2 commits
  20. 26 May, 2016 1 commit
    • Split Markdown rendering & reference gathering · 86166d28
      Yorick Peterse authored
      This splits the Markdown rendering and reference extraction phases into
      two distinct code bases. The reference extraction phase no longer relies
      on the html-pipeline Gem (and any related code) and allows for
      extracting of references from multiple HTML nodes in a single pass. This
      means that if you want to extract user references from 200 comments you
      no longer need to run 200 times N number of queries, instead only a
      handful of queries may be needed.
  21. 18 May, 2016 1 commit
  22. 06 Apr, 2016 2 commits
  23. 05 Apr, 2016 1 commit
  24. 01 Apr, 2016 1 commit
  25. 24 Mar, 2016 1 commit
  26. 17 Mar, 2016 3 commits
  27. 04 Mar, 2016 1 commit
  28. 03 Mar, 2016 1 commit
  29. 01 Mar, 2016 1 commit
  30. 23 Feb, 2016 1 commit