[deploy] Split out social media options (Important: post deployment task to be run) (#7173)
* feat: define the different social media handles * feat: dynamically render all the social media fields * feat: ensure that the social media handles are permitter and dealt in a separate path from the rest * test: update social_networks_handle to social_media_handles * feat: update the sidebar to use different social media * feat: update the twitter:site meta handle to be SiteConfig.social_media_handles["twitter"] * feat: update the a links to tweets * feat: make the links dynamic and only show those that there is a value for * refactor: make @ThePracticalDev dynamic * refactor: make @ThePracticalDev dynamic * feat: add dynamic social media handles * chore: rename values * chore: remove extra social handles * chore: some spacing * chore: remove lines * rafector: user rails-settings-cached type: :hash to set the type and the defaults * feat: use nil and blank instead of "" and empty * chore: move the social media handles into the right box * refactor: rearrange model placement based on the UI * chore: code climate * refactor: comments from PR * chore: rename the ff * chore: amended twitter username * chore: add a temporary rake task * feat: update names * chore: why am i using the old syntax :( * chore: revert dynamic erb variable in offline.html
This commit is contained in:
parent
39aca8993c
commit
e626cfa933
37 changed files with 93 additions and 78 deletions
|
|
@ -10,7 +10,11 @@ class Internal::ConfigsController < Internal::ApplicationController
|
|||
def create
|
||||
clean_up_params
|
||||
config_params.keys.each do |key|
|
||||
SiteConfig.public_send("#{key}=", config_params[key].strip) unless config_params[key].nil?
|
||||
if config_params[key].respond_to?(:to_h)
|
||||
SiteConfig.public_send("#{key}=", config_params[key].to_h) unless config_params[key].empty?
|
||||
else
|
||||
SiteConfig.public_send("#{key}=", config_params[key].strip) unless config_params[key].nil?
|
||||
end
|
||||
end
|
||||
bust_relevant_caches
|
||||
redirect_to internal_config_path, notice: "Site configuration was successfully updated."
|
||||
|
|
@ -20,7 +24,7 @@ class Internal::ConfigsController < Internal::ApplicationController
|
|||
|
||||
def config_params
|
||||
allowed_params = %i[
|
||||
default_site_email social_networks_handle mascot_user_id
|
||||
default_site_email mascot_user_id
|
||||
campaign_hero_html_variant_name campaign_sidebar_enabled campaign_featured_tags
|
||||
campaign_sidebar_image
|
||||
main_social_image favicon_url logo_svg logo_png primary_sticker_image_url
|
||||
|
|
@ -34,7 +38,7 @@ class Internal::ConfigsController < Internal::ApplicationController
|
|||
rate_limit_comment_creation rate_limit_published_article_creation
|
||||
rate_limit_image_upload rate_limit_email_recipient sidebar_tags
|
||||
]
|
||||
params.require(:site_config).permit(allowed_params)
|
||||
params.require(:site_config).permit(allowed_params, social_media_handles: SiteConfig.social_media_handles.keys)
|
||||
end
|
||||
|
||||
def extra_authorization_and_confirmation
|
||||
|
|
|
|||
|
|
@ -11,18 +11,22 @@ class SiteConfig < RailsSettings::Base
|
|||
# the cache, or call SiteConfig.clear_cache
|
||||
cache_prefix { "v1" }
|
||||
|
||||
# site content
|
||||
# Community Content
|
||||
field :community_description, type: :string, default: "A constructive and inclusive social network. Open source and radically transparent."
|
||||
field :community_member_description, type: :string, default: "amazing humans who code."
|
||||
field :tagline, type: :string, default: "We're a place where coders share, stay up-to-date and grow their careers."
|
||||
field :mascot_user_id, type: :integer, default: 1
|
||||
|
||||
# staff account
|
||||
# Social Media and Email
|
||||
field :staff_user_id, type: :integer, default: 1
|
||||
field :default_site_email, type: :string, default: "yo@dev.to"
|
||||
field :social_networks_handle, type: :string, default: "thepracticaldev"
|
||||
|
||||
# mascot account
|
||||
field :mascot_user_id, type: :integer, default: 1
|
||||
field :social_media_handles, type: :hash, default: {
|
||||
twitter: nil,
|
||||
facebook: nil,
|
||||
github: nil,
|
||||
instagram: nil,
|
||||
twitch: nil
|
||||
}
|
||||
|
||||
# Authentication
|
||||
field :authentication_providers, type: :array, default: %w[twitter github]
|
||||
|
|
@ -30,13 +34,13 @@ class SiteConfig < RailsSettings::Base
|
|||
# Broadcast
|
||||
field :welcome_notifications_live_at, type: :date
|
||||
|
||||
# campaign
|
||||
# Campaign
|
||||
field :campaign_hero_html_variant_name, type: :string, default: ""
|
||||
field :campaign_featured_tags, type: :array, default: %w[]
|
||||
field :campaign_sidebar_enabled, type: :boolean, default: 0
|
||||
field :campaign_sidebar_image, type: :string, default: nil
|
||||
|
||||
# images
|
||||
# Images
|
||||
field :main_social_image, type: :string, default: "https://thepracticaldev.s3.amazonaws.com/i/6hqmcjaxbgbon8ydw93z.png"
|
||||
field :favicon_url, type: :string, default: "favicon.ico"
|
||||
field :logo_png, type: :string, default: "https://practicaldev-herokuapp-com.freetls.fastly.net/assets/devlogo-pwa-512.png"
|
||||
|
|
@ -45,7 +49,7 @@ class SiteConfig < RailsSettings::Base
|
|||
field :mascot_image_url, type: :string, default: "https://practicaldev-herokuapp-com.freetls.fastly.net/assets/sloan.png"
|
||||
field :mascot_image_description, type: :string, default: "Sloan, the sloth mascot"
|
||||
|
||||
# rate limits
|
||||
# Rate Limits
|
||||
field :rate_limit_follow_count_daily, type: :integer, default: 500
|
||||
field :rate_limit_comment_creation, type: :integer, default: 9
|
||||
field :rate_limit_published_article_creation, type: :integer, default: 9
|
||||
|
|
|
|||
|
|
@ -29,22 +29,15 @@
|
|||
<h4>Key links</h4>
|
||||
</header>
|
||||
<div class="widget-body social-icons">
|
||||
<a href="https://twitter.com/<%= SiteConfig.social_networks_handle %>" target="_blank" rel="noopener">
|
||||
<%= inline_svg_tag("twitter.svg", aria: true, title: "Twitter", class: "crayons-icon") %>
|
||||
</a>
|
||||
<a href="https://github.com/<%= SiteConfig.social_networks_handle %>" target="_blank" rel="noopener">
|
||||
<%= inline_svg_tag("github.svg", aria: true, title: "Github", class: "crayons-icon") %>
|
||||
</a>
|
||||
<a href="https://instagram.com/<%= SiteConfig.social_networks_handle %>" target="_blank" rel="noopener">
|
||||
<%= inline_svg_tag("instagram.svg", aria: true, title: "Instagram", class: "crayons-icon") %>
|
||||
</a>
|
||||
<a href="https://facebook.com/<%= SiteConfig.social_networks_handle %>" target="_blank" rel="noopener">
|
||||
<%= inline_svg_tag("facebook.svg", aria: true, title: "Facebook", class: "crayons-icon") %>
|
||||
</a>
|
||||
<a href="https://twitch.tv/<%= SiteConfig.social_networks_handle %>" target="_blank" rel="noopener">
|
||||
<%= inline_svg_tag("twitch.svg", aria: true, title: "Twitch", class: "crayons-icon") %>
|
||||
</a>
|
||||
<% SiteConfig.social_media_handles.keys.each do |social_media_type| %>
|
||||
<% if SiteConfig.social_media_handles[social_media_type].present? %>
|
||||
<a href="<%= "https://#{social_media_type}.com/#{SiteConfig.social_media_handles[social_media_type]}" %>" target="_blank" rel="noopener">
|
||||
<%= inline_svg_tag("#{social_media_type}.svg", aria: true, title: "#{social_media_type.capitalize}", class: "crayons-icon") %>
|
||||
</a>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<div class="side-footer">
|
||||
<a href="/about">About</a>
|
||||
<a href="/sponsors">Sponsors</a>
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
<meta property="og:description" content="<%= SiteConfig.community_description %>" />
|
||||
<meta property="og:site_name" content="<%= community_qualified_name %>" />
|
||||
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_networks_handle %>">
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_media_handles["twitter"] %>">
|
||||
<meta name="twitter:title" content="<%= title_with_timeframe(page_title: community_qualified_name, timeframe: params[:timeframe]) %>">
|
||||
<meta name="twitter:description" content="<%= SiteConfig.community_description %>">
|
||||
<meta name="twitter:image:src" content="<%= SiteConfig.main_social_image %>">
|
||||
|
|
|
|||
|
|
@ -11,12 +11,12 @@
|
|||
<h3 class="manage-page-success"><%= flash[:pins_success] %></h3>
|
||||
<% end %>
|
||||
<h2>Tools:</h2>
|
||||
<p><strong>Suggest a Tweet:</strong> Help get your post in front of more developers by suggesting a tweet that <a href="https://twitter.com/<%= SiteConfig.social_networks_handle %>">@<%= SiteConfig.social_networks_handle %></a> editors can use.
|
||||
<p><strong>Suggest a Tweet:</strong> Help get your post in front of more developers by suggesting a tweet that <a href="https://twitter.com/<%= SiteConfig.social_media_handles["twitter"] %>">@<%= SiteConfig.social_media_handles["twitter"] %></a> editors can use.
|
||||
<p><strong>Experience Level of Post:</strong> The best target dev experience level— a <em>gentle</em> indicator to help show the post to the people who will benefit the most.
|
||||
<h2>Tips:</h2>
|
||||
<ol>
|
||||
<li>
|
||||
Make your own tweet about the post, describing personally why you wrote it or why people might find it useful. <a href="https://twitter.com/<%= SiteConfig.social_networks_handle %>">@<%= SiteConfig.social_networks_handle %></a> may retweet you.
|
||||
Make your own tweet about the post, describing personally why you wrote it or why people might find it useful. <a href="https://twitter.com/<%= SiteConfig.social_media_handles["twitter"] %>">@<%= SiteConfig.social_media_handles["twitter"] %></a> may retweet you.
|
||||
</li>
|
||||
<li>
|
||||
Share to link aggregators such as <a href="https://www.reddit.com/">Reddit</a>. Try to choose the most topic-specific subreddits, such as <a href="https://www.reddit.com/r/javascript">/r/javascript</a> instead of <a href="https://www.reddit.com/r/programming">/r/programming</a>. <em>Warning: jerks and trolls may be lurking.</em>
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
<meta property="og:description" content="<%= SiteConfig.community_description %>">
|
||||
<meta property="og:site_name" content="<%= community_qualified_name %>" />
|
||||
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_networks_handle %>">
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_media_handles["twitter"] %>">
|
||||
<meta name="twitter:title" content="DEV => Search Results">
|
||||
<meta name="twitter:description" content="<%= SiteConfig.community_description %>">
|
||||
<meta name="twitter:image:src" content="<%= SiteConfig.main_social_image %>">
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@
|
|||
<meta property="og:title" content="<%= @article.title %>" />
|
||||
<meta property="og:description" content="<%= @article.description || "An article from the community" %>" />
|
||||
<meta property="og:site_name" content="<%= community_qualified_name %>" />
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_networks_handle %>">
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_media_handles["twitter"] %>">
|
||||
<meta name="twitter:creator" content="@<%= @user.twitter_username %>">
|
||||
<meta name="twitter:title" content="<%= @article.title %>">
|
||||
<meta name="twitter:description" content="<%= @article.description || "An article from the community" %>">
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
<meta property="og:description" content="<%= @tag.capitalize %> content on <%= community_name %>" />
|
||||
<meta property="og:site_name" content="<%= community_qualified_name %>" />
|
||||
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_networks_handle %>">
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_media_handles["twitter"] %>">
|
||||
<meta name="twitter:creator" content="@<%= @tag.capitalize %>">
|
||||
<meta name="twitter:title" content="<%= title_with_timeframe(page_title: @tag.capitalize, timeframe: params[:timeframe]) %>">
|
||||
<meta name="twitter:description" content="<%= @tag.capitalize %> content on <%= community_name %>">
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
<meta name="twitter:description" content="<%= SiteConfig.community_description %>">
|
||||
<meta name="twitter:image:src" content="https://thepracticaldev.s3.amazonaws.com/i/sa3xjflbtvt9zw0xpan5.png">
|
||||
<% end %>
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_networks_handle %>">
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_media_handles["twitter"] %>">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<% end %>
|
||||
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
<meta property="og:title" content="Discussion of <%= @commentable.title %>" />
|
||||
<meta property="og:description" content="<%= @commentable.description || "#{community_name} Comment" %>" />
|
||||
<meta property="og:site_name" content="<%= community_qualified_name %>" />
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_networks_handle %>">
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_media_handles["twitter"] %>">
|
||||
<meta name="twitter:creator" content="@<%= @user.twitter_username %>">
|
||||
<meta name="twitter:title" content="<%= @commentable.title %>">
|
||||
<meta name="twitter:description" content="<%= @commentable.description || "#{community_name} Comment" %>">
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
<meta property="og:description" content="Talks and workshops designed to help community members level up." />
|
||||
<meta property="og:site_name" content="<%= community_qualified_name %>" />
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_networks_handle %>">
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_media_handles["twitter"] %>">
|
||||
<meta name="twitter:title" content="<%= community_name %> Events">
|
||||
<meta name="twitter:image:src" content="https://thepracticaldev.s3.amazonaws.com/i/bhavxzyx2e7bdsyvysve.jpg">
|
||||
<% end %>
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
<meta property="og:site_name" content="<%= community_qualified_name %>" />
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_networks_handle %>">
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_media_handles["twitter"] %>">
|
||||
<meta name="twitter:title" content="<%= truncate(strip_tags(@event.title), length: 70) %>">
|
||||
<meta property="og:description" content="<%= truncate(strip_tags(@event.description_html), length: 140) %>" />
|
||||
<% if @event.cover_image.present? %>
|
||||
|
|
|
|||
|
|
@ -209,7 +209,7 @@
|
|||
end %>
|
||||
</textarea>
|
||||
</div>
|
||||
<button class="btn btn-primary mb-2">🦅 Tweet to @<%= SiteConfig.social_networks_handle %></button>
|
||||
<button class="btn btn-primary mb-2">🦅 Tweet to @<%= SiteConfig.social_media_handles["twitter"] %></button>
|
||||
<% end %>
|
||||
|
||||
<% if (article.decorate.cached_tag_list_array & Tag.bufferized_tags).any? %>
|
||||
|
|
|
|||
|
|
@ -88,14 +88,19 @@
|
|||
placeholder: "email@staff.com" %>
|
||||
<div class="alert alert-info">Email of the staff account</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<%= f.label :social_networks_handle %>
|
||||
<%= f.text_field :social_networks_handle,
|
||||
class: "form-control",
|
||||
value: SiteConfig.social_networks_handle,
|
||||
placeholder: "thepracticaldev" %>
|
||||
<div class="alert alert-info">Social networks handle (eg. Twitter, GitHub)</div>
|
||||
<%= f.fields_for :social_media_handles do |social_media_field| %>
|
||||
<% SiteConfig.social_media_handles.keys.each do |social_media_platform| %>
|
||||
<div>
|
||||
<%= social_media_field.label social_media_platform %>
|
||||
<%= social_media_field.text_field social_media_platform,
|
||||
class: "form-control",
|
||||
value: SiteConfig.social_media_handles[social_media_platform],
|
||||
placeholder: "" %>
|
||||
<div class="alert alert-info"><%= social_media_platform.capitalize() %> Username</div>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -158,7 +158,7 @@
|
|||
<% if @moderatable.last_buffered.blank? %>
|
||||
<div class="tag-mod-form">
|
||||
<%= form_for(BufferUpdate.new) do |f| %>
|
||||
<h2>Suggest a Tweet for @<%= SiteConfig.social_networks_handle %></h2>
|
||||
<h2>Suggest a Tweet for @<%= SiteConfig.social_media_handles["twitter"] %></h2>
|
||||
<%= f.hidden_field :article_id, value: @moderatable.id %>
|
||||
<%= f.text_area :body_text, maxlength: 220, placeholder: "Can be a TLDR of the post, an interesting quote from the post, or bullet points from topics covered in the post, etc." %>
|
||||
<%= f.submit "Share Tweet Suggestion" %>
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
<meta property="og:site_name" content="<%= community_qualified_name %>" />
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_networks_handle %>">
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_media_handles["twitter"] %>">
|
||||
<meta name="twitter:title" content="Notifications - dev.to">
|
||||
<meta name="twitter:description" content="Notifications inbox for dev.to">
|
||||
<% end %>
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
<meta property="og:site_name" content="<%= community_name %>" />
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_networks_handle %>">
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_media_handles["twitter"] %>">
|
||||
<meta name="twitter:title" content="About <%= community_name %>">
|
||||
<meta name="twitter:description" content="<%= community_name %> is great!">
|
||||
<meta name="twitter:image:src" content="<%= SiteConfig.main_social_image %>">
|
||||
|
|
@ -92,7 +92,7 @@
|
|||
|
||||
<p>
|
||||
The platform was created in 2016. The Twitter account,
|
||||
<a href="https://twitter.com/thepracticaldev">@ThePracticalDev</a> was around before then. We are based out of New York City.
|
||||
<a href="https://twitter.com/<%= SiteConfig.social_media_handles["twitter"] %>">@<%= SiteConfig.social_media_handles["twitter"] %></a> was around before then. We are based out of New York City.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
<meta property="og:site_name" content="<%= community_qualified_name %>" />
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_networks_handle %>">
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_media_handles["twitter"] %>">
|
||||
<meta name="twitter:title" content="Add the DEV Badge to your personal site">
|
||||
<meta name="twitter:description" content="Show visitors that you are an active member of our wonderful community. Put the badge on your personal website or use it as you see fit.">
|
||||
<meta name="twitter:image:src" content="https://thepracticaldev.s3.amazonaws.com/i/kjn1gduswyrrisc1basc.png">
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
<meta property="og:title" content="About The Practical Dev Bounty System" />
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_networks_handle %>">
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_media_handles["twitter"] %>">
|
||||
<meta name="twitter:title" content="The Practical Dev Bounty System">
|
||||
<% end %>
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
<%# <meta property="og:description" content="<%= community_qualified_name %> is great!" /> %>
|
||||
<meta property="og:site_name" content="<%= community_qualified_name %>" />
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_networks_handle %>">
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_media_handles["twitter"] %>">
|
||||
<meta name="twitter:title" content="The Practical Dev Code of Conduct">
|
||||
<%# <meta name="twitter:description" content="<%= community_qualified_name %> is great!"> %>
|
||||
<%# <meta name="twitter:image:src" content="<%= SiteConfig.main_social_image %>"> %>
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
<meta property="og:site_name" content="<%= community_qualified_name %>" />
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_networks_handle %>">
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_media_handles["twitter"] %>">
|
||||
<meta name="twitter:title" content="Contact The Practical Dev">
|
||||
<meta name="twitter:description" content="<%= community_qualified_name %> is great!">
|
||||
<meta name="twitter:image:src" content="<%= SiteConfig.main_social_image %>">
|
||||
|
|
@ -33,7 +33,7 @@
|
|||
Email: <a href="mailto:<%= SiteConfig.default_site_email %>"><%= SiteConfig.default_site_email %></a> 😁
|
||||
</p>
|
||||
<p>
|
||||
Twitter: <a href="http://twitter.com/<%= SiteConfig.social_networks_handle %>">@<%= SiteConfig.social_networks_handle %></a> 👻
|
||||
Twitter: <a href="http://twitter.com/<%= SiteConfig.social_media_handles["twitter"] %>">@<%= SiteConfig.social_media_handles["twitter"] %></a> 👻
|
||||
</p>
|
||||
<p>
|
||||
Report a vulnerability: <a href="https://dev.to/security">dev.to/security</a> 🐛
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
<meta property="og:site_name" content="<%= community_qualified_name %>" />
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:site" content="@ThePracticalDev">
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_media_handles["twitter"] %>">
|
||||
<meta name="twitter:title" content="FAQ for dev.to()">
|
||||
<meta name="twitter:description" content="Things to know!">
|
||||
<meta name="twitter:image:src" content="<%= SiteConfig.main_social_image %>">
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
<meta property="og:site_name" content="<%= community_qualified_name %>" />
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:site" content="@ThePracticalDev">
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_media_handles["twitter"] %>">
|
||||
<meta name="twitter:title" content="O RLY Parody Book Generator for Slack">
|
||||
<meta name="twitter:description" content="Insult your co-workers with snarky O RLY parody book covers. All without leaving Slack!">
|
||||
<meta name="twitter:image:src" content="https://i.imgur.com/OIT6xoq.png">
|
||||
|
|
@ -38,7 +38,7 @@
|
|||
</div>
|
||||
<div class="thanks">
|
||||
<h3>But don't thank
|
||||
<a target="_blank" rel="noopener" href="https://twitter.com/ThePracticalDev">@ThePracticalDev</a> for this one</h3>
|
||||
<a target="_blank" rel="noopener" href="https://twitter.com/<%= SiteConfig.social_media_handles["twitter"] %>">@<%= SiteConfig.social_media_handles["twitter"] %></a> for this one</h3>
|
||||
<h4>This tool was created with love by Charles Berlin (<a target="_blank" rel="noopener" href="https://twitter.com/AModelEngineer">@AModelEngineer</a>)
|
||||
</h4>
|
||||
</div>
|
||||
|
|
@ -113,7 +113,7 @@
|
|||
</div>
|
||||
<div class="thanks feedback">
|
||||
<h3>If you have any feedback, you can direct message
|
||||
<a target="_blank" rel="noopener" href="https://twitter.com/ThePracticalDev">@ThePracticalDev</a> any time!</h3>
|
||||
<a target="_blank" rel="noopener" href="https://twitter.com/<%= SiteConfig.social_media_handles["twitter"] %>" >@<%= SiteConfig.social_media_handles["twitter"] %></a> any time!</h3>
|
||||
<a class="second-slack" href="https://slack.com/oauth/authorize?scope=commands+bot+chat:write:bot+groups:write&client_id=3128000905.33373336070"><img alt="Add to Slack" height="40" width="139" src="https://platform.slack-edge.com/img/add_to_slack.png" srcset="https://platform.slack-edge.com/img/add_to_slack.png 1x, https://platform.slack-edge.com/img/add_to_slack@2x.png 2x"></a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
<meta property="og:site_name" content="<%= community_qualified_name %>" />
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:site" content="@ThePracticalDev">
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_media_handles["twitter"] %>">
|
||||
<meta name="twitter:title" content="All information about <%= community_qualified_name %>">
|
||||
<meta name="twitter:description" content="<%= community_qualified_name %> is great!">
|
||||
<meta name="twitter:image:src" content="<%= SiteConfig.main_social_image %>">
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
<meta property="og:site_name" content="<%= community_qualified_name %>" />
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:site" content="@ThePracticalDev">
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_media_handles["twitter"] %>">
|
||||
<meta name="twitter:title" content="Privacy Policy for <%= community_name %>">
|
||||
<meta name="twitter:description" content="<%= community_qualified_name %> is great!">
|
||||
<meta name="twitter:image:src" content="<%= SiteConfig.main_social_image %>">
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@
|
|||
<meta property="og:title" content="Report Abuse" />
|
||||
<meta property="og:site_name" content="<%= community_qualified_name %>" />
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:site" content="@ThePracticalDev">
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_media_handles["twitter"] %>">
|
||||
<meta name="twitter:title" content="Report Abuse">
|
||||
<% end %>
|
||||
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@
|
|||
<meta property="og:site_name" content="<%= community_qualified_name %>" />
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:site" content="@ThePracticalDev">
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_media_handles["twitter"] %>">
|
||||
<meta name="twitter:title" content="O RLY Parody Book Cover Generator">
|
||||
<meta name="twitter:description" content="Insult your co-workers with snarky O RLY parody book covers!">
|
||||
<meta name="twitter:image:src" content="http://i.imgur.com/pAORVha.png">
|
||||
|
|
@ -56,7 +56,7 @@
|
|||
</div>
|
||||
<h4>Insult your co-workers with snarky O RLY parody book covers!</h4>
|
||||
<h4 class="ps">PS. There are a few known edge cases that do not generate. Some characters and long words won't work, etc. If you want to report an issue, feel free DM
|
||||
<a href="http://twitter.com/thepracticaldev">@ThePracticalDev</a> on Twitter.</h4>
|
||||
<a href="http://twitter.com/thepracticaldev">@<%= SiteConfig.social_media_handles["twitter"] %></a> on Twitter.</h4>
|
||||
<hr />
|
||||
<div class="usage">
|
||||
<h3>Animal Codes</h3>
|
||||
|
|
@ -124,7 +124,7 @@
|
|||
<div class="color" style="background-color:rgba(133,152,0,255)">16</div>
|
||||
</div>
|
||||
<div class="thanks">
|
||||
<h3>But don't thank <a target="_blank" href="http://twitter.com/ThePracticalDev">@ThePracticalDev</a> for this one
|
||||
<h3>But don't thank <a target="_blank" href="http://twitter.com/<%= SiteConfig.social_media_handles["twitter"]%>">@<%= SiteConfig.social_media_handles["twitter"] %></a> for this one
|
||||
</h3>
|
||||
<h4>This tool was created with love by Charles Berlin (<a target="_blank" href="http://twitter.com/AModelEngineer">@AModelEngineer</a>)
|
||||
</h4>
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
<meta property="og:site_name" content="<%= community_qualified_name %>" />
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:site" content="@ThePracticalDev">
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_media_handles["twitter"] %>">
|
||||
<meta name="twitter:title" content="<%= @page.title %> — <%= community_qualified_name %>">
|
||||
<meta name="twitter:description" content="<%= @page.description %>">
|
||||
<meta name="twitter:image:src" content="<%= @page.social_image_url || "https://thepracticaldev.s3.amazonaws.com/i/g355ol6qsrg0j2mhngz9.png" %>">
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
<meta property="og:site_name" content="<%= community_qualified_name %>" />
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:site" content="@ThePracticalDev">
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_media_handles["twitter"] %>">
|
||||
<meta name="twitter:title" content="Terms of Use for The DEV Community">
|
||||
<meta name="twitter:description" content="The DEV Community is great!">
|
||||
<meta name="twitter:image:src" content="<%= SiteConfig.main_social_image %>">
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
<meta property="og:site_name" content="<%= community_qualified_name %>" />
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:site" content="@ThePracticalDev">
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_media_handles["twitter"] %>">
|
||||
<meta name="twitter:creator" content="@<%= @podcast.twitter_username %>">
|
||||
<meta name="twitter:title" content="<%= @podcast.title %>">
|
||||
<meta name="twitter:description" content="<%= @podcast.description %>" />
|
||||
|
|
@ -37,8 +37,8 @@
|
|||
<meta property="og:site_name" content="<%= community_qualified_name %>" />
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:site" content="@ThePracticalDev">
|
||||
<meta name="twitter:creator" content="@ThePracticalDev">
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_media_handles["twitter"] %>">
|
||||
<meta name="twitter:creator" content="@<%= SiteConfig.social_media_handles["twitter"] %>">
|
||||
<meta name="twitter:title" content="Podcasts on The Practical Dev">
|
||||
<meta name="twitter:description" content="Discover technical podcasts for developers" />
|
||||
<meta name="twitter:image:src" content="http://i.imgur.com/e5tJ9L9.png">
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
<meta property="og:description" content="<%= truncate(strip_tags(@episode.body), length: 140) %>" />
|
||||
<meta property="og:site_name" content="<%= community_qualified_name %>" />
|
||||
|
||||
<meta name="twitter:site" content="@ThePracticalDev">
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_media_handles["twitter"] %>">
|
||||
<meta name="twitter:creator" content="@software_daily">
|
||||
<meta name="twitter:title" content="<%= @episode.title %>">
|
||||
<meta name="twitter:description" content="<%= truncate(strip_tags(@episode.body), length: 140) %>" />
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
<meta property="og:site_name" content="<%= community_qualified_name %>" />
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:site" content="@ThePracticalDev">
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_media_handles["twitter"] %>">
|
||||
<meta name="twitter:title" content="Reading List - <%= community_qualified_name %>">
|
||||
<meta name="twitter:description" content="Reading List for dev.to">
|
||||
<% end %>
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
<meta property="og:site_name" content="<%= community_qualified_name %>" />
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:site" content="@ThePracticalDev">
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_media_handles["twitter"] %>">
|
||||
<meta name="twitter:title" content="About The Practical Dev">
|
||||
<meta name="twitter:description" content="<%= community_qualified_name %> is great!">
|
||||
<meta name="twitter:image:src" content="<%= SiteConfig.main_social_image %>">
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
<meta property="og:site_name" content="<%= community_qualified_name %>" />
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:site" content="@ThePracticalDev">
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_media_handles["twitter"] %>">
|
||||
<meta name="twitter:creator" content="@<%= @user.twitter_username %>">
|
||||
<meta name="twitter:title" content="<%= @user.name %> — DEV Profile">
|
||||
<meta name="twitter:description" content="<%= @user.summary %>">
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
<meta property="og:description" content="All videos on DEV" />
|
||||
<meta property="og:site_name" content="<%= community_qualified_name %>" />
|
||||
|
||||
<meta name="twitter:site" content="@ThePracticalDev">
|
||||
<meta name="twitter:site" content="@<%= SiteConfig.social_media_handles["twitter"] %>">
|
||||
<meta name="twitter:title" content="<% title "Videos" %>">
|
||||
<meta name="twitter:description" content="All videos on DEV">
|
||||
<meta name="twitter:image:src" content="<%= SiteConfig.main_social_image %>">
|
||||
|
|
|
|||
8
lib/tasks/temporary/social_media_handles.rake
Normal file
8
lib/tasks/temporary/social_media_handles.rake
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
namespace :temporary do
|
||||
namespace :social_media do
|
||||
desc "Update DEV's social media handles"
|
||||
task update_handles: :environment do
|
||||
SiteConfig.public_send("social_media_handles=", {twitter: "thepracticaldev", facebook: "thepracticaldev", github: "thepracticaldev", instagram: "thepracticaldev", twitch: "thepracticaldev"})
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
@ -73,11 +73,12 @@ RSpec.describe "/internal/config", type: :request do
|
|||
expect(SiteConfig.default_site_email).to eq(expected_email)
|
||||
end
|
||||
|
||||
it "updates social_networks_handle" do
|
||||
expected_handle = "tpd"
|
||||
post "/internal/config", params: { site_config: { social_networks_handle: expected_handle },
|
||||
it "updates social_media_handles" do
|
||||
expected_handle = {"facebook"=>"tpd", "github"=>"", "instagram"=>"", "twitch"=>"", "twitter"=>""}
|
||||
post "/internal/config", params: { site_config: { social_media_handles: expected_handle },
|
||||
confirmation: confirmation_message }
|
||||
expect(SiteConfig.social_networks_handle).to eq(expected_handle)
|
||||
expect(SiteConfig.social_media_handles[:facebook]).to eq("tpd")
|
||||
expect(SiteConfig.social_media_handles[:github]).to eq("")
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue