gitlab-org--gitlab-foss/lib
Yorick Peterse daad7144ec
Support Markdown rendering using multiple projects
This refactors the Markdown pipeline so it supports the rendering of
multiple documents that may belong to different projects. An example of
where this happens is when displaying the event feed of a group. In this
case we retrieve events for all projects in the group. Previously we
would group events per project and render these chunks separately, but
this would result in many SQL queries being executed. By extending the
Markdown pipeline to support this out of the box we can drastically
reduce the number of SQL queries.

To achieve this we introduce a new object to the pipeline:
Banzai::RenderContext. This object simply wraps two other objects: an
optional Project instance, and an optional User instance. On its own
this wouldn't be very helpful, but a RenderContext can also be used to
associate HTML documents with specific Project instances. This work is
done in Banzai::ObjectRenderer and allows us to reuse as many queries
(and results) as possible.
2018-04-11 14:10:19 +02:00
..
api Expose the target commit ID through the tag API 2018-04-08 20:59:03 +01:00
assets
backup Move existing dirs to a temp location while restore 2018-03-30 11:38:36 +05:30
banzai Support Markdown rendering using multiple projects 2018-04-11 14:10:19 +02:00
bitbucket
constraints [CE] Add Naming/FileName rule checking expected class/module per filename 2018-03-08 12:56:54 +00:00
container_registry Setup Faraday middleware before adapter 2018-03-16 19:05:29 +08:00
declarative_policy [CE] Add Naming/FileName rule checking expected class/module per filename 2018-03-08 12:56:54 +00:00
generators/rails/post_deployment_migration Fix timestamp to include %M instead of %I for post-deploy migrations. 2018-03-12 18:24:36 +01:00
gitaly
gitlab Make email handler clearer 2018-04-09 09:39:03 +00:00
google_api Fix provider server URL used when listing repos to import 2018-03-12 16:01:43 -05:00
haml_lint [CE] Add Naming/FileName rule checking expected class/module per filename 2018-03-08 12:56:54 +00:00
json_web_token
mattermost Fixing request options to allow_local_requests with DELETE verb 2018-03-21 20:35:42 +01:00
microsoft_teams Merge branch 'fj-15329-services-callbacks-ssrf' into 'security-10-6' 2018-03-21 14:39:21 +00:00
omni_auth/strategies
peek Show Ajax requests in performance bar 2018-03-19 19:06:09 +00:00
rouge Add CommonMark markdown engine 2018-03-07 23:14:41 +11:00
rspec_flaky
support
system_check Route path lookups through legacy_disk_path 2018-03-21 18:18:32 +01:00
tasks Merge branch '44902-remove-rake-test-ci' into 'master' 2018-04-03 17:15:50 +00:00
additional_email_headers_interceptor.rb
after_commit_queue.rb
banzai.rb
carrier_wave_string_file.rb
declarative_policy.rb [CE] Add Naming/FileName rule checking expected class/module per filename 2018-03-08 12:56:54 +00:00
disable_email_interceptor.rb
email_template_interceptor.rb
event_filter.rb
expand_variables.rb
extracts_path.rb
feature.rb
file_size_validator.rb
forever.rb Handle limit for datetime attributes on MySQL 2018-04-06 22:28:44 -05:00
gitlab.rb Include the ee/ directory in backtraces 2018-03-12 10:14:52 +00:00
gt_one_coercion.rb
milestone_array.rb
static_model.rb
system_check.rb
unfold_form.rb
uploaded_file.rb Add direct_upload setting for artifacts 2018-04-05 15:01:14 +02:00
version_check.rb