DEV: Update default tagName and connectorTagName for plugin outlets (#13685)

This commit should be a no-op for all existing core outlets. Outlets which are introduced by themes/plugins may see a change in behavior, and should follow the steps below if they want to maintain their previous behavior.

`tagName="" connectorTagName=""` is almost always the correct choice for plugin outlets. 40eba8cd introduced a `noTags=true` shortcut which achieved this, and left a comment saying it should be the future default. This commit does exactly that. To avoid any breaking changes for plugins, all existing plugin outlets have been reviewed and adjusted by following this logic:

1) If `noTags=true`, remove the `noTags` parameter, and do not complete any further steps
2) If `tagName` is not specified, set `tagName="span"` (the previous default)
3) If `connectorTagName` is not specified, set `selectorTagName="div"` (the previous default)
4) If `tagName=""`, remove it
5) If `connectorTagName=""`, remove it

The updates were accomplished with the help of a ruby script:

```ruby
def removeAttr(tag, attribute)
  tag = tag.sub /\s#{attribute}="?\w*"? /, " "
  tag = tag.sub /\s#{attribute}="?\w*"?}}/, "}}"
  tag = tag.sub /^\s*#{attribute}="?\w*"?\n/, ""
  tag
end

files = Dir.glob("app/assets/javascripts/**/*.hbs")

puts "Checking #{files.count} files..."
files.each do |f|
  content = File.read(f)

  count = 0
  edits = 0
  content.gsub!(/{{\s*plugin-outlet.*?}}/m) do |match|
    count += 1

    result = match

    noTags = result.include?("noTags=true")
    tagName = result[/tagName="(\w*)"/, 1]
    connectorTagName = result[/connectorTagName="(\w*)"/, 1]

    if noTags
      result = removeAttr(result, "noTags")
    else
      if connectorTagName == ""
        result = removeAttr(result, "connectorTagName")
      elsif connectorTagName.nil?
        result = result.sub(/name="[\w-]+"/) { |m| "#{m} connectorTagName=\"div\"" }
      end

      if tagName == ""
        result = removeAttr(result, "tagName")
      elsif tagName.nil?
        result = result.sub(/name="[\w-]+"/) { |m| "#{m} tagName=\"span\"" }
      end
    end

    edits += 1 if match != result

    result
  end

  puts "#{count} outlets, #{edits} edited -> #{f}"

  File.write(f, content)
end
```
This commit is contained in:
David Taylor 2022-01-06 20:38:17 +00:00 committed by GitHub
parent 2bcb5360b6
commit c1f74cd92a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
94 changed files with 182 additions and 198 deletions

View File

@ -26,7 +26,7 @@
{{/if}}
{{/if}}
{{nav-item route="adminPlugins" label="admin.plugins.title"}}
{{plugin-outlet name="admin-menu" connectorTagName="" tagName=""}}
{{plugin-outlet name="admin-menu"}}
</ul>
</div>

View File

@ -4,7 +4,7 @@
<ul class="nav nav-pills">
{{nav-item route="admin.backups.index" label="admin.backups.menu.backups"}}
{{nav-item route="admin.backups.logs" label="admin.backups.menu.logs"}}
{{plugin-outlet name="downloader" tagName=""}}
{{plugin-outlet name="downloader" connectorTagName="div"}}
<div class="admin-actions">
{{#if model.canRollback}}
{{d-button action=(route-action "rollback")
@ -32,7 +32,7 @@
</nav>
</div>
{{plugin-outlet name="before-backup-list" tagName=""}}
{{plugin-outlet name="before-backup-list" connectorTagName="div"}}
<div class="admin-container">
{{outlet}}

View File

@ -1,5 +1,5 @@
<div class="inner-wrapper">
{{plugin-outlet name="admin-customize-themes-list-item" connectorTagName="span" args=(hash theme=theme)}}
{{plugin-outlet name="admin-customize-themes-list-item" tagName="span" connectorTagName="span" args=(hash theme=theme)}}
<div class="info">
<span class="name">

View File

@ -1,5 +1,5 @@
<div class="show-current-style">
{{plugin-outlet name="admin-customize-themes-show-top" args=(hash theme=model)}}
{{plugin-outlet name="admin-customize-themes-show-top" tagName="span" connectorTagName="div" args=(hash theme=model)}}
<div class="title">
{{#if editingName}}
{{text-field value=model.name autofocus="true"}}

View File

@ -1,4 +1,4 @@
{{plugin-outlet name="admin-dashboard-top"}}
{{plugin-outlet name="admin-dashboard-top" tagName="span" connectorTagName="div"}}
{{#if showVersionChecks}}
<div class="section-top">
@ -53,4 +53,4 @@
{{dashboard-new-features tagName="div"}}
{{plugin-outlet name="admin-dashboard-bottom"}}
{{plugin-outlet name="admin-dashboard-bottom" tagName="span" connectorTagName="div"}}

View File

@ -1,5 +1,5 @@
{{#conditional-loading-spinner condition=isLoading}}
{{plugin-outlet name="admin-dashboard-general-top"}}
{{plugin-outlet name="admin-dashboard-general-top" tagName="span" connectorTagName="div"}}
{{#if isCommunityHealthVisible}}
<div class="community-health section">
@ -156,5 +156,5 @@
{{/if}}
</div>
{{plugin-outlet name="admin-dashboard-general-bottom"}}
{{plugin-outlet name="admin-dashboard-general-bottom" tagName="span" connectorTagName="div"}}
{{/conditional-loading-spinner}}

View File

@ -1,5 +1,5 @@
<div class="sections">
{{plugin-outlet name="admin-dashboard-moderation-top"}}
{{plugin-outlet name="admin-dashboard-moderation-top" tagName="span" connectorTagName="div"}}
{{#if isModeratorsActivityVisible}}
<div class="moderators-activity section">
@ -40,6 +40,6 @@
filters=lastWeekfilters
reportOptions=userFlaggingRatioOptions}}
{{plugin-outlet name="admin-dashboard-moderation-bottom"}}
{{plugin-outlet name="admin-dashboard-moderation-bottom" tagName="span" connectorTagName="div"}}
</div>
</div>

View File

@ -1,5 +1,5 @@
<div class="sections">
{{plugin-outlet name="admin-dashboard-security-top"}}
{{plugin-outlet name="admin-dashboard-security-top" tagName="span" connectorTagName="div"}}
<div class="main-section">
{{admin-report
@ -10,6 +10,6 @@
dataSourceName="staff_logins"
filters=lastWeekfilters}}
{{plugin-outlet name="admin-dashboard-security-bottom"}}
{{plugin-outlet name="admin-dashboard-security-bottom" tagName="span" connectorTagName="div"}}
</div>
</div>

View File

@ -67,4 +67,4 @@
<p class="admin-plugins-howto"><a href="https://meta.discourse.org/t/install-a-plugin/19157">{{i18n "admin.plugins.howto"}}</a></p>
{{plugin-outlet name="admin-below-plugins-index" args=(hash model=model)}}
{{plugin-outlet name="admin-below-plugins-index" tagName="span" connectorTagName="div" args=(hash model=model)}}

View File

@ -27,8 +27,7 @@
{{plugin-outlet
name="admin-user-controls-after"
args=(hash model=model)
tagName=""
connectorTagName=""}}
}}
</div>
<div class="display-row username">
@ -48,8 +47,7 @@
{{plugin-outlet
name="admin-user-below-names"
args=(hash user=model)
tagName=""
connectorTagName=""}}
}}
{{#if canCheckEmails}}
<div class="display-row email">
@ -235,7 +233,7 @@
</section>
{{/if}}
{{plugin-outlet name="admin-user-details" args=(hash model=model)}}
{{plugin-outlet name="admin-user-details" tagName="span" connectorTagName="div" args=(hash model=model)}}
<section class="details">
<h1>{{i18n "admin.user.permissions"}}</h1>
@ -726,7 +724,7 @@
</section>
{{/if}}
{{plugin-outlet name="after-user-details" args=(hash model=model)}}
{{plugin-outlet name="after-user-details" tagName="span" connectorTagName="div" args=(hash model=model)}}
<section>
<hr>

View File

@ -100,7 +100,7 @@
{{#if user.second_factor_enabled}}
{{d-icon "lock" title="admin.user.second_factor_enabled" }}
{{/if}}
{{plugin-outlet name="admin-users-list-icon" tagName="" args=(hash user=user query=query)}}
{{plugin-outlet name="admin-users-list-icon" connectorTagName="div" args=(hash user=user query=query)}}
</td>
</tr>
{{/each}}

View File

@ -8,7 +8,7 @@
{{nav-item route="adminUsersList.show" routeParam="silenced" label="admin.users.nav.silenced" class="silenced-users"}}
{{nav-item route="adminUsersList.show" routeParam="staged" label="admin.users.nav.staged" class="staged-users"}}
{{nav-item route="groups" label="groups.index.title" class="groups"}}
{{plugin-outlet name="admin-users-list-nav-after" tagName="" connectorTagName=""}}
{{plugin-outlet name="admin-users-list-nav-after"}}
<li class="admin-actions">
{{#if currentUser.can_invite_to_forum}}

View File

@ -71,7 +71,7 @@
</div>
</div>
{{plugin-outlet name="web-hook-fields" args=(hash model=model)}}
{{plugin-outlet name="web-hook-fields" tagName="span" connectorTagName="div" args=(hash model=model)}}
<div>
{{input type="checkbox" name="verify_certificate" checked=model.verify_certificate}} {{i18n "admin.web_hooks.verify_certificate"}}

View File

@ -36,16 +36,11 @@ import {
import Component from "@ember/component";
export default Component.extend({
tagName: "span",
tagName: "",
connectorTagName: "",
connectors: null,
init() {
// This should be the future default
if (this.noTags) {
this.set("tagName", "");
this.set("connectorTagName", "");
}
this._super(...arguments);
const name = this.name;
if (name) {

View File

@ -21,7 +21,6 @@
{{plugin-outlet name="about-after-description"
connectorTagName="section"
tagName=""
args=(hash model=model)}}
{{#if model.admins}}
@ -35,6 +34,7 @@
{{/if}}
{{plugin-outlet name="about-after-admins"
tagName="span"
connectorTagName="section"
args=(hash model=model)}}
@ -50,6 +50,7 @@
{{/if}}
{{plugin-outlet name="about-after-moderators"
tagName="span"
connectorTagName="section"
args=(hash model=model)}}

View File

@ -1,7 +1,7 @@
{{#discourse-root}}
<a href="#main-container" id="skip-link">{{i18n "skip_to_main_content"}}</a>
{{d-document}}
{{plugin-outlet name="above-site-header" tagName=""}}
{{plugin-outlet name="above-site-header" connectorTagName="div"}}
{{site-header canSignUp=canSignUp
showCreateAccount=(route-action "showCreateAccount")
showLogin=(route-action "showLogin")
@ -11,10 +11,10 @@
logout=(route-action "logout")}}
{{software-update-prompt}}
{{plugin-outlet name="below-site-header" tagName="" args=(hash currentPath=router._router.currentPath)}}
{{plugin-outlet name="below-site-header" connectorTagName="div" args=(hash currentPath=router._router.currentPath)}}
<div id="main-outlet" class="wrap" role="main">
{{plugin-outlet name="above-main-container" tagName=""}}
{{plugin-outlet name="above-main-container" connectorTagName="div"}}
<div class="container" id="main-container">
{{#if showTop}}
{{custom-html name="top"}}
@ -23,17 +23,17 @@
{{pwa-install-banner}}
{{global-notice}}
{{create-topics-notice}}
{{plugin-outlet name="top-notices" tagName="" args=(hash currentPath=router._router.currentPath)}}
{{plugin-outlet name="top-notices" connectorTagName="div" args=(hash currentPath=router._router.currentPath)}}
</div>
{{outlet}}
{{outlet "user-card"}}
</div>
{{plugin-outlet name="above-footer" tagName="" args=(hash showFooter=showFooter)}}
{{plugin-outlet name="above-footer" connectorTagName="div" args=(hash showFooter=showFooter)}}
{{#if showFooter}}
{{custom-html name="footer" triggerAppEvent="true"}}
{{/if}}
{{plugin-outlet name="below-footer" tagName="" args=(hash showFooter=showFooter)}}
{{plugin-outlet name="below-footer" connectorTagName="div" args=(hash showFooter=showFooter)}}
{{outlet "modal"}}
{{topic-entrance}}

View File

@ -2,7 +2,7 @@
<div class="container badges">
<h1>{{i18n "badges.title"}}</h1>
{{plugin-outlet name="below-badges-title"}}
{{plugin-outlet name="below-badges-title" tagName="span" connectorTagName="div"}}
<div class="badge-groups">
{{#each badgeGroups as |bg|}}

View File

@ -41,4 +41,4 @@
{{/if}}
{{/if}}
{{plugin-outlet name="bread-crumbs-right" connectorTagName="li" tagName=""}}
{{plugin-outlet name="bread-crumbs-right" connectorTagName="li"}}

View File

@ -6,4 +6,4 @@
{{categories-topic-list topics=topics filter="latest" class="latest-topic-list"}}
</div>
{{plugin-outlet name="extra-categories-column" tagName=""}}
{{plugin-outlet name="extra-categories-column" connectorTagName="div"}}

View File

@ -6,4 +6,4 @@
{{categories-topic-list topics=topics filter="top" class="top-topic-list"}}
</div>
{{plugin-outlet name="extra-categories-column" tagName=""}}
{{plugin-outlet name="extra-categories-column" connectorTagName="div"}}

View File

@ -35,7 +35,7 @@
{{/if}}
</div>
{{/unless}}
{{plugin-outlet name="category-box-below-each-category" connectorTagName="" tagName="" args=(hash category=c)}}
{{plugin-outlet name="category-box-below-each-category" args=(hash category=c)}}
</div>
</div>
{{/each}}

View File

@ -70,7 +70,7 @@
{{/if}}
{{/unless}}
</div>
{{plugin-outlet name="category-box-below-each-category" connectorTagName="" tagName="" args=(hash category=c)}}
{{plugin-outlet name="category-box-below-each-category" args=(hash category=c)}}
</div>
</div>
{{/each}}

View File

@ -46,4 +46,4 @@
{{/if}}
{{/if}}
{{plugin-outlet name="below-categories-only" tagName="" args=(hash categories=categories showTopics=showTopics)}}
{{plugin-outlet name="below-categories-only" connectorTagName="div" args=(hash categories=categories showTopics=showTopics)}}

View File

@ -1,6 +1,6 @@
<div aria-role="heading" aria-level="2" class="table-heading">
{{i18n (concat "filters." filter ".title")}}
{{plugin-outlet name="categories-topics-table-heading" tagName=""}}
{{plugin-outlet name="categories-topics-table-heading" connectorTagName="div"}}
</div>
{{#if topics}}

View File

@ -1 +1 @@
{{plugin-outlet name="category-title-before" noTags=true args=(hash category=category)}}
{{plugin-outlet name="category-title-before" args=(hash category=category)}}

View File

@ -1,5 +1,5 @@
<div class="composer-controls">
{{plugin-outlet name="before-composer-toggles"}}
{{plugin-outlet name="before-composer-toggles" tagName="span" connectorTagName="div"}}
{{#if site.mobileView}}
{{d-button

View File

@ -55,7 +55,7 @@
focusOut=(action "focusOut")
}}
{{popup-input-tip validation=validation}}
{{plugin-outlet name="after-d-editor" tagName="" args=outletArgs}}
{{plugin-outlet name="after-d-editor" connectorTagName="div" args=outletArgs}}
</div>
</div>
@ -65,7 +65,7 @@
{{html-safe preview}}
{{/unless}}
</div>
{{plugin-outlet name="editor-preview" classNames="d-editor-plugin" args=outletArgs}}
{{plugin-outlet name="editor-preview" tagName="span" connectorTagName="div" classNames="d-editor-plugin" args=outletArgs}}
</div>
</div>

View File

@ -35,7 +35,7 @@
{{/if}}
{{/if}}
{{plugin-outlet name="before-create-topic-button" tagName=""
{{plugin-outlet name="before-create-topic-button" connectorTagName="div" tagName=""
args=(hash
canCreateTopic=canCreateTopic
createTopicDisabled=createTopicDisabled
@ -54,7 +54,7 @@
canCreateTopicOnTag=canCreateTopicOnTag
}}
{{plugin-outlet name="after-create-topic-button" tagName=""
{{plugin-outlet name="after-create-topic-button" connectorTagName="div" tagName=""
args=(hash
canCreateTopic=canCreateTopic
createTopicDisabled=createTopicDisabled

View File

@ -52,4 +52,4 @@
{{/unless}}
</section>
{{plugin-outlet name="category-custom-security" args=(hash category=category) connectorTagName="" tagName="section"}}
{{plugin-outlet name="category-custom-security" args=(hash category=category) tagName="section"}}

View File

@ -310,7 +310,7 @@
</label>
</section>
{{plugin-outlet name="category-email-in" args=(hash category=category)}}
{{plugin-outlet name="category-email-in" tagName="span" connectorTagName="div" args=(hash category=category)}}
{{/if}}
{{#unless emailInEnabled}}
@ -321,4 +321,4 @@
{{/unless}}
</section>
{{plugin-outlet name="category-custom-settings" args=(hash category=category) connectorTagName="" tagName="section"}}
{{plugin-outlet name="category-custom-settings" args=(hash category=category) tagName="section"}}

View File

@ -23,5 +23,5 @@
{{/link-to}}
</li>
{{/each}}
{{plugin-outlet name="group-reports-nav-item" args=(hash group=group) tagName="" connectorTagName="li"}}
{{plugin-outlet name="group-reports-nav-item" args=(hash group=group) connectorTagName="li"}}
{{/mobile-nav}}

View File

@ -16,7 +16,7 @@
<div class="group-member-info names">
<span class="name">{{name}}</span>
{{#if post.user.title}}<span class="user-title">{{post.user.title}}</span>{{/if}}
{{plugin-outlet name="group-post-additional-member-info" noTags=true args=(hash user=post.user)}}
{{plugin-outlet name="group-post-additional-member-info" args=(hash user=post.user)}}
</div>
{{/if}}
</div>

View File

@ -88,7 +88,7 @@
value=model.incoming_email
placeholderKey="admin.groups.manage.interaction.incoming_email_placeholder"}}
{{plugin-outlet name="group-email-in" args=(hash model=model)}}
{{plugin-outlet name="group-email-in" tagName="span" connectorTagName="div" args=(hash model=model)}}
</div>
{{/if}}
@ -107,4 +107,4 @@
}}
</div>
{{plugin-outlet name="groups-interaction-custom-options" args=(hash model=model)}}
{{plugin-outlet name="groups-interaction-custom-options" tagName="span" connectorTagName="div" args=(hash model=model)}}

View File

@ -78,7 +78,7 @@
{{/if}}
</div>
{{plugin-outlet name="groups-form-membership-below-automatic"
{{plugin-outlet name="groups-form-membership-below-automatic" tagName="span" connectorTagName="div"
args=(hash model=model)}}
<div class="control-group">

View File

@ -35,5 +35,5 @@
{{#if canEdit}}
{{yield}}
{{plugin-outlet name="group-edit" args=(hash group=model)}}
{{plugin-outlet name="group-edit" tagName="span" connectorTagName="div" args=(hash group=model)}}
{{/if}}

View File

@ -1,4 +1,4 @@
{{plugin-outlet name="above-latest-topic-list-item" tagName=""}}
{{plugin-outlet name="above-latest-topic-list-item" connectorTagName="div"}}
<div class="topic-poster">
{{#user-link user=topic.lastPosterUser}}
{{avatar topic.lastPosterUser imageSize="large"}}

View File

@ -2,4 +2,4 @@
{{navigation-item content=navItem filterMode=filterMode category=category}}
{{/each}}
{{custom-html name="extraNavItem" tagName="li"}}
{{plugin-outlet name="extra-nav-item" tagName="" connectorTagName="li" args=(hash category=category filterMode=filterMode)}}
{{plugin-outlet name="extra-nav-item" connectorTagName="li" args=(hash category=category filterMode=filterMode)}}

View File

@ -1,9 +1,9 @@
{{#unless isHidden}}
{{plugin-outlet name="category-list-above-each-category" connectorTagName="" tagName="" args=(hash category=category)}}
{{plugin-outlet name="category-list-above-each-category" args=(hash category=category)}}
<tr data-category-id={{category.id}} data-notification-level={{category.notificationLevelString}} class="{{if category.description_excerpt "has-description" "no-description"}} {{if category.uploaded_logo.url "has-logo" "no-logo"}}">
<td class="category {{if isMuted "muted"}} {{if noCategoryStyle "no-category-style"}}" style={{unless noCategoryStyle (border-color category.color)}}>
{{category-title-link category=category}}
{{plugin-outlet name="below-category-title-link" tagName="" args=(hash category=category)}}
{{plugin-outlet name="below-category-title-link" connectorTagName="div" args=(hash category=category)}}
{{#if category.description_excerpt}}
<div class="category-description">
{{dir-span category.description_excerpt htmlSafe="true"}}

View File

@ -38,7 +38,7 @@
translatedTitle=source.title
icon=source.icon}}
{{/each}}
{{plugin-outlet name="quote-share-buttons-after" tagName=""}}
{{plugin-outlet name="quote-share-buttons-after" connectorTagName="div"}}
</span>
</span>
{{/if}}
@ -64,5 +64,5 @@
</div>
{{/if}}
{{/if}}
{{plugin-outlet name="quote-button-after" tagName=""}}
{{plugin-outlet name="quote-button-after" connectorTagName="div"}}
</div>

View File

@ -9,7 +9,6 @@
{{i18n "review.deleted_user"}}
{{/if}}
</span>
{{plugin-outlet name="after-reviewable-post-user"
tagName=""
{{plugin-outlet name="after-reviewable-post-user" connectorTagName="div"
args=(hash user=user)}}
</div>

View File

@ -14,7 +14,7 @@
{{html-safe reviewable.cooked}}
{{/if}}
</div>
{{plugin-outlet name="after-reviewable-flagged-post-body" args=(hash model=reviewable)}}
{{plugin-outlet name="after-reviewable-flagged-post-body" tagName="span" connectorTagName="div" args=(hash model=reviewable)}}
{{yield}}
</div>
</div>

View File

@ -3,7 +3,7 @@
</summary>
<div class="search-advanced-filters">
<div class="search-advanced-options">
{{plugin-outlet name="advanced-search-options-above" args=(hash searchedTerms=searchedTerms onChangeSearchedTermField=onChangeSearchedTermField) tagName=""}}
{{plugin-outlet name="advanced-search-options-above" connectorTagName="div" args=(hash searchedTerms=searchedTerms onChangeSearchedTermField=onChangeSearchedTermField)}}
<div class="control-group advanced-search-category">
<label class="control-label">{{i18n "search.advanced.in_category.label"}}</label>
@ -173,7 +173,7 @@
</div>
</div>
{{plugin-outlet name="advanced-search-options-below" args=(hash searchedTerms=searchedTerms onChangeSearchedTermField=onChangeSearchedTermField) tagName=""}}
{{plugin-outlet name="advanced-search-options-below" connectorTagName="div" args=(hash searchedTerms=searchedTerms onChangeSearchedTermField=onChangeSearchedTermField)}}
</div>
<details class="search-advanced-additional-options">

View File

@ -31,7 +31,7 @@
{{#if post.topic}}
{{discourse-tags post.topic}}
{{/if}}
{{plugin-outlet name="full-page-search-category" args=(hash post=post)}}
{{plugin-outlet name="full-page-search-category" tagName="span" connectorTagName="div" args=(hash post=post)}}
</div>
</div>

View File

@ -21,4 +21,4 @@
</h3>
</div>
{{plugin-outlet name="below-suggested-topics" args=(hash topic=topic)}}
{{plugin-outlet name="below-suggested-topics" tagName="span" connectorTagName="div" args=(hash topic=topic)}}

View File

@ -89,7 +89,7 @@
</section>
{{/if}}
{{#if canAdminTag}}
{{plugin-outlet name="tag-custom-settings" args=(hash tag=tagInfo) connectorTagName="" tagName="section"}}
{{plugin-outlet name="tag-custom-settings" args=(hash tag=tagInfo) tagName="section"}}
<div class="tag-actions">
{{d-button class="btn-default" action=(action "toggleEditControls") icon="cog" label="tagging.edit_synonyms" id="edit-synonyms"}}
{{#if deleteAction}}

View File

@ -12,4 +12,4 @@
{{/if}}
</div>
{{plugin-outlet name="topic-category" args=(hash topic=topic category=topic.category)}}
{{plugin-outlet name="topic-category" tagName="span" connectorTagName="div" args=(hash topic=topic category=topic.category)}}

View File

@ -52,7 +52,6 @@
{{plugin-outlet name="topic-footer-main-buttons-before-create"
args=(hash topic=topic)
tagName=""
connectorTagName="span"}}
{{#if topic.details.can_create_post}}
@ -65,7 +64,6 @@
{{plugin-outlet name="after-topic-footer-main-buttons"
args=(hash topic=topic)
tagName=""
connectorTagName="span"}}
</div>
@ -80,5 +78,4 @@
{{plugin-outlet name="after-topic-footer-buttons"
args=(hash topic=topic)
tagName=""
connectorTagName="span"}}

View File

@ -26,8 +26,7 @@
lastVisitedTopic=lastVisitedTopic
discoveryList=discoveryList
hideCategory=hideCategory)
tagName=""
connectorTagName=""}}
}}
<tbody class="topic-list-body">
{{#each filteredTopics as |topic|}}
@ -56,5 +55,4 @@
lastVisitedTopic=lastVisitedTopic
discoveryList=discoveryList
hideCategory=hideCategory)
tagName=""
connectorTagName=""}}
}}

View File

@ -30,4 +30,4 @@
{{~#if topicInvisible~}}
<span title={{invisibleTitle}} class="topic-status">{{invisibleIcon}}</span>
{{~/if~}}
{{plugin-outlet name="after-topic-status" tagName="" args=(hash topic=topic)~}}
{{plugin-outlet name="after-topic-status" connectorTagName="div" args=(hash topic=topic)~}}

View File

@ -2,5 +2,5 @@
<div class="title-wrapper">
{{yield}}
</div>
{{plugin-outlet name="topic-title" args=(hash model=model)}}
{{plugin-outlet name="topic-title" tagName="span" connectorTagName="div" args=(hash model=model)}}
</div>

View File

@ -30,7 +30,7 @@
{{user-avatar-flair user=this.user}}
{{plugin-outlet name="user-card-avatar-flair" args=(hash user=this.user) tagName="div"}}
{{plugin-outlet name="user-card-avatar-flair" connectorTagName="div" args=(hash user=this.user) tagName="div"}}
</div>
<div class="names">
<h1 class="{{this.staff}} {{this.newUser}} {{if this.nameFirst "full-name" "username"}}">
@ -47,7 +47,7 @@
</a>
{{/if}}
</h1>
{{plugin-outlet name="user-card-after-username" args=(hash user=this.user showUser=(action "showUser" this.user)) tagName=""}}
{{plugin-outlet name="user-card-after-username" connectorTagName="div" args=(hash user=this.user showUser=(action "showUser" this.user))}}
{{#if this.nameFirst}}
<h2 class="username">{{this.username}}</h2>
{{else}}
@ -61,7 +61,7 @@
{{#if this.user.staged}}
<h2 class="staged">{{i18n "user.staged"}}</h2>
{{/if}}
{{plugin-outlet name="user-card-post-names" args=(hash user=this.user) tagName="div"}}
{{plugin-outlet name="user-card-post-names" connectorTagName="div" args=(hash user=this.user) tagName="div"}}
</div>
<ul class="usercard-controls">
{{#if this.user.can_send_private_message_to_user}}
@ -101,14 +101,14 @@
</li>
{{/if}}
{{plugin-outlet
name="user-card-additional-buttons"
name="user-card-additional-buttons" connectorTagName="div"
args=(hash user=this.user close=(action "close"))
tagName="li"}}
</ul>
{{plugin-outlet
name="user-card-additional-controls"
name="user-card-additional-controls" connectorTagName="div"
args=(hash user=this.user close=(action "close"))
tagName=""}}
}}
</div>
{{#if this.user.profile_hidden}}
@ -184,7 +184,7 @@
<span>{{this.formattedUserLocalTime}}</span>
</span>
{{/if}}
{{plugin-outlet name="user-card-location-and-website" args=(hash user=this.user)}}
{{plugin-outlet name="user-card-location-and-website" tagName="span" connectorTagName="div" args=(hash user=this.user)}}
</div>
</div>
{{/if}}
@ -222,10 +222,10 @@
{{/if}}
</h3>
{{/if}}
{{plugin-outlet name="user-card-metadata" args=(hash user=this.user) tagName=""}}
{{plugin-outlet name="user-card-metadata" connectorTagName="div" args=(hash user=this.user)}}
</div>
{{/unless}}
{{plugin-outlet name="user-card-after-metadata" args=(hash user=this.user) tagName=""}}
{{plugin-outlet name="user-card-after-metadata" connectorTagName="div" args=(hash user=this.user)}}
</div>
{{#if this.publicUserFields}}
@ -249,7 +249,7 @@
</div>
{{/if}}
{{plugin-outlet name="user-card-before-badges" args=(hash user=this.user) tagName=""}}
{{plugin-outlet name="user-card-before-badges" connectorTagName="div" args=(hash user=this.user)}}
{{#if this.showBadges}}
<div class="card-row">

View File

@ -9,7 +9,7 @@
<div class="name-line">
<span class={{if nameFirst "name bold" "username bold"}}><a href={{this.userPath}} data-user-card={{@user.username}}>{{if nameFirst this.name (format-username @user.username)}}</a></span>
<span class={{if nameFirst "username margin" "name margin"}}><a href={{this.userPath}} data-user-card={{@user.username}}>{{if nameFirst (format-username @user.username) this.name}}</a></span>
{{plugin-outlet name="after-user-name" connectorTagName="span" args=(hash user=user)}}
{{plugin-outlet name="after-user-name" tagName="span" connectorTagName="span" args=(hash user=user)}}
</div>
<div class="title">{{@user.title}}</div>
@ -21,4 +21,4 @@
</div>
{{plugin-outlet name="after-user-info" args=(hash user=user)}}
{{plugin-outlet name="after-user-info" tagName="span" connectorTagName="div" args=(hash user=user)}}

View File

@ -1,5 +1,5 @@
<div class="user-profile-avatar">
{{bound-avatar @user "huge"}}
{{user-avatar-flair user=@user}}
{{plugin-outlet name="user-profile-avatar-flair" args=(hash model=@user) tagName="div"}}
{{plugin-outlet name="user-profile-avatar-flair" connectorTagName="div" args=(hash model=@user) tagName="div"}}
</div>

View File

@ -28,7 +28,7 @@
</span>
{{/if}}
{{plugin-outlet name="user-stream-item-header" args=(hash item=@item)}}
{{plugin-outlet name="user-stream-item-header" tagName="span" connectorTagName="div" args=(hash item=@item)}}
</div>
{{#if this.actionDescription}}

View File

@ -17,7 +17,7 @@
{{#if model.viewOpenOrFullscreen}}
<div role="form" aria-label={{I18n saveLabel}} class="reply-area {{if canEditTags "with-tags" "without-tags"}}">
{{plugin-outlet name="composer-open" args=(hash model=model)}}
{{plugin-outlet name="composer-open" tagName="span" connectorTagName="div" args=(hash model=model)}}
<div class="reply-to">
{{#unless model.viewFullscreen}}
@ -29,7 +29,7 @@
canWhisper=canWhisper
}}
{{plugin-outlet name="composer-action-after" noTags=true args=(hash model=model)}}
{{plugin-outlet name="composer-action-after" args=(hash model=model)}}
{{#unless site.mobileView}}
{{#if model.unlistTopic}}
@ -50,7 +50,7 @@
</div>
{{/unless}}
{{plugin-outlet name="before-composer-controls" args=(hash model=model) tagName="" connectorTagName=""}}
{{plugin-outlet name="before-composer-controls" args=(hash model=model)}}
{{composer-toggles
composeState=model.composeState
@ -143,15 +143,15 @@
</div>
{{/if}}
{{plugin-outlet name="composer-fields" args=(hash model=model showPreview=showPreview)}}
{{plugin-outlet name="composer-fields" tagName="span" connectorTagName="div" args=(hash model=model showPreview=showPreview)}}
{{/unless}}
</div>
{{/composer-editor}}
{{plugin-outlet name="composer-after-composer-editor" connectorTagName="" args=(hash model=model)}}
{{plugin-outlet name="composer-after-composer-editor" tagName="span" args=(hash model=model)}}
<div class="submit-panel">
{{plugin-outlet name="composer-fields-below" args=(hash model=model)}}
{{plugin-outlet name="composer-fields-below" tagName="span" connectorTagName="div" args=(hash model=model)}}
<div class="save-or-cancel">
{{#unless model.viewFullscreen}}
@ -217,11 +217,11 @@
{{/if}}
</div>
{{plugin-outlet name="composer-after-save-or-cancel" connectorTagName="" args=(hash model=model)}}
{{plugin-outlet name="composer-after-save-or-cancel" tagName="span" args=(hash model=model)}}
</div>
{{#if site.mobileView}}
{{plugin-outlet name="composer-mobile-buttons-bottom" connectorTagName="" args=(hash model=model)}}
{{plugin-outlet name="composer-mobile-buttons-bottom" tagName="span" args=(hash model=model)}}
{{#if allowUpload}}
<a id="mobile-file-upload" class="btn btn-default no-text mobile-file-upload {{if isUploading "hidden"}}" aria-label={{i18n "composer.upload_title"}}>

View File

@ -5,10 +5,10 @@
{{/unless}}
</div>
{{plugin-outlet name="discovery-list-controls-above"}}
{{plugin-outlet name="discovery-list-controls-above" tagName="span" connectorTagName="div"}}
<div class="list-controls">
{{plugin-outlet name="discovery-navigation-bar-above" tagName=""}}
{{plugin-outlet name="discovery-navigation-bar-above" connectorTagName="div"}}
<div class="container">
{{outlet "navigation-bar"}}
</div>
@ -16,7 +16,7 @@
{{conditional-loading-spinner condition=loading}}
{{plugin-outlet name="discovery-above"}}
{{plugin-outlet name="discovery-above" tagName="span" connectorTagName="div"}}
<div class="container list-container {{if loading "hidden"}}">
<div class="row">
@ -29,7 +29,7 @@
<div class="row">
<div class="full-width">
<div id="list-area">
{{plugin-outlet name="discovery-list-container-top"
{{plugin-outlet name="discovery-list-container-top" tagName="span" connectorTagName="div"
args=(hash category=category listLoading=loading)}}
{{outlet "list-container"}}
</div>
@ -37,4 +37,4 @@
</div>
</div>
{{plugin-outlet name="discovery-below"}}
{{plugin-outlet name="discovery-below" tagName="span" connectorTagName="div"}}

View File

@ -1,4 +1,4 @@
{{plugin-outlet name="above-discovery-categories" tagName="" args=(hash categories=model.categories categoryPageStyle=categoryPageStyle topics=model.topics)}}
{{plugin-outlet name="above-discovery-categories" connectorTagName="div" args=(hash categories=model.categories categoryPageStyle=categoryPageStyle topics=model.topics)}}
{{#discovery-categories refresh=(action "refresh")}}
{{#if topicTrackingState.hasIncoming}}
@ -14,4 +14,4 @@
topics=model.topics}}
{{/discovery-categories}}
{{plugin-outlet name="below-discovery-categories" tagName="" args=(hash categories=model.categories categoryPageStyle=categoryPageStyle topics=model.topics)}}
{{plugin-outlet name="below-discovery-categories" connectorTagName="div" args=(hash categories=model.categories categoryPageStyle=categoryPageStyle topics=model.topics)}}

View File

@ -38,7 +38,7 @@ model=model showResetNew=showResetNew showDismissRead=showDismissRead resetNew=(
</div>
{{/if}}
{{/if}}
{{plugin-outlet name="before-topic-list" args=(hash category=category)}}
{{plugin-outlet name="before-topic-list" tagName="span" connectorTagName="div" args=(hash category=category)}}
{{#if hasTopics}}
{{topic-list
@ -65,7 +65,7 @@ model=model showResetNew=showResetNew showDismissRead=showDismissRead resetNew=(
onScroll=discoveryTopicList.saveScrollPosition}}
{{/if}}
{{plugin-outlet name="after-topic-list" args=(hash category=category)}}
{{plugin-outlet name="after-topic-list" tagName="span" connectorTagName="div" args=(hash category=category)}}
{{/discovery-topics-list}}
<footer class="topic-list-bottom">

View File

@ -118,7 +118,7 @@
{{/if}}
{{/if}}
{{plugin-outlet name="full-page-search-below-search-info" args=(hash search=searchTerm)}}
{{plugin-outlet name="full-page-search-below-search-info" tagName="span" connectorTagName="div" args=(hash search=searchTerm)}}
{{#if searching}}
{{loading-spinner size="medium"}}

View File

@ -1,4 +1,4 @@
{{plugin-outlet name="before-group-container" args=(hash group=model)}}
{{plugin-outlet name="before-group-container" tagName="span" connectorTagName="div" args=(hash group=model)}}
<div class="container group {{model.name}}">
{{#if showTooltip}}
@ -62,7 +62,7 @@
{{/if}}
</div>
{{plugin-outlet name="group-details-after" args=(hash model=model)}}
{{plugin-outlet name="group-details-after" tagName="span" connectorTagName="div" args=(hash model=model)}}
</div>
{{#if model.bio_cooked}}

View File

@ -7,7 +7,7 @@
{{#if siteSettings.enable_mentions}}
{{group-activity-filter filter="mentions" categoryId=category_id}}
{{/if}}
{{plugin-outlet name="group-activity-bottom" tagName="" connectorTagName="li"}}
{{plugin-outlet name="group-activity-bottom" connectorTagName="li"}}
{{/mobile-nav}}
</section>
<section class="user-content">

View File

@ -1,6 +1,6 @@
<form class="groups-form form-vertical groups-notifications-form">
{{plugin-outlet name="before-manage-group-tags" args=(hash model=model) tagName=""}}
{{plugin-outlet name="before-manage-group-tags" connectorTagName="div" args=(hash model=model)}}
<div class="control-group">
<label class="control-label">{{i18n "groups.manage.tags.long_title"}}</label>

View File

@ -1,4 +1,4 @@
{{plugin-outlet name="before-groups-index-container" tagName=""}}
{{plugin-outlet name="before-groups-index-container" connectorTagName="div"}}
{{#d-section pageClass="groups"}}
<div class="groups-header">
@ -87,7 +87,7 @@
{{/if}}
{{/group-membership-button}}
{{plugin-outlet name="group-index-box-after" args=(hash model=group)}}
{{plugin-outlet name="group-index-box-after" tagName="span" connectorTagName="div" args=(hash model=group)}}
</div>
</div>
{{/link-to}}
@ -104,4 +104,4 @@
{{/d-section}}
{{plugin-outlet name="after-groups-index-container" tagName=""}}
{{plugin-outlet name="after-groups-index-container" connectorTagName="div"}}

View File

@ -9,6 +9,6 @@
{{#each navItems as |navItem|}}
{{navigation-item content=navItem filterMode=filterMode category=category}}
{{/each}}
{{plugin-outlet name="extra-nav-item" tagName="" connectorTagName="li" args=(hash category=category filterMode=filterMode)}}
{{plugin-outlet name="extra-nav-item" connectorTagName="li" args=(hash category=category filterMode=filterMode)}}
</ul>
{{/if}}

View File

@ -1,5 +1,5 @@
{{#unless isHidden}}
{{plugin-outlet name="category-list-above-each-category" connectorTagName="" tagName="" args=(hash category=category)}}
{{plugin-outlet name="category-list-above-each-category" args=(hash category=category)}}
<div data-category-id={{category.id}} data-notification-level={{category.notificationLevelString}} style={{border-color category.color}} class="category-list-item category {{if isMuted "muted"}}">
<table class="topic-list">
<tbody>

View File

@ -1,5 +1,5 @@
{{#login-modal loginName=loginName loginPassword=loginPassword secondFactorToken=secondFactorToken action=(action "login")}}
{{plugin-outlet name="login-before-modal-body" tagName=""}}
{{plugin-outlet name="login-before-modal-body" connectorTagName="div"}}
{{#d-modal-body class=modalBodyClasses}}
<div class="login-welcome-header">
<h1 class="login-title">{{i18n "login.header_title"}}</h1> <img src={{wavingHandURL}} alt="" class="waving-hand">
@ -69,7 +69,7 @@
{{/if}}
</div>
{{plugin-outlet name="login-after-modal-footer" tagName=""}}
{{plugin-outlet name="login-after-modal-footer" connectorTagName="div"}}
<div class={{alertClass}} id="login-alert">{{alert}}</div>
{{/login-modal}}

View File

@ -1,7 +1,7 @@
{{#load-more selector=".directory .user" action=(action "loadMore")}}
<div class="container">
<div class="users-directory directory">
{{plugin-outlet name="users-top" connectorTagName="div" args=(hash model=model)}}
{{plugin-outlet name="users-top" tagName="span" connectorTagName="div" args=(hash model=model)}}
<div class="directory-controls">
{{period-chooser period=period onChange=(action (mut period)) fullDay=false}}
@ -33,7 +33,7 @@
}}
{{/if}}
</div>
{{plugin-outlet name="users-directory-controls" connectorTagName="" tagName="" args=(hash model=model)}}
{{plugin-outlet name="users-directory-controls" args=(hash model=model)}}
</div>
{{#conditional-loading-spinner condition=isLoading}}

View File

@ -1,6 +1,6 @@
{{#create-account email=accountEmail disabled=submitDisabled action=(action "createAccount")}}
{{#unless complete}}
{{plugin-outlet name="create-account-before-modal-body"}}
{{plugin-outlet name="create-account-before-modal-body" tagName="span" connectorTagName="div"}}
{{#d-modal-body class=modalBodyClasses preventModalAlertHiding=true}}
<div class="create-account-form">
<div class="login-welcome-header" id="create-account-title">
@ -88,7 +88,6 @@
{{plugin-outlet
name="create-account-before-password"
noTags=true
args=(hash
accountName=accountName
accountUsername=accountUsername
@ -141,7 +140,6 @@
{{plugin-outlet
name="create-account-after-password"
noTags=true
args=(hash
accountName=accountName
accountUsername=accountUsername
@ -184,7 +182,7 @@
</div>
</div>
{{plugin-outlet name="create-account-after-modal-footer" tagName=""}}
{{plugin-outlet name="create-account-after-modal-footer" connectorTagName="div"}}
{{/if}}
{{#unless hasAuthOptions}}

View File

@ -13,7 +13,7 @@
{{/flag-selection}}
</form>
{{plugin-outlet name="flag-modal-bottom" tagName="" args=(hash post=model)}}
{{plugin-outlet name="flag-modal-bottom" connectorTagName="div" args=(hash post=model)}}
{{/d-modal-body}}
<div class="modal-footer">

View File

@ -5,7 +5,7 @@
{{#link-to "user" model.username}}
{{bound-avatar-template model.avatar_template "small"}} {{model.username}}
{{/link-to}}
{{plugin-outlet name="revision-user-details-after" noTags=true args=(hash model=model)}}
{{plugin-outlet name="revision-user-details-after" args=(hash model=model)}}
<span class="date">{{bound-date model.created_at}}</span>
{{#if model.edit_reason}}
&mdash; <span class="edit-reason">{{model.edit_reason}}</span>
@ -101,7 +101,7 @@
</div>
{{/if}}
{{plugin-outlet name="post-revisions" args=(hash model=model)}}
{{plugin-outlet name="post-revisions" tagName="span" connectorTagName="div" args=(hash model=model)}}
{{#links-redirect class="row"}}
{{html-safe bodyDiff}}

View File

@ -1,5 +1,5 @@
{{#login-modal loginName=loginName loginPassword=loginPassword secondFactorToken=secondFactorToken action=(action "login")}}
{{plugin-outlet name="login-before-modal-body" tagName=""}}
{{plugin-outlet name="login-before-modal-body" connectorTagName="div"}}
{{#d-modal-body class=modalBodyClasses}}
{{#if canLoginLocal}}
@ -90,7 +90,7 @@
{{/if}}
{{/d-modal-body}}
{{plugin-outlet name="login-after-modal-footer" tagName=""}}
{{plugin-outlet name="login-after-modal-footer" connectorTagName="div"}}
<div class={{alertClass}} id="login-alert">{{alert}}</div>
{{/login-modal}}

View File

@ -15,7 +15,7 @@
{{/if}}
{{/if}}
{{plugin-outlet name="category-heading" args=(hash category=category)}}
{{plugin-outlet name="category-heading" tagName="span" connectorTagName="div" args=(hash category=category)}}
</section>
{{#d-section class="navigation-container category-navigation"}}
@ -31,8 +31,7 @@
}}
{{plugin-outlet
name="category-navigation"
name="category-navigation" connectorTagName="div"
args=(hash category=category)
tagName=""
}}
{{/d-section}}

View File

@ -50,7 +50,7 @@
{{/link-to}}
</li>
{{plugin-outlet name="user-preferences-nav-under-interface" args=(hash model=model)}}
{{plugin-outlet name="user-preferences-nav-under-interface" tagName="span" connectorTagName="div" args=(hash model=model)}}
{{#if model.userApiKeys}}
<li class="nav-apps">
@ -59,12 +59,12 @@
{{/link-to}}
</li>
{{/if}}
{{plugin-outlet name="user-preferences-nav" connectorTagName="li" args=(hash model=model)}}
{{plugin-outlet name="user-preferences-nav" tagName="span" connectorTagName="li" args=(hash model=model)}}
{{/mobile-nav}}
{{/d-section}}
<section class="user-content user-preferences">
{{plugin-outlet name="above-user-preferences" args=(hash model=model)}}
{{plugin-outlet name="above-user-preferences" tagName="span" connectorTagName="div" args=(hash model=model)}}
<form class="form-vertical">
{{outlet}}

View File

@ -193,11 +193,11 @@
</div>
{{/if}}
{{plugin-outlet name="user-preferences-account" args=(hash model=model save=(action "save"))}}
{{plugin-outlet name="user-preferences-account" tagName="span" connectorTagName="div" args=(hash model=model save=(action "save"))}}
<br>
{{plugin-outlet name="user-custom-controls" args=(hash model=model)}}
{{plugin-outlet name="user-custom-controls" tagName="span" connectorTagName="div" args=(hash model=model)}}
{{#if canSaveUser}}
{{save-controls model=model action=(action "save") saved=saved}}

View File

@ -25,4 +25,4 @@
</div>
{{/if}}
{{plugin-outlet name="user-preferences-apps" args=(hash model=model)}}
{{plugin-outlet name="user-preferences-apps" tagName="span" connectorTagName="div" args=(hash model=model)}}

View File

@ -63,11 +63,11 @@
{{/if}}
</div>
{{plugin-outlet name="user-preferences-categories" args=(hash model=model save=(action "save"))}}
{{plugin-outlet name="user-preferences-categories" tagName="span" connectorTagName="div" args=(hash model=model save=(action "save"))}}
<br>
{{plugin-outlet name="user-custom-controls" args=(hash model=model)}}
{{plugin-outlet name="user-custom-controls" tagName="span" connectorTagName="div" args=(hash model=model)}}
{{#if canSave}}
{{save-controls model=model action=(action "save") saved=saved}}

View File

@ -47,7 +47,7 @@
</div>
{{preference-checkbox labelKey="user.email_in_reply_to" checked=model.user_option.email_in_reply_to}}
{{plugin-outlet name="user-preferences-emails-pref-email-settings" args=(hash model=model save=(action "save"))}}
{{plugin-outlet name="user-preferences-emails-pref-email-settings" tagName="span" connectorTagName="div" args=(hash model=model save=(action "save"))}}
</div>
{{#unless siteSettings.disable_digest_emails}}
@ -87,10 +87,10 @@
</div>
{{/unless}}
{{plugin-outlet name="user-preferences-emails" args=(hash model=model save=(action "save"))}}
{{plugin-outlet name="user-preferences-emails" tagName="span" connectorTagName="div" args=(hash model=model save=(action "save"))}}
<br>
{{plugin-outlet name="user-custom-controls" args=(hash model=model)}}
{{plugin-outlet name="user-custom-controls" tagName="span" connectorTagName="div" args=(hash model=model)}}
{{save-controls model=model action=(action "save") saved=saved}}

View File

@ -1,4 +1,4 @@
{{plugin-outlet name="user-preferences-interface-top" args=(hash model=model save=(action "save"))}}
{{plugin-outlet name="user-preferences-interface-top" tagName="span" connectorTagName="div" args=(hash model=model save=(action "save"))}}
{{#if showThemeSelector}}
<div class="control-group theme">
@ -156,10 +156,10 @@
{{preference-checkbox labelKey="user.skip_new_user_tips.description" checked=model.user_option.skip_new_user_tips class="pref-new-user-tips"}}
</fieldset>
{{plugin-outlet name="user-preferences-interface" args=(hash model=model save=(action "save"))}}
{{plugin-outlet name="user-preferences-interface" tagName="span" connectorTagName="div" args=(hash model=model save=(action "save"))}}
<br>
{{plugin-outlet name="user-custom-controls" args=(hash model=model)}}
{{plugin-outlet name="user-custom-controls" tagName="span" connectorTagName="div" args=(hash model=model)}}
{{save-controls model=model action=(action "save") saved=saved}}

View File

@ -48,7 +48,7 @@
<label class="control-label">{{i18n "user.desktop_notifications.label"}}</label>
{{desktop-notification-config}}
<div class="instructions">{{i18n "user.desktop_notifications.each_browser_note"}}</div>
{{plugin-outlet name="user-preferences-desktop-notifications" args=(hash model=model save=(action "save"))}}
{{plugin-outlet name="user-preferences-desktop-notifications" tagName="span" connectorTagName="div" args=(hash model=model save=(action "save"))}}
</div>
{{/unless}}
@ -66,10 +66,10 @@
</div>
{{/if}}
{{plugin-outlet name="user-preferences-notifications" args=(hash model=model save=(action "save"))}}
{{plugin-outlet name="user-preferences-notifications" tagName="span" connectorTagName="div" args=(hash model=model save=(action "save"))}}
<br>
{{plugin-outlet name="user-custom-controls" args=(hash model=model)}}
{{plugin-outlet name="user-custom-controls" tagName="span" connectorTagName="div" args=(hash model=model)}}
{{save-controls model=model action=(action "save") saved=saved}}

View File

@ -120,12 +120,12 @@
</div>
{{/if}}
{{plugin-outlet name="user-preferences-profile" args=(hash model=model save=(action "save"))}}
{{plugin-outlet name="user-preferences-profile" tagName="span" connectorTagName="div" args=(hash model=model save=(action "save"))}}
{{plugin-outlet name="user-custom-preferences" args=(hash model=model)}}
{{plugin-outlet name="user-custom-preferences" tagName="span" connectorTagName="div" args=(hash model=model)}}
<br>
{{plugin-outlet name="user-custom-controls" args=(hash model=model)}}
{{plugin-outlet name="user-custom-controls" tagName="span" connectorTagName="div" args=(hash model=model)}}
{{save-controls model=model action=(action "save") saved=saved}}

View File

@ -73,8 +73,8 @@
</div>
{{/if}}
{{plugin-outlet name="user-preferences-security" args=(hash model=model save=(action "save"))}}
{{plugin-outlet name="user-preferences-security" tagName="span" connectorTagName="div" args=(hash model=model save=(action "save"))}}
<br>
{{plugin-outlet name="user-custom-controls" args=(hash model=model)}}
{{plugin-outlet name="user-custom-controls" tagName="span" connectorTagName="div" args=(hash model=model)}}

View File

@ -53,11 +53,11 @@
<div class="instructions">{{i18n "user.muted_tags_instructions"}}</div>
</div>
{{plugin-outlet name="user-preferences-tags" args=(hash model=model save=(action "save"))}}
{{plugin-outlet name="user-preferences-tags" tagName="span" connectorTagName="div" args=(hash model=model save=(action "save"))}}
<br>
{{plugin-outlet name="user-custom-controls" args=(hash model=model)}}
{{plugin-outlet name="user-custom-controls" tagName="span" connectorTagName="div" args=(hash model=model)}}
{{save-controls model=model action=(action "save") saved=saved}}
{{/if}}

View File

@ -48,6 +48,6 @@
</div>
{{/if}}
{{plugin-outlet name="user-custom-controls" args=(hash model=model)}}
{{plugin-outlet name="user-custom-controls" tagName="span" connectorTagName="div" args=(hash model=model)}}
{{#save-controls model=model action=(action "save") saved=saved}}{{/save-controls}}

View File

@ -28,7 +28,7 @@
{{#if filtersExpanded}}
{{plugin-outlet name="above-review-filters" args=(hash model=model additionalFilters=additionalFilters)}}
{{plugin-outlet name="above-review-filters" tagName="span" connectorTagName="div" args=(hash model=model additionalFilters=additionalFilters)}}
<div class="reviewable-filter">
<label class="filter-label">{{i18n "review.filters.type.title"}}</label>

View File

@ -2,11 +2,11 @@
{{#watch-read action=(action "markFaqRead") path=model.path}}
<div class="contents clearfix body-page">
{{plugin-outlet name="above-static"}}
{{plugin-outlet name="above-static" tagName="span" connectorTagName="div"}}
{{html-safe model.html}}
{{plugin-outlet name="below-static" tagName=""}}
{{plugin-outlet name="below-static" connectorTagName="div"}}
{{#if anyButtons}}
<div class="body-page-button-container">

View File

@ -11,7 +11,7 @@
</div>
</div>
{{plugin-outlet name="tags-below-title" tagName="div" args=(hash model=model)}}
{{plugin-outlet name="tags-below-title" connectorTagName="div" tagName="div" args=(hash model=model)}}
<div class="tag-sort-options">
{{i18n "tagging.sort_by"}}

View File

@ -3,10 +3,10 @@
{{discourse-banner user=currentUser banner=site.banner}}
</div>
{{plugin-outlet name="discovery-list-controls-above"}}
{{plugin-outlet name="discovery-list-controls-above" tagName="span" connectorTagName="div"}}
<div class="list-controls">
{{plugin-outlet name="discovery-navigation-bar-above" tagName=""}}
{{plugin-outlet name="discovery-navigation-bar-above" connectorTagName="div"}}
<div class="container">
<section class="navigation-container tag-navigation">
{{d-navigation
@ -27,8 +27,8 @@
{{plugin-outlet
name="tag-navigation"
connectorTagName="div"
args=(hash category=category tag=tag)
tagName=""
}}
</section>
</div>
@ -38,12 +38,12 @@
{{tag-info tag=tag list=list deleteAction=(action "deleteTag")}}
{{/if}}
{{plugin-outlet name="discovery-list-container-top" args=(hash category=category)}}
{{plugin-outlet name="discovery-list-container-top" tagName="span" connectorTagName="div" args=(hash category=category)}}
{{topic-dismiss-buttons position="top" selectedTopics=selected
model=model showResetNew=showResetNew showDismissRead=showDismissRead resetNew=(action "resetNew")}}
{{plugin-outlet name="discovery-above"}}
{{plugin-outlet name="discovery-above" tagName="span" connectorTagName="div"}}
<div class="container list-container">
<div class="row">
@ -100,5 +100,5 @@
</div>
</div>
{{plugin-outlet name="discovery-below"}}
{{plugin-outlet name="discovery-below" tagName="span" connectorTagName="div"}}
{{/d-section}}

View File

@ -11,7 +11,7 @@
{{shared-draft-controls topic=model}}
{{/if}}
{{plugin-outlet name="topic-above-post-stream" args=(hash model=model editFirstPost=(action "editFirstPost"))}}
{{plugin-outlet name="topic-above-post-stream" tagName="span" connectorTagName="div" args=(hash model=model editFirstPost=(action "editFirstPost"))}}
{{#if model.postStream.loaded}}
{{#if model.postStream.firstPostPresent}}
@ -42,7 +42,7 @@
}}
{{/if}}
{{plugin-outlet name="edit-topic" args=(hash model=model buffered=buffered)}}
{{plugin-outlet name="edit-topic" tagName="span" connectorTagName="div" args=(hash model=model buffered=buffered)}}
<div class="edit-controls">
{{d-button action=(action "finishedEditingTopic") class="btn-primary submit-edit" icon="check" ariaLabel="composer.save_edit"}}
@ -130,10 +130,10 @@
}}
</div>
{{plugin-outlet name="above-timeline" tagName=""}}
{{plugin-outlet name="above-timeline" connectorTagName="div"}}
{{#topic-navigation class="topic-navigation" topic=model jumpToDate=(action "jumpToDate") jumpToIndex=(action "jumpToIndex") as |info|}}
{{plugin-outlet name="topic-navigation" tagName="" args=(hash topic=model)}}
{{plugin-outlet name="topic-navigation" connectorTagName="div" args=(hash topic=model)}}
{{#if info.renderTimeline}}
{{topic-timeline
@ -170,7 +170,7 @@
topic=model
expanded=info.topicProgressExpanded
jumpToPost=(action "jumpToPost")}}
{{plugin-outlet name="before-topic-progress" args=(hash model=model jumpToPost=(action "jumpToPost"))}}
{{plugin-outlet name="before-topic-progress" tagName="span" connectorTagName="div" args=(hash model=model jumpToPost=(action "jumpToPost"))}}
{{topic-admin-menu-button
topic=model
openUpwards="true"
@ -198,7 +198,7 @@
<div class="posts-wrapper">
{{conditional-loading-spinner condition=model.postStream.loadingAbove}}
{{plugin-outlet name="topic-above-posts" args=(hash model=model)}}
{{plugin-outlet name="topic-above-posts" tagName="span" connectorTagName="div" args=(hash model=model)}}
{{#unless model.postStream.loadingFilter}}
{{scrolling-post-stream
@ -344,7 +344,7 @@
{{signup-cta}}
{{else}}
{{#if currentUser}}
{{plugin-outlet name="topic-above-footer-buttons" args=(hash model=model)}}
{{plugin-outlet name="topic-above-footer-buttons" tagName="span" connectorTagName="div" args=(hash model=model)}}
{{topic-footer-buttons
topic=model
@ -374,7 +374,7 @@
{{/if}}
{{/if}}
{{plugin-outlet name="topic-above-suggested" args=(hash model=model)}}
{{plugin-outlet name="topic-above-suggested" tagName="span" connectorTagName="div" args=(hash model=model)}}
<div class="{{if model.relatedMessages.length "related-messages-wrapper"}} {{if model.suggestedTopics.length "suggested-topics-wrapper"}}">
{{#if model.relatedMessages.length}}
{{related-messages topic=model}}

View File

@ -1,4 +1,4 @@
{{plugin-outlet name="above-user-profile" tagName="" args=(hash model=model)}}
{{plugin-outlet name="above-user-profile" connectorTagName="div" args=(hash model=model)}}
<div class="container {{if viewingSelf "viewing-self"}} {{if model.profile_hidden "profile-hidden"}} {{primaryGroup}}">
{{#d-section class="user-main"}}
<section class="{{if collapsedInfo "collapsed-info"}} about {{if hasProfileBackgroundUrl "has-background" "no-background"}}" >
@ -74,7 +74,6 @@
<li><a href={{model.adminPath}} class="btn btn-default">{{d-icon "wrench"}}<span class="d-button-label">{{i18n "admin.user.show_admin_profile"}}</span></a></li>
{{/if}}
{{plugin-outlet name="user-profile-controls"
tagName=""
connectorTagName="li"
args=(hash model=model)}}
@ -104,7 +103,7 @@
{{#if model.title}}
<h3>{{model.title}}</h3>
{{/if}}
{{plugin-outlet name="user-post-names" args=(hash model=model)}}
{{plugin-outlet name="user-post-names" tagName="span" connectorTagName="div" args=(hash model=model)}}
</div>
{{#if showFeaturedTopic}}
@ -127,7 +126,7 @@
{{/if}}
</div>
{{/if}}
{{plugin-outlet name="user-location-and-website" args=(hash model=model)}}
{{plugin-outlet name="user-location-and-website" tagName="span" connectorTagName="div" args=(hash model=model)}}
</h3>
<div class='bio'>
@ -171,13 +170,13 @@
{{/if}}
{{/each}}
{{plugin-outlet name="user-profile-public-fields"
{{plugin-outlet name="user-profile-public-fields" tagName="span" connectorTagName="div"
args=(hash publicUserFields=publicUserFields
model=model)}}
</div>
{{/if}}
{{plugin-outlet name="user-profile-primary" args=(hash model=model)}}
{{plugin-outlet name="user-profile-primary" tagName="span" connectorTagName="div" args=(hash model=model)}}
</div>
</div>
{{#unless collapsedInfo}}
@ -230,7 +229,7 @@
<div class='pull-right'>{{d-button action=(action "adminDelete") icon="exclamation-triangle" label="user.admin_delete" class="btn-danger"}}</div>
{{/if}}
</dl>
{{plugin-outlet name="user-profile-secondary" args=(hash model=model)}}
{{plugin-outlet name="user-profile-secondary" tagName="span" connectorTagName="div" args=(hash model=model)}}
</div>
{{/unless}}
</div>
@ -258,7 +257,7 @@
{{#if showBadges}}
<li class="badges">{{#link-to 'user.badges'}}{{d-icon "certificate"}}{{i18n 'badges.title'}}{{/link-to}}</li>
{{/if}}
{{plugin-outlet name="user-main-nav" tagName='' connectorTagName='li' args=(hash model=model)}}
{{plugin-outlet name="user-main-nav" tagName="span" connectorTagName="div" tagName='' connectorTagName='li' args=(hash model=model)}}
{{#if model.can_edit}}
<li class="preferences">{{#link-to 'preferences'}}{{d-icon "cog"}}{{i18n 'user.preferences'}}{{/link-to}}</li>
{{/if}}

View File

@ -30,7 +30,7 @@
{{/if}}
{{plugin-outlet
name="user-activity-bottom"
name="user-activity-bottom" tagName="span"
connectorTagName="li"
args=(hash model=model)
}}

View File

@ -83,7 +83,7 @@
</li>
{{/if}}
{{plugin-outlet name="user-messages-nav" connectorTagName="li" args=(hash model=model)}}
{{plugin-outlet name="user-messages-nav" tagName="span" connectorTagName="li" args=(hash model=model)}}
{{/mobile-nav}}
{{/d-section}}

View File

@ -28,7 +28,7 @@
{{/link-to}}
</li>
{{plugin-outlet
name="user-notifications-bottom"
name="user-notifications-bottom" tagName="span"
connectorTagName="li"
args=(hash model=model)}}
{{/mobile-nav}}

View File

@ -46,7 +46,7 @@
<li>
{{user-stat value=model.likes_received icon="heart" label="user.summary.likes_received"}}
</li>
{{plugin-outlet name="user-summary-stat" tagName="" connectorTagName="li" args=(hash model=model)}}
{{plugin-outlet name="user-summary-stat" connectorTagName="li" args=(hash model=model)}}
</ul>
</div>
{{/if}}

View File

@ -2,7 +2,7 @@
{{#load-more selector=".directory tbody tr" action=(action "loadMore")}}
<div class="container">
<div class="users-directory directory">
{{plugin-outlet name="users-top" connectorTagName="div" args=(hash model=model)}}
{{plugin-outlet name="users-top" tagName="span" connectorTagName="div" args=(hash model=model)}}
<div class="directory-controls">
<div class="period-controls">
{{period-chooser period=period onChange=(action (mut period)) fullDay=false}}
@ -43,7 +43,7 @@
class="btn-default open-edit-columns-btn"
}}
{{/if}}
{{plugin-outlet name="users-directory-controls" connectorTagName="" tagName="" args=(hash model=model)}}
{{plugin-outlet name="users-directory-controls" args=(hash model=model)}}
</div>
</div>