Fix linting issues in app/views/pages (#1897)
This commit is contained in:
parent
e02d95470e
commit
657be683ce
33 changed files with 1072 additions and 866 deletions
|
|
@ -6,26 +6,29 @@
|
|||
<% if version == "1" %>
|
||||
<%= render "pages/v1_editor_guide_preamble" %>
|
||||
<% else %>
|
||||
<p><em>Use <strong>markdown</strong> to write and format <a href="/">dev.to</a> posts. Use <strong>liquid tags</strong> to make add rich content such as tweets and videos. More below.</em> ❤️</p>
|
||||
<p><em>Use <strong>markdown</strong> to write and format <a href="/">dev.to</a> posts. Use
|
||||
<strong>liquid tags</strong> to make add rich content such as tweets and videos. More below.</em> ❤️</p>
|
||||
<% end %>
|
||||
<h2 style="font-size:2.8em"><strong>✍ Markdown Basics</strong></h2>
|
||||
<p>Below are some examples of commonly used markdown syntax. If you want to dive deeper, check out <a href="https://github.com/adam-p/markdown-here/wiki/Markdown-Here-Cheatsheet" target="_blank" rel="noopener">this cheat sheet.</a></p>
|
||||
<p>Below are some examples of commonly used markdown syntax. If you want to dive deeper, check out
|
||||
<a href="https://github.com/adam-p/markdown-here/wiki/Markdown-Here-Cheatsheet" target="_blank" rel="noopener">this cheat sheet.</a>
|
||||
</p>
|
||||
|
||||
<h3><strong>Bold & Italic</strong></h3>
|
||||
<p> <em>Italics</em>: <code>*asterisks* or _underscores_</code></p>
|
||||
<p> <strong>Bold</strong>: <code>**double asterisks** or __double underscores__</code></p>
|
||||
<p><em>Italics</em>: <code>*asterisks* or _underscores_</code></p>
|
||||
<p><strong>Bold</strong>: <code>**double asterisks** or __double underscores__</code></p>
|
||||
|
||||
<h3><strong>Links</strong></h3>
|
||||
<p><a href="https://dev.to">I'm an inline link</a>: <code>[I'm an inline link](put-link-here)</code></p>
|
||||
|
||||
<h3><strong>Inline Images</strong></h3>
|
||||
<p>
|
||||
<img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OsLaFSo9--/c_fill,f_auto,fl_progressive,h_220,q_auto,w_220/https://thepracticaldev.s3.amazonaws.com/uploads/user/profile_image/31047/af153cd6-9994-4a68-83f4-8ddf3e13f0bf.jpg" alt="example image, with sloan"></img>
|
||||
<pre>
|
||||

|
||||
</pre>
|
||||
<figcaption> You can even add a caption using the HTML <code>figcaption</code> tag!</figcaption>
|
||||
<img src="https://res.cloudinary.com/practicaldev/image/fetch/s--OsLaFSo9--/c_fill,f_auto,fl_progressive,h_220,q_auto,w_220/https://thepracticaldev.s3.amazonaws.com/uploads/user/profile_image/31047/af153cd6-9994-4a68-83f4-8ddf3e13f0bf.jpg" alt="example image, with sloan" />
|
||||
</p>
|
||||
<pre>
|
||||

|
||||
</pre>
|
||||
<figcaption> You can even add a caption using the HTML <code>figcaption</code> tag!</figcaption>
|
||||
|
||||
<h3><strong>Headers</strong></h3>
|
||||
<p>Add a header to your post with this syntax:</p>
|
||||
|
|
@ -37,7 +40,9 @@
|
|||
<h6>Six '#'s for a h6 header</h6>
|
||||
|
||||
<h2 style="font-size:2.8em"><strong>🌊 Liquid Tags</strong></h2>
|
||||
<p>We support native <a href="https://shopify.github.io/liquid/" target="_blank" rel="noopener">Liquid tags</a> in our editor, but have created our own custom tags listed below:</p>
|
||||
<p>We support native
|
||||
<a href="https://shopify.github.io/liquid/" target="_blank" rel="noopener">Liquid tags</a> in our editor, but have created our own custom tags listed below:
|
||||
</p>
|
||||
|
||||
<h3><strong>dev.to Article/Post Embed</strong></h3>
|
||||
<p>All you need is the full link of the article:</p>
|
||||
|
|
@ -54,7 +59,9 @@
|
|||
<code>{% tag git %}</code>
|
||||
|
||||
<h3><strong>dev.to Comment Embed</strong></h3>
|
||||
<p>All you need is the <code>ID</code> at the end of a comment URL. To get the comment link, click either the timestamp or the menu button in the top right corner on a comment and then click "Permalink". Here's an example:</p>
|
||||
<p>All you need is the
|
||||
<code>ID</code> at the end of a comment URL. To get the comment link, click either the timestamp or the menu button in the top right corner on a comment and then click "Permalink". Here's an example:
|
||||
</p>
|
||||
<code>{% devcomment 2d1a %}</code>
|
||||
|
||||
<h3><strong>dev.to Podcast Episode Embed</strong></h3>
|
||||
|
|
@ -62,13 +69,16 @@
|
|||
<code>{% podcast https://dev.to/basecspodcast/s2e2--queues-irl %}</code>
|
||||
|
||||
<h3><strong>Twitter Embed</strong></h3>
|
||||
<p>Using the Twitter Liquid tag will allow the tweet to pre-render from the server, providing your reader with a better experience. All you need is the tweet <code>id</code> from the url.</p>
|
||||
<p>Using the Twitter Liquid tag will allow the tweet to pre-render from the server, providing your reader with a better experience. All you need is the tweet
|
||||
<code>id</code> from the url.</p>
|
||||
<code>{% twitter 834439977220112384 %}</code>
|
||||
|
||||
<h3><strong>Glitch embed</strong></h3>
|
||||
<p>All you need is the Glitch project slug</p>
|
||||
<code>{% glitch earthy-course %}</code>
|
||||
<p>There are several <a href="https://glitch.com/help/how-can-i-customize-a-glitch-app-embed/">optional attributes</a> you can use in your tag, just add them after the id, separated by spaces.</p>
|
||||
<p>There are several
|
||||
<a href="https://glitch.com/help/how-can-i-customize-a-glitch-app-embed/">optional attributes</a> you can use in your tag, just add them after the id, separated by spaces.
|
||||
</p>
|
||||
<dl>
|
||||
<dt><code>app</code></dt>
|
||||
<dd>
|
||||
|
|
@ -100,6 +110,7 @@
|
|||
Lets you choose which file to display in the code panel. Defaults to index.html.<br>
|
||||
<code>{% glitch earthy-course file=script.js %}</code>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<h3><strong>GitHub Repo Embed</strong></h3>
|
||||
<p>All you need is the GitHub username and repo:</p>
|
||||
|
|
@ -131,11 +142,12 @@
|
|||
<code>{% codepen https://codepen.io/twhite96/pen/XKqrJX %}</code>
|
||||
|
||||
<dl>
|
||||
<dt><code>default-tab</code></dt>
|
||||
<dd>
|
||||
Add default-tab parameter to your CodePen embed tag. Default to <i>result</i><br>
|
||||
<code>{% codepen https://codepen.io/twhite96/pen/XKqrJX default-tab=js,result %}</code>
|
||||
</dd>
|
||||
<dt><code>default-tab</code></dt>
|
||||
<dd>
|
||||
Add default-tab parameter to your CodePen embed tag. Default to <i>result</i><br>
|
||||
<code>{% codepen https://codepen.io/twhite96/pen/XKqrJX default-tab=js,result %}</code>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<h3><strong>RunKit Embed</strong></h3>
|
||||
<p>Put executable code within a runkit liquid block, as follows:</p>
|
||||
|
|
@ -146,14 +158,17 @@
|
|||
<code>{% stackblitz ball-demo %}</code>
|
||||
<dt><code>Default view</code></dt>
|
||||
<dd>
|
||||
You can change the default view, the options are <i>both</i>, <i>preview</i>, <i>editor</i>. Defaults to <i>both</i><br>
|
||||
You can change the default view, the options are <i>both</i>, <i>preview</i>, <i>editor</i>. Defaults to
|
||||
<i>both</i><br>
|
||||
<code>{% stackblitz ball-demo view=preview %}</code>
|
||||
</dd>
|
||||
|
||||
<h3><strong>CodeSandbox Embed</strong></h3>
|
||||
<p>All you need is the ID of the Sandbox:</p>
|
||||
<code>{% codesandbox ppxnl191zx %}</code>
|
||||
<p>Of CodeSandbox's many <a href="https://codesandbox.io/docs/embedding#embed-options">optional attributes</a>, the following are supported by using them in your tag, just add them after the id, separated by spaces.</p>
|
||||
<p>Of CodeSandbox's many
|
||||
<a href="https://codesandbox.io/docs/embedding#embed-options">optional attributes</a>, the following are supported by using them in your tag, just add them after the id, separated by spaces.
|
||||
</p>
|
||||
<dl>
|
||||
<dt><code>initialpath</code></dt>
|
||||
<dd>
|
||||
|
|
@ -165,17 +180,19 @@
|
|||
Which module to open by default.<br>
|
||||
<code>{% codesandbox ppxnl191zx module=/path/to/module %}</code>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<h3><strong>JSFiddle Embed</strong></h3>
|
||||
<p>All you need is the full JSFiddle <code>link</code>, ending in the fiddle ID code, as follows:</p>
|
||||
<code>{% jsfiddle https://jsfiddle.net/link2twenty/v2kx9jcd %}</code>
|
||||
|
||||
<dl>
|
||||
<dt><code>Custom tabs</code></dt>
|
||||
<dd>
|
||||
You can add a custom tab order to you JSFiddle embed tag. Defaults to <i>js,html,css,result</i><br>
|
||||
<code>{% jsfiddle https://jsfiddle.net/webdevem/Q8KVC result,html,css %}</code>
|
||||
</dd>
|
||||
<dt><code>Custom tabs</code></dt>
|
||||
<dd>
|
||||
You can add a custom tab order to you JSFiddle embed tag. Defaults to <i>js,html,css,result</i><br>
|
||||
<code>{% jsfiddle https://jsfiddle.net/webdevem/Q8KVC result,html,css %}</code>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<h3><strong>repl.it Embed</strong></h3>
|
||||
<p>All you need is the URL after the domain name:</p>
|
||||
|
|
@ -213,7 +230,8 @@
|
|||
<h3><strong>Parsing Liquid Tags as a Code Example</strong></h3>
|
||||
<p>To parse Liquid tags as code, simply wrap it with a single backtick or triple backticks.</p>
|
||||
<p><code>`{% mytag %}{{ site.SOMETHING }}{% endmytag %}`</code></p>
|
||||
<p>One specific edge case is with using the <code>raw</code> tag. To properly escape it, use this format:</p>
|
||||
<p>One specific edge case is with using the <code>raw</code> tag. To properly escape it, use this format:
|
||||
</p>
|
||||
<p><code>`{% raw %}{{site.SOMETHING }} {% ``endraw`` %}`</code></p>
|
||||
|
||||
<h3><strong>Common Gotchas</strong></h3>
|
||||
|
|
@ -227,7 +245,9 @@
|
|||
alt="example image of writing lists with images in Markdown">
|
||||
</p>
|
||||
|
||||
<h4><a href="https://github.com/adam-p/markdown-here/wiki/Markdown-Here-Cheatsheet" target="_blank" rel="noopener">Here's the Markdown cheatsheet again for reference.</a></h4>
|
||||
<h4>
|
||||
<a href="https://github.com/adam-p/markdown-here/wiki/Markdown-Here-Cheatsheet" target="_blank" rel="noopener">Here's the Markdown cheatsheet again for reference.</a>
|
||||
</h4>
|
||||
Happy posting! 📝
|
||||
<br>
|
||||
<br>
|
||||
|
|
|
|||
|
|
@ -3,16 +3,22 @@
|
|||
<h1>Publishing from RSS Guide</h1>
|
||||
</div>
|
||||
<div class="body">
|
||||
<h2>Front Matter</h1>
|
||||
<h2>Front Matter</h2>
|
||||
<p>Our RSS reader converts some tags from the RSS items to tags for the Jekyll front matter:</p>
|
||||
<ul>
|
||||
<li><code><title></code>: <strong>title</strong></li>
|
||||
<li><code><category></code>: <strong>tags</strong>, comma separated. Since only 4 tags can be used in a post on dev.to, only the first four tags will be used from the RSS item.</li>
|
||||
<li><code><link></code>: <strong>canonical_url</strong><br />Only if the "Mark the RSS source as canonical URL by default" option is enabled in the Publishing from RSS settings.</li>
|
||||
<li><code><category></code>:
|
||||
<strong>tags</strong>, comma separated. Since only 4 tags can be used in a post on dev.to, only the first four tags will be used from the RSS item.
|
||||
</li>
|
||||
<li><code><link></code>:
|
||||
<strong>canonical_url</strong><br />Only if the "Mark the RSS source as canonical URL by default" option is enabled in the Publishing from RSS settings.
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2>Article Content</h2>
|
||||
<p>The article content is prioritized in this order: <code><content></code>, <code><summary></code>, or <code><description></code>. The HTML will be converted to Markdown as the body of the DEV post.</p>
|
||||
<p>The article content is prioritized in this order: <code><content></code>,
|
||||
<code><summary></code>, or
|
||||
<code><description></code>. The HTML will be converted to Markdown as the body of the DEV post.</p>
|
||||
<p>If you're using a Medium RSS feed, Tweet links, YouTube, and Gist iframes are converted to Liquid tags.</p>
|
||||
<br />
|
||||
<br />
|
||||
|
|
|
|||
|
|
@ -1,21 +1,20 @@
|
|||
|
||||
<h1><strong>Things to Know</strong></h1>
|
||||
<ul>
|
||||
<li>We use a markdown editor that uses <a href="https://jekyllrb.com/docs/frontmatter/">Jekyll front matter</a>.</li>
|
||||
<li>Most of the time, you can write inline HTML directly into your posts.</li>
|
||||
<li>We support native Liquid tags and created some fun custom ones, too! Trying embedding a Tweet or GitHub issue in your post.</li>
|
||||
<li>Links to unpublished posts are shareable for feedback/review.</li>
|
||||
<li>When you're ready to publish, set the published variable to <strong>true.</strong></li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li>We use a markdown editor that uses <a href="https://jekyllrb.com/docs/frontmatter/">Jekyll front matter</a>.</li>
|
||||
<li>Most of the time, you can write inline HTML directly into your posts.</li>
|
||||
<li>We support native Liquid tags and created some fun custom ones, too! Trying embedding a Tweet or GitHub issue in your post.</li>
|
||||
<li>Links to unpublished posts are shareable for feedback/review.</li>
|
||||
<li>When you're ready to publish, set the published variable to <strong>true.</strong></li>
|
||||
</ul>
|
||||
|
||||
<h2><u><strong>Front Matter</strong></u></h2>
|
||||
<p>Custom variables set for each post, located between the triple-dashed lines in your editor. Here is a list of possibilities:</p>
|
||||
<ul>
|
||||
<li><strong>title:</strong> the title of your article</li>
|
||||
<li><strong>published:</strong> boolean that determines whether or not your article is published</li>
|
||||
<li><strong>description:</strong> description area in Twitter cards and open graph cards</li>
|
||||
<li><strong>tags:</strong> max of four tags, needs to be comma-separated</li>
|
||||
<li><strong>canonical_url:</strong> link for the canonical version of the content</li>
|
||||
<li><strong>cover_image:</strong> cover image for post, accepts a URL. <br>The best size is 1000 x 420.</li>
|
||||
<li><strong>series:</strong> post series name.</li>
|
||||
</ul>
|
||||
<h2><u><strong>Front Matter</strong></u></h2>
|
||||
<p>Custom variables set for each post, located between the triple-dashed lines in your editor. Here is a list of possibilities:</p>
|
||||
<ul>
|
||||
<li><strong>title:</strong> the title of your article</li>
|
||||
<li><strong>published:</strong> boolean that determines whether or not your article is published</li>
|
||||
<li><strong>description:</strong> description area in Twitter cards and open graph cards</li>
|
||||
<li><strong>tags:</strong> max of four tags, needs to be comma-separated</li>
|
||||
<li><strong>canonical_url:</strong> link for the canonical version of the content</li>
|
||||
<li><strong>cover_image:</strong> cover image for post, accepts a URL. <br>The best size is 1000 x 420.</li>
|
||||
<li><strong>series:</strong> post series name.</li>
|
||||
</ul>
|
||||
|
|
|
|||
|
|
@ -1,17 +1,17 @@
|
|||
<% cache("wall-of-patrons", expires_in: 3.hours) do %>
|
||||
<style>
|
||||
.wall-container{
|
||||
.wall-container {
|
||||
width: 94%;
|
||||
max-width: 750px;
|
||||
margin:auto;
|
||||
margin: auto;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="wall-container" style="text-align:center;">
|
||||
<h1> Wall of Patrons and Scholars</h1>
|
||||
<% @members.each do |member| %>
|
||||
<a href="/<%= member.username %>"><img style="width:70px; margin:5px; border-radius:100%;" src="<%= ProfileImage.new(member).get %>" alt="" class="featured-profile-pic"></a>
|
||||
<a href="/<%= member.username %>"><img style="width:70px; margin:5px; border-radius:100%;" src="<%= ProfileImage.new(member).get %>" alt="" class="featured-profile-pic"></a>
|
||||
<% end %>
|
||||
<p><em>Thank you for being a dev.to sustaining member!</em></p>
|
||||
<p><em>Thank you for being a dev.to sustaining member!</em></p>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<% title "About The Practical Dev" %>
|
||||
|
||||
<%= content_for :page_meta do %>
|
||||
<link rel="canonical" href="https://dev.to/about"/>
|
||||
<link rel="canonical" href="https://dev.to/about" />
|
||||
<meta name="description" content="About The Practical Dev">
|
||||
<meta name="keywords" content="software development,engineering,rails,javascript,ruby">
|
||||
|
||||
|
|
@ -19,32 +19,34 @@
|
|||
<meta name="twitter:image:src" content="http://i.imgur.com/B4JNl1w.png">
|
||||
<% end %>
|
||||
|
||||
|
||||
|
||||
<!-- <p id="notice"><%#= notice %></p> -->
|
||||
|
||||
<style>
|
||||
h2{
|
||||
h2 {
|
||||
text-align: center;
|
||||
font-size:2.5em !important;
|
||||
font-size: 2.5em !important;
|
||||
font-weight: 900 !important;
|
||||
}
|
||||
.about-row{
|
||||
|
||||
.about-row {
|
||||
width: 500px;
|
||||
max-width: 93%;
|
||||
margin: 50px auto;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.about-key {
|
||||
margin: 10px 0px 30px;
|
||||
}
|
||||
|
||||
.about-key img {
|
||||
height: 200px;
|
||||
width: 200px;
|
||||
border-radius: 1000px;
|
||||
}
|
||||
|
||||
.about-value {
|
||||
margin-bottom:10px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
|
@ -56,67 +58,69 @@
|
|||
</h1>
|
||||
</div>
|
||||
<div class="body">
|
||||
<p>
|
||||
Where programmers share ideas and help each other grow. It is an online community for sharing and discovering great ideas, having debates, and making friends. Anyone can share articles, questions, discussions, etc. as long as they have the rights to the words they are sharing. Cross-posting from your own blog is welcome.
|
||||
</p>
|
||||
<h2>Leadership</h2>
|
||||
<div class="about-rows">
|
||||
<div class="about-row">
|
||||
<div class="about-key">
|
||||
<img src="<%= cloudinary "https://thepracticaldev.s3.amazonaws.com/i/b22fx2whfnyfmm05p856.jpeg" %>" width="250" alt="Ben Halpern"/>
|
||||
</div>
|
||||
<div class="about-value">
|
||||
<b>Ben Halpern, Founder</b><br/>
|
||||
Ben manages content, is the core maintainer of the dev.to application, and makes jokes on the Internets.
|
||||
</div>
|
||||
<p>
|
||||
Where programmers share ideas and help each other grow. It is an online community for sharing and discovering great ideas, having debates, and making friends. Anyone can share articles, questions, discussions, etc. as long as they have the rights to the words they are sharing. Cross-posting from your own blog is welcome.
|
||||
</p>
|
||||
<h2>Leadership</h2>
|
||||
<div class="about-rows">
|
||||
<div class="about-row">
|
||||
<div class="about-key">
|
||||
<img src="<%= cloudinary "https://thepracticaldev.s3.amazonaws.com/i/b22fx2whfnyfmm05p856.jpeg" %>" width="250" alt="Ben Halpern" />
|
||||
</div>
|
||||
<div class="about-row">
|
||||
<div class="about-key">
|
||||
<img src="<%= cloudinary "https://thepracticaldev.s3.amazonaws.com/i/4zs6ltsogedmp1l46cmi.jpg" %>" width="250" alt="Ben Halpern"/>
|
||||
</div>
|
||||
<div class="about-value">
|
||||
<b>Jess Lee, Co-Founder</b><br/>
|
||||
Jess leads day-to-day operations, manages content, and contributes to the dev.to codebase.
|
||||
</div>
|
||||
</div>
|
||||
<div class="about-row">
|
||||
<div class="about-key">
|
||||
<img src="<%= cloudinary "https://thepracticaldev.s3.amazonaws.com/i/pm1d5npekd2j6ts2hcte.jpeg" %>" width="250" alt="Ben Halpern"/>
|
||||
</div>
|
||||
<div class="about-value">
|
||||
<b>Peter Frank, Co-Founder</b><br/>
|
||||
Peter focuses on strategy, investor relations, and sending dev.to swag around the globe.
|
||||
</div>
|
||||
<div class="about-value">
|
||||
<b>Ben Halpern, Founder</b><br />
|
||||
Ben manages content, is the core maintainer of the dev.to application, and makes jokes on the Internets.
|
||||
</div>
|
||||
</div>
|
||||
<div class="about-row">
|
||||
<div class="about-key">
|
||||
<img src="<%= cloudinary "https://thepracticaldev.s3.amazonaws.com/i/4zs6ltsogedmp1l46cmi.jpg" %>" width="250" alt="Ben Halpern" />
|
||||
</div>
|
||||
<div class="about-value">
|
||||
<b>Jess Lee, Co-Founder</b><br />
|
||||
Jess leads day-to-day operations, manages content, and contributes to the dev.to codebase.
|
||||
</div>
|
||||
</div>
|
||||
<div class="about-row">
|
||||
<div class="about-key">
|
||||
<img src="<%= cloudinary "https://thepracticaldev.s3.amazonaws.com/i/pm1d5npekd2j6ts2hcte.jpeg" %>" width="250" alt="Ben Halpern" />
|
||||
</div>
|
||||
<div class="about-value">
|
||||
<b>Peter Frank, Co-Founder</b><br />
|
||||
Peter focuses on strategy, investor relations, and sending dev.to swag around the globe.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--
|
||||
|
||||
|
||||
<td><img src="https://thepracticaldev.s3.amazonaws.com/i/b22fx2whfnyfmm05p856.jpeg" width="250" alt="Ben Halpern"/></td>
|
||||
<td>
|
||||
<b>Ben Halpern, Founder</b><br/>
|
||||
Ben manages content, is the core maintainer of the dev.to application, and makes jokes on the Internets.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://thepracticaldev.s3.amazonaws.com/i/4zs6ltsogedmp1l46cmi.jpg" width="250" alt="Jess Lee"/></td>
|
||||
<td>
|
||||
<b>Jess Lee, Co-Founder</b><br/>
|
||||
Jess leads day-to-day operations, manages content, and contributes to the dev.to codebase.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://thepracticaldev.s3.amazonaws.com/i/pm1d5npekd2j6ts2hcte.jpeg" width="250" alt="Peter Frank"/></td>
|
||||
<td>
|
||||
<b>Peter Frank, Co-Founder</b><br/>
|
||||
Peter focuses on strategy, investor relations, and sending dev.to swag around the globe.
|
||||
</td>
|
||||
</tr>
|
||||
</table>-->
|
||||
<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.
|
||||
</p>
|
||||
<!--<td><img src="https://thepracticaldev.s3.amazonaws.com/i/b22fx2whfnyfmm05p856.jpeg" width="250" alt="Ben Halpern" />
|
||||
</td>
|
||||
<td>
|
||||
<b>Ben Halpern, Founder</b><br />
|
||||
Ben manages content, is the core maintainer of the dev.to application, and makes jokes on the Internets.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="https://thepracticaldev.s3.amazonaws.com/i/4zs6ltsogedmp1l46cmi.jpg" width="250" alt="Jess Lee" />
|
||||
</td>
|
||||
<td>
|
||||
<b>Jess Lee, Co-Founder</b><br />
|
||||
Jess leads day-to-day operations, manages content, and contributes to the dev.to codebase.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<img src="https://thepracticaldev.s3.amazonaws.com/i/pm1d5npekd2j6ts2hcte.jpeg" width="250" alt="Peter Frank" />
|
||||
</td>
|
||||
<td>
|
||||
<b>Peter Frank, Co-Founder</b><br />
|
||||
Peter focuses on strategy, investor relations, and sending dev.to swag around the globe.
|
||||
</td>
|
||||
</tr>
|
||||
</table>-->
|
||||
<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.
|
||||
</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,115 +1,123 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
|
||||
<title>DEV Community ❤️</title>
|
||||
</head>
|
||||
<body>
|
||||
<%= @html_variant.html.html_safe %>
|
||||
<div id="html-variant-element" data-variant-id="<%= @html_variant.id %>"></div>
|
||||
<script defer>
|
||||
setTimeout(function(){
|
||||
var tokenMeta = document.querySelector("meta[name='csrf-token']")
|
||||
var isBot = /bot|google|baidu|bing|msn|duckduckbot|teoma|slurp|yandex/i.test(navigator.userAgent) // is crawler
|
||||
var variantEl = document.getElementById("html-variant-element")
|
||||
if (tokenMeta && !isBot) {
|
||||
var dataBody = {
|
||||
html_variant_id: variantEl.dataset.variantId
|
||||
};
|
||||
var csrfToken = tokenMeta.getAttribute('content');
|
||||
trackHTMLVariantTrial(dataBody, csrfToken)
|
||||
var successLinks = document.querySelectorAll('a,button'); //track all links and button clicks within nav
|
||||
for(var i = 0; i < successLinks.length; i++)
|
||||
{
|
||||
successLinks[i].addEventListener('click', function(e) {
|
||||
e.preventDefault();
|
||||
var goTo = e.target.href
|
||||
trackHtmlVariantSuccess(dataBody, csrfToken)
|
||||
setTimeout(function(){
|
||||
window.location.href = goTo;
|
||||
}, 250)
|
||||
});
|
||||
}
|
||||
}
|
||||
}, 1500)
|
||||
function trackHTMLVariantTrial(dataBody, csrfToken) {
|
||||
var randomNumber = Math.floor(Math.random() * 10); // 1 in 10; Only track 1 in 10 impressions
|
||||
if (randomNumber) {
|
||||
window.fetch('/html_variant_trials', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'X-CSRF-Token': csrfToken,
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
body: JSON.stringify(dataBody),
|
||||
credentials: 'same-origin',
|
||||
});
|
||||
}
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
|
||||
<title>DEV Community ❤️</title>
|
||||
</head>
|
||||
<body>
|
||||
<%= @html_variant.html.html_safe %>
|
||||
<div id="html-variant-element" data-variant-id="<%= @html_variant.id %>"></div>
|
||||
<script defer>
|
||||
setTimeout(function () {
|
||||
var tokenMeta = document.querySelector("meta[name='csrf-token']")
|
||||
var isBot = /bot|google|baidu|bing|msn|duckduckbot|teoma|slurp|yandex/i.test(navigator.userAgent) // is crawler
|
||||
var variantEl = document.getElementById("html-variant-element")
|
||||
if (tokenMeta && !isBot) {
|
||||
var dataBody = {
|
||||
html_variant_id: variantEl.dataset.variantId
|
||||
};
|
||||
var csrfToken = tokenMeta.getAttribute('content');
|
||||
trackHTMLVariantTrial(dataBody, csrfToken)
|
||||
var successLinks = document.querySelectorAll('a,button'); //track all links and button clicks within nav
|
||||
for (var i = 0; i < successLinks.length; i++) {
|
||||
successLinks[i].addEventListener('click', function (e) {
|
||||
e.preventDefault();
|
||||
var goTo = e.target.href
|
||||
trackHtmlVariantSuccess(dataBody, csrfToken)
|
||||
setTimeout(function () {
|
||||
window.location.href = goTo;
|
||||
}, 250)
|
||||
});
|
||||
}
|
||||
}
|
||||
}, 1500)
|
||||
|
||||
function trackHtmlVariantSuccess(dataBody, csrfToken) {
|
||||
window.fetch('/html_variant_successes', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'X-CSRF-Token': csrfToken,
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
body: JSON.stringify(dataBody),
|
||||
credentials: 'same-origin',
|
||||
})
|
||||
}
|
||||
function trackHTMLVariantTrial(dataBody, csrfToken) {
|
||||
var randomNumber = Math.floor(Math.random() * 10); // 1 in 10; Only track 1 in 10 impressions
|
||||
if (randomNumber) {
|
||||
window.fetch('/html_variant_trials', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'X-CSRF-Token': csrfToken,
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
body: JSON.stringify(dataBody),
|
||||
credentials: 'same-origin',
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
fetchBaseData();
|
||||
function fetchBaseData() {
|
||||
var xmlhttp;
|
||||
if (window.XMLHttpRequest) {
|
||||
xmlhttp = new XMLHttpRequest();
|
||||
} else {
|
||||
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
|
||||
function trackHtmlVariantSuccess(dataBody, csrfToken) {
|
||||
window.fetch('/html_variant_successes', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'X-CSRF-Token': csrfToken,
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
body: JSON.stringify(dataBody),
|
||||
credentials: 'same-origin',
|
||||
})
|
||||
}
|
||||
|
||||
fetchBaseData();
|
||||
|
||||
function fetchBaseData() {
|
||||
var xmlhttp;
|
||||
if (window.XMLHttpRequest) {
|
||||
xmlhttp = new XMLHttpRequest();
|
||||
} else {
|
||||
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
|
||||
}
|
||||
xmlhttp.onreadystatechange = function () {
|
||||
if (xmlhttp.readyState == XMLHttpRequest.DONE) {
|
||||
var json = JSON.parse(xmlhttp.responseText);
|
||||
if (json.token) {
|
||||
removeExistingCSRF();
|
||||
}
|
||||
xmlhttp.onreadystatechange = function() {
|
||||
if (xmlhttp.readyState == XMLHttpRequest.DONE ) {
|
||||
var json = JSON.parse(xmlhttp.responseText);
|
||||
if (json.token) {
|
||||
removeExistingCSRF();
|
||||
}
|
||||
var meta = document.createElement('meta');
|
||||
var metaTag = document.querySelector("meta[name='csrf-token']");
|
||||
meta.name = "csrf-param";
|
||||
meta.content = json.param;
|
||||
document.getElementsByTagName('head')[0].appendChild(meta);
|
||||
var meta = document.createElement('meta');
|
||||
meta.name = "csrf-token";
|
||||
meta.content = json.token;
|
||||
document.getElementsByTagName('head')[0].appendChild(meta);
|
||||
document.getElementsByTagName('body')[0].dataset.loaded = "true";
|
||||
}
|
||||
};
|
||||
var timeString = (Date.now()).toString();
|
||||
xmlhttp.open("GET", "/async_info/base_data", true);
|
||||
xmlhttp.send();
|
||||
var meta = document.createElement('meta');
|
||||
var metaTag = document.querySelector("meta[name='csrf-token']");
|
||||
meta.name = "csrf-param";
|
||||
meta.content = json.param;
|
||||
document.getElementsByTagName('head')[0].appendChild(meta);
|
||||
var meta = document.createElement('meta');
|
||||
meta.name = "csrf-token";
|
||||
meta.content = json.token;
|
||||
document.getElementsByTagName('head')[0].appendChild(meta);
|
||||
document.getElementsByTagName('body')[0].dataset.loaded = "true";
|
||||
}
|
||||
};
|
||||
var timeString = (Date.now()).toString();
|
||||
xmlhttp.open("GET", "/async_info/base_data", true);
|
||||
xmlhttp.send();
|
||||
}
|
||||
|
||||
function removeExistingCSRF(){
|
||||
var csrfTokenMeta = document.querySelector("meta[name='csrf-token']");
|
||||
var csrfParamMeta = document.querySelector("meta[name='csrf-param']");
|
||||
if (csrfTokenMeta && csrfParamMeta) {
|
||||
csrfTokenMeta.parentNode.removeChild(csrfTokenMeta);
|
||||
csrfParamMeta.parentNode.removeChild(csrfParamMeta);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<script>
|
||||
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
||||
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
||||
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
|
||||
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
|
||||
function removeExistingCSRF() {
|
||||
var csrfTokenMeta = document.querySelector("meta[name='csrf-token']");
|
||||
var csrfParamMeta = document.querySelector("meta[name='csrf-param']");
|
||||
if (csrfTokenMeta && csrfParamMeta) {
|
||||
csrfTokenMeta.parentNode.removeChild(csrfTokenMeta);
|
||||
csrfParamMeta.parentNode.removeChild(csrfParamMeta);
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<script>
|
||||
(function (i, s, o, g, r, a, m) {
|
||||
i['GoogleAnalyticsObject'] = r;
|
||||
i[r] = i[r] || function () {
|
||||
(i[r].q = i[r].q || []).push(arguments)
|
||||
}, i[r].l = 1 * new Date();
|
||||
a = s.createElement(o),
|
||||
m = s.getElementsByTagName(o)[0];
|
||||
a.async = 1;
|
||||
a.src = g;
|
||||
m.parentNode.insertBefore(a, m)
|
||||
})(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');
|
||||
|
||||
ga('create', '<%= ApplicationConfig["GA_TRACKING_ID"] %>', 'auto');
|
||||
ga('send', 'pageview');
|
||||
ga('send', 'event', 'view', '/badge version impression', '<%= @html_variant.name %>', null);
|
||||
</script>
|
||||
</body>
|
||||
ga('create', '<%= ApplicationConfig["GA_TRACKING_ID"] %>', 'auto');
|
||||
ga('send', 'pageview');
|
||||
ga('send', 'event', 'view', '/badge version impression', '<%= @html_variant.name %>', null);
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<% title "Add the DEV Badge to your personal site" %>
|
||||
|
||||
<%= content_for :page_meta do %>
|
||||
<link rel="canonical" href="https://dev.to/p/badges"/>
|
||||
<link rel="canonical" href="https://dev.to/p/badges" />
|
||||
<meta name="description" content="Add the DEV Badge to your personal site">
|
||||
<meta name="keywords" content="software development,engineering,rails,javascript,ruby">
|
||||
|
||||
|
|
@ -19,8 +19,6 @@
|
|||
<meta name="twitter:image:src" content="https://thepracticaldev.s3.amazonaws.com/i/kjn1gduswyrrisc1basc.png">
|
||||
<% end %>
|
||||
|
||||
|
||||
|
||||
<div class="blank-space"></div>
|
||||
<div class="container article">
|
||||
<div class="title">
|
||||
|
|
@ -29,46 +27,50 @@
|
|||
</h1>
|
||||
</div>
|
||||
<div class="body">
|
||||
<p>
|
||||
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.
|
||||
</p>
|
||||
<% if user_signed_in? %>
|
||||
<p>
|
||||
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.
|
||||
<a href="https://dev.to/<%= current_user.username %>">
|
||||
<img src="https://d2fltix0v2e0sb.cloudfront.net/dev-badge.svg" alt="<%= current_user.name %>'s DEV Profile" height="30" width="30" />
|
||||
</a>
|
||||
</p>
|
||||
<% if user_signed_in? %>
|
||||
<p>
|
||||
<a href="https://dev.to/<%= current_user.username %>">
|
||||
<img src="https://d2fltix0v2e0sb.cloudfront.net/dev-badge.svg" alt="<%= current_user.name%>'s DEV Profile" height="30" width="30" />
|
||||
</a>
|
||||
</p>
|
||||
<p>
|
||||
Make the image as big or as small as you like by modifying the <code>height</code> and <code>width</code> attributes. The badge is an SVG hosted on Amazon Cloudfront and is <b>only 1kb</b> in size.
|
||||
</p>
|
||||
<p>
|
||||
Here is the full code for adding the badge with a link to your profile:
|
||||
</p>
|
||||
<pre class="embed-code">
|
||||
<p>
|
||||
Make the image as big or as small as you like by modifying the <code>height</code> and
|
||||
<code>width</code> attributes. The badge is an SVG hosted on Amazon Cloudfront and is <b>only 1kb</b> in size.
|
||||
</p>
|
||||
<p>
|
||||
Here is the full code for adding the badge with a link to your profile:
|
||||
</p>
|
||||
<pre class="embed-code">
|
||||
|
||||
<a href="https://dev.to/<%= current_user.username %>">
|
||||
<img src="https://d2fltix0v2e0sb.cloudfront.net/dev-badge.svg" alt="<%= current_user.name%>'s DEV Profile" height="30" width="30" />
|
||||
<img src="https://d2fltix0v2e0sb.cloudfront.net/dev-badge.svg" alt="<%= current_user.name %>'s DEV Profile" height="30" width="30" />
|
||||
</a>
|
||||
</pre>
|
||||
<p>You can add the DEV badge via <b><a href="https://fontawesome.com/icons/dev?style=brands" target="_blank" rel="noopoener">Font Awesome</a></b> with this snippet:
|
||||
</p>
|
||||
<pre class="embed-code">
|
||||
<p>You can add the DEV badge via
|
||||
<b><a href="https://fontawesome.com/icons/dev?style=brands" target="_blank" rel="noopoener">Font Awesome</a></b> with this snippet:
|
||||
</p>
|
||||
<pre class="embed-code">
|
||||
<a href="https://dev.to/<%= current_user.username %>">
|
||||
<i class="fab fa-dev" title="<%= current_user.username %>'s DEV Profile"></i>
|
||||
</a>
|
||||
</pre>
|
||||
<p>
|
||||
<small><a href="https://fontawesome.com/how-to-use/on-the-web/setup/getting-started?using=web-fonts-with-css" target="_blank" rel="noopener">Getting Started with Font Awesome</a></small>
|
||||
</p>
|
||||
<% else %>
|
||||
<p>
|
||||
<img src="https://d2fltix0v2e0sb.cloudfront.net/dev-badge.svg" height="30" width="30" />
|
||||
</p>
|
||||
<h2 style="text-align:center;">
|
||||
<a href="/enter">Log in to view your custom embed code</a>
|
||||
</h2>
|
||||
<br/><br/>
|
||||
<% end %>
|
||||
<p>
|
||||
<small>
|
||||
<a href="https://fontawesome.com/how-to-use/on-the-web/setup/getting-started?using=web-fonts-with-css" target="_blank" rel="noopener">Getting Started with Font Awesome</a>
|
||||
</small>
|
||||
</p>
|
||||
<% else %>
|
||||
<p>
|
||||
<img src="https://d2fltix0v2e0sb.cloudfront.net/dev-badge.svg" height="30" width="30" />
|
||||
</p>
|
||||
<h2 style="text-align:center;">
|
||||
<a href="/enter">Log in to view your custom embed code</a>
|
||||
</h2>
|
||||
<br /><br />
|
||||
<% end %>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<% title "Reporting Vulnerabilities" %>
|
||||
|
||||
<%= content_for :page_meta do %>
|
||||
<link rel="canonical" href="https://dev.to/bounty"/>
|
||||
<link rel="canonical" href="https://dev.to/bounty" />
|
||||
<meta name="description" content="About The Practical Dev">
|
||||
<meta name="keywords" content="software development,engineering,rails,javascript,ruby,security">
|
||||
|
||||
|
|
@ -22,71 +22,72 @@
|
|||
</h1>
|
||||
</div>
|
||||
<div class="body">
|
||||
<p style="min-height:300px">
|
||||
<a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5h06TvlR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/jl3vwgqxcx37vr45ln2o.png" class="article-body-image-wrapper">
|
||||
<img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5h06TvlR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/jl3vwgqxcx37vr45ln2o.png" alt="octopus attacking our systems" style="max-width:420px">
|
||||
</a>
|
||||
</p>
|
||||
<p>
|
||||
Found a vulnerability in our systems? Shoot us an email at <a href="mailto:yo@dev.to">yo@dev.to</a>. You'll hear back from us within two weeks at the latest, and we'll let you know a few things:
|
||||
</p>
|
||||
<ul>
|
||||
<li>If it's been reported previously,</li>
|
||||
<li>Whether or not we think it's an issue,</li>
|
||||
<li>And if it's eligible for a reward.</li>
|
||||
</ul>
|
||||
<h4>
|
||||
When submitting a report, we ask that you do NOT attempt any findings on a community member's article or comments as a courtesy to other members.
|
||||
Please create your own article and leave comments on your private draft.
|
||||
We use Ruby on Rails, and your report may affect Rails, Ruby, or other parts of our technology stack.
|
||||
We kindly request your patience before submitting these issues.
|
||||
Not following these rules will void any reward.
|
||||
</h4>
|
||||
<p>
|
||||
Vulnerabilties are assessed via <a href="https://bugcrowd.com/vulnerability-rating-taxonomy">BugCrowd's taxonomy rating</a> and our judgment. We strive to be honest, fair and reasonable based on the current size of our current overall operating budget.
|
||||
</p>
|
||||
<ul>
|
||||
<li>Low risk vulnerabilities will be rewarded with $50 USD.</li>
|
||||
<li>Medium risk vulnerabilities will be rewarded with $100 USD.</li>
|
||||
<li>High risk vulnerabilities will be rewarded with $150 USD.</li>
|
||||
</ul>
|
||||
<p>
|
||||
Thanks to those who have helped us by finding, fixing, and disclosing security issues safely:
|
||||
</p>
|
||||
<ul>
|
||||
<% hunters = [ 'Shintaro Kobori',
|
||||
'Mohammad Abdullah',
|
||||
'Guilherme Scombatti',
|
||||
'Sajibe Kanti',
|
||||
'Mustafa Khan',
|
||||
'Footstep Security',
|
||||
'Zee Shan',
|
||||
'Muhammad Muhaddis',
|
||||
'Ismail Hossain',
|
||||
'Chakradhar Chiru',
|
||||
'Vis Patel',
|
||||
'Ahsan Khan',
|
||||
'Yeasir Arafat',
|
||||
'Prial Islam',
|
||||
'Pritesh Mistry',
|
||||
'Jerbi Nessim',
|
||||
'Kishan Kumar',
|
||||
'Md. Nur A Alam Dipu',
|
||||
'Aman Mahendra',
|
||||
'Kaushik Roy',
|
||||
'Shiv Bihari Pandey',
|
||||
'Sahil Mehra',
|
||||
'Antony Garand',
|
||||
'Rahul PS',
|
||||
'Gids Goldberg',
|
||||
'Mathieu Paturel',
|
||||
'Benoit Côté-Jodoin',
|
||||
'Nicolas Verdier',
|
||||
] %>
|
||||
<% hunters.shuffle.each do |hunter| %>
|
||||
<li><%= hunter %></li>
|
||||
<%end %>
|
||||
</ul>
|
||||
<br/><br/>
|
||||
<p style="min-height:300px">
|
||||
<a href="https://res.cloudinary.com/practicaldev/image/fetch/s--5h06TvlR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/jl3vwgqxcx37vr45ln2o.png" class="article-body-image-wrapper">
|
||||
<img src="https://res.cloudinary.com/practicaldev/image/fetch/s--5h06TvlR--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/jl3vwgqxcx37vr45ln2o.png" alt="octopus attacking our systems" style="max-width:420px">
|
||||
</a>
|
||||
</p>
|
||||
<p>
|
||||
Found a vulnerability in our systems? Shoot us an email at
|
||||
<a href="mailto:yo@dev.to">yo@dev.to</a>. You'll hear back from us within two weeks at the latest, and we'll let you know a few things:
|
||||
</p>
|
||||
<ul>
|
||||
<li>If it's been reported previously,</li>
|
||||
<li>Whether or not we think it's an issue,</li>
|
||||
<li>And if it's eligible for a reward.</li>
|
||||
</ul>
|
||||
<h4>
|
||||
When submitting a report, we ask that you do NOT attempt any findings on a community member's article or comments as a courtesy to other members.
|
||||
Please create your own article and leave comments on your private draft.
|
||||
We use Ruby on Rails, and your report may affect Rails, Ruby, or other parts of our technology stack.
|
||||
We kindly request your patience before submitting these issues.
|
||||
Not following these rules will void any reward.
|
||||
</h4>
|
||||
<p>
|
||||
Vulnerabilties are assessed via
|
||||
<a href="https://bugcrowd.com/vulnerability-rating-taxonomy">BugCrowd's taxonomy rating</a> and our judgment. We strive to be honest, fair and reasonable based on the current size of our current overall operating budget.
|
||||
</p>
|
||||
<ul>
|
||||
<li>Low risk vulnerabilities will be rewarded with $50 USD.</li>
|
||||
<li>Medium risk vulnerabilities will be rewarded with $100 USD.</li>
|
||||
<li>High risk vulnerabilities will be rewarded with $150 USD.</li>
|
||||
</ul>
|
||||
<p>
|
||||
Thanks to those who have helped us by finding, fixing, and disclosing security issues safely:
|
||||
</p>
|
||||
<ul>
|
||||
<% hunters = ["Shintaro Kobori",
|
||||
"Mohammad Abdullah",
|
||||
"Guilherme Scombatti",
|
||||
"Sajibe Kanti",
|
||||
"Mustafa Khan",
|
||||
"Footstep Security",
|
||||
"Zee Shan",
|
||||
"Muhammad Muhaddis",
|
||||
"Ismail Hossain",
|
||||
"Chakradhar Chiru",
|
||||
"Vis Patel",
|
||||
"Ahsan Khan",
|
||||
"Yeasir Arafat",
|
||||
"Prial Islam",
|
||||
"Pritesh Mistry",
|
||||
"Jerbi Nessim",
|
||||
"Kishan Kumar",
|
||||
"Md. Nur A Alam Dipu",
|
||||
"Aman Mahendra",
|
||||
"Kaushik Roy",
|
||||
"Shiv Bihari Pandey",
|
||||
"Sahil Mehra",
|
||||
"Antony Garand",
|
||||
"Rahul PS",
|
||||
"Gids Goldberg",
|
||||
"Mathieu Paturel",
|
||||
"Benoit Côté-Jodoin",
|
||||
"Nicolas Verdier"] %>
|
||||
<% hunters.shuffle.each do |hunter| %>
|
||||
<li><%= hunter %></li>
|
||||
<% end %>
|
||||
</ul>
|
||||
<br /><br />
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,19 +1,19 @@
|
|||
<% title "The Practical Dev Code of Conduct" %>
|
||||
<%= content_for :page_meta do %>
|
||||
<link rel="canonical" href="https://dev.to/code-of-conduct"/>
|
||||
<meta name="description" content="The Practical Dev Code of Conduct">
|
||||
<meta name="keywords" content="software development,engineering,rails,javascript,ruby">
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:url" content="https://dev.to/code-of-conduct" />
|
||||
<meta property="og:title" content="The Practical Dev Code of Conduct" />
|
||||
<!-- <meta property="og:image" content="http://i.imgur.com/B4JNl1w.png" /> -->
|
||||
<!-- <meta property="og:description" content="The Practical Dev is great!" /> -->
|
||||
<meta property="og:site_name" content="The Practical Dev" />
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:site" content="@ThePracticalDev">
|
||||
<meta name="twitter:title" content="The Practical Dev Code of Conduct">
|
||||
<!-- <meta name="twitter:description" content="The Practical Dev is great!"> -->
|
||||
<!-- <meta name="twitter:image:src" content="http://i.imgur.com/B4JNl1w.png"> -->
|
||||
<link rel="canonical" href="https://dev.to/code-of-conduct" />
|
||||
<meta name="description" content="The Practical Dev Code of Conduct">
|
||||
<meta name="keywords" content="software development,engineering,rails,javascript,ruby">
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:url" content="https://dev.to/code-of-conduct" />
|
||||
<meta property="og:title" content="The Practical Dev Code of Conduct" />
|
||||
<!-- <meta property="og:image" content="http://i.imgur.com/B4JNl1w.png" /> -->
|
||||
<!-- <meta property="og:description" content="The Practical Dev is great!" /> -->
|
||||
<meta property="og:site_name" content="The Practical Dev" />
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:site" content="@ThePracticalDev">
|
||||
<meta name="twitter:title" content="The Practical Dev Code of Conduct">
|
||||
<!-- <meta name="twitter:description" content="The Practical Dev is great!"> -->
|
||||
<!-- <meta name="twitter:image:src" content="http://i.imgur.com/B4JNl1w.png"> -->
|
||||
<% end %>
|
||||
|
||||
<div class="blank-space"></div>
|
||||
|
|
@ -25,7 +25,8 @@
|
|||
<div class="body">
|
||||
<p>All participants of The DEV Community are expected to abide by our Code of Conduct, both online and during in-person events that are hosted and/or associated with DEV.</p>
|
||||
<h2>Our Pledge</h2>
|
||||
<p>In the interest of fostering an open and welcoming environment, we as moderators of <a href="https://dev.to">DEV</a> pledge to make participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
|
||||
<p>In the interest of fostering an open and welcoming environment, we as moderators of
|
||||
<a href="https://dev.to">DEV</a> pledge to make participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
|
||||
</p>
|
||||
<h2>Our Standards</h2>
|
||||
<p>Examples of behavior that contributes to creating a positive environment include:</p>
|
||||
|
|
@ -54,7 +55,9 @@
|
|||
<li>Criticisms of racist, sexist, cissexist, or otherwise oppressive behavior or assumptions</li>
|
||||
</ul>
|
||||
<h2>Enforcement</h2>
|
||||
<p>Violations of the Code of Conduct may be reported by contacting the team via the <a href="https://dev.to/report-abuse">abuse report form</a> or by sending an email to yo@dev.to. All reports will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. Further details of specific enforcement policies may be posted separately.</p>
|
||||
<p>Violations of the Code of Conduct may be reported by contacting the team via the
|
||||
<a href="https://dev.to/report-abuse">abuse report form</a> or by sending an email to yo@dev.to. All reports will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. Further details of specific enforcement policies may be posted separately.
|
||||
</p>
|
||||
<p>Moderators have the right and responsibility to remove comments or other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any members for other behaviors that they deem inappropriate, threatening, offensive, or harmful.</p>
|
||||
<h2>Attribution</h2>
|
||||
<p>This Code of Conduct is adapted from:</p>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<% title "Contact The Practical Dev" %>
|
||||
|
||||
<%= content_for :page_meta do %>
|
||||
<link rel="canonical" href="https://dev.to/contact"/>
|
||||
<link rel="canonical" href="https://dev.to/contact" />
|
||||
<meta name="description" content="Contact The Practical Dev">
|
||||
<meta name="keywords" content="software development,engineering,rails,javascript,ruby">
|
||||
|
||||
|
|
@ -36,7 +36,8 @@
|
|||
Twitter: <a href="http://twitter.com/thepracticaldev">@thepracticaldev</a> 👻
|
||||
</p>
|
||||
<p>
|
||||
Please make a GitHub issue for feature requests: <a href="https://github.com/thepracticaldev/dev.to">thepracticaldev/dev.to</a>.
|
||||
Please make a GitHub issue for feature requests:
|
||||
<a href="https://github.com/thepracticaldev/dev.to">thepracticaldev/dev.to</a>.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<% title "Editor Guide" %>
|
||||
|
||||
<%= content_for :page_meta do %>
|
||||
<link rel="canonical" href="https://dev.to/p/editor_guide"/>
|
||||
<link rel="canonical" href="https://dev.to/p/editor_guide" />
|
||||
<meta name="description" content="dev.to | editor guideline">
|
||||
<meta name="keywords" content="software development,engineering,rails,javascript,ruby">
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<% title "FAQ for dev.to()" %>
|
||||
|
||||
<%= content_for :page_meta do %>
|
||||
<link rel="canonical" href="https://dev.to/faq"/>
|
||||
<link rel="canonical" href="https://dev.to/faq" />
|
||||
<meta name="description" content="FAQ for dev.to()">
|
||||
<meta name="keywords" content="software development,engineering,rails,javascript,ruby">
|
||||
|
||||
|
|
@ -19,8 +19,6 @@
|
|||
<meta name="twitter:image:src" content="http://i.imgur.com/B4JNl1w.png">
|
||||
<% end %>
|
||||
|
||||
|
||||
|
||||
<!-- <p id="notice"><%#= notice %></p> -->
|
||||
|
||||
<div class="blank-space"></div>
|
||||
|
|
@ -37,7 +35,8 @@
|
|||
<p>
|
||||
<b>Who can post to <a href="/">dev.to</a>?</b>
|
||||
<br>
|
||||
Anyone! Yes, you have permission to make a new post of any kind as long as it meets our community guidelines and gets through common-sense spam filters. Your post is subject to removal at the discretion of the moderators if they believe it does not meet the requirements of our <a href="/code-of-conduct">code of conduct</a>.
|
||||
Anyone! Yes, you have permission to make a new post of any kind as long as it meets our community guidelines and gets through common-sense spam filters. Your post is subject to removal at the discretion of the moderators if they believe it does not meet the requirements of our
|
||||
<a href="/code-of-conduct">code of conduct</a>.
|
||||
</p>
|
||||
<p>
|
||||
<b>How do I get featured on the home page?</b>
|
||||
|
|
@ -55,13 +54,14 @@
|
|||
<p>
|
||||
<b>What about my post's Google ranking?</b>
|
||||
<br>
|
||||
You can set the <code>canonical_url</code> of your post before publishing so that Google knows where to send the link juice (that precious, precious link juice).
|
||||
You can set the
|
||||
<code>canonical_url</code> of your post before publishing so that Google knows where to send the link juice (that precious, precious link juice).
|
||||
</p>
|
||||
<p>
|
||||
<b>I found a bug (not a security vulnerability). How do I report it?</b>
|
||||
<br>
|
||||
Please create an issue on <a href="https://github.com/thepracticaldev/dev.to">our repo</a>.
|
||||
</p>
|
||||
</p>
|
||||
<p>
|
||||
<b>I found a security vulnerability. How do I report it?</b>
|
||||
<br>
|
||||
|
|
@ -78,12 +78,15 @@
|
|||
<p>
|
||||
<b>How does <a href="/">dev.to</a> make money</b>?
|
||||
<br>
|
||||
Right now, we count on our <a href="/membership">sustaining members</a> and sponsors. We also sell some merchandise on <a href="https://shop.dev.to">The DEV Shop.</a>
|
||||
Right now, we count on our
|
||||
<a href="/membership">sustaining members</a> and sponsors. We also sell some merchandise on
|
||||
<a href="https://shop.dev.to">The DEV Shop.</a>
|
||||
</p>
|
||||
<p>
|
||||
<b>What's up with your sponsors?</b>
|
||||
<br>
|
||||
If you have questions about sponsorships (i.e. how to turn off sponsor displays), visit our <a href="/sponsorship-info">sponsorship info</a> page.
|
||||
If you have questions about sponsorships (i.e. how to turn off sponsor displays), visit our
|
||||
<a href="/sponsorship-info">sponsorship info</a> page.
|
||||
</p>
|
||||
<p>
|
||||
<b>How do I delete my account?</b>
|
||||
|
|
@ -92,18 +95,20 @@
|
|||
</p>
|
||||
<p>
|
||||
<b>Do I own the articles that I publish?</b>
|
||||
Yes, you own the rights to the content you create and post on dev.to and you have the full authority to post, edit, and remove your content as you see fit. <br><br>
|
||||
By posting content on dev.to, you give us a nonexclusive license to publish it, including anything reasonably related to publishing it (like storing, displaying, reformatting, and distributing it).
|
||||
</p>
|
||||
Yes, you own the rights to the content you create and post on dev.to and you have the full authority to post, edit, and remove your content as you see fit.
|
||||
<br><br>
|
||||
By posting content on dev.to, you give us a nonexclusive license to publish it, including anything reasonably related to publishing it (like storing, displaying, reformatting, and distributing it).
|
||||
</p>
|
||||
<p>
|
||||
<b>Will you put ads on my posts' pages?</b>
|
||||
<br>
|
||||
No ad will ever be placed next to a user's post without their full partnership on the matter.
|
||||
</p>
|
||||
</p>
|
||||
<p>
|
||||
<b>How do I set a cover image on my post?</b>
|
||||
<br>
|
||||
Include `cover_image: [url]` in the front matter of your post. For more information on our editor, check out our <a href="/p/editor_guide">editor guide</a>.
|
||||
Include `cover_image: [url]` in the front matter of your post. For more information on our editor, check out our
|
||||
<a href="/p/editor_guide">editor guide</a>.
|
||||
</p>
|
||||
<p>
|
||||
<b>How does comment threading work?</b>
|
||||
|
|
@ -113,12 +118,14 @@
|
|||
<p>
|
||||
<b>I heard you were planning on open sourcing the code. Is that ever going to happen?</b>
|
||||
<br>
|
||||
Yes! In fact, we have already open sourced the dev.to platform. You can head over to <a href="https://github.com/thepracticaldev/dev.to" target="_blank" rel="noopener">our GitHub repository</a> to check it out!
|
||||
Yes! In fact, we have already open sourced the dev.to platform. You can head over to
|
||||
<a href="https://github.com/thepracticaldev/dev.to" target="_blank" rel="noopener">our GitHub repository</a> to check it out!
|
||||
</p>
|
||||
<h3><strong><a name="members"> Member FAQs</a></strong></h3>
|
||||
<h3><strong><a name="members"> Member FAQs</a></strong></h3>
|
||||
<p>
|
||||
<b>When will I get access to beta features?</b>
|
||||
We'll be rolling out beta features on a regular basis. Check <a href="/settings/membership">your settings page</a> to enable/disable them.
|
||||
We'll be rolling out beta features on a regular basis. Check
|
||||
<a href="/settings/membership">your settings page</a> to enable/disable them.
|
||||
</p>
|
||||
<p>
|
||||
<b>How do I claim my gift (stickers, swagpack, etc.)?</b>
|
||||
|
|
@ -127,36 +134,36 @@
|
|||
<p>
|
||||
<b>As a Level 3 member, I received my shirt but no stickers in the mail.</b>
|
||||
<br>We mail out the sticker packs separately from the shirts. Please be patient! If you don't recieve the stickers within three weeks (domestic) or six weeks (international), e-mail members@dev.to for help.
|
||||
</p>
|
||||
</p>
|
||||
<p>
|
||||
<b>How do I cancel my sustaining membership?</b>
|
||||
<br>
|
||||
Go to your settings page and click 'cancel membership'.
|
||||
Go to your settings page and click 'cancel membership'.
|
||||
</p>
|
||||
<p>
|
||||
<b>I have a billing issue.</b>
|
||||
<br>
|
||||
Please e-mail members@dev.to immediately.
|
||||
</p>
|
||||
Please e-mail members@dev.to immediately.
|
||||
</p>
|
||||
<p>
|
||||
<b>How are scholarships provided?</b>
|
||||
<br>
|
||||
Scholarship are provided through our scholarship fund which takes contributions from our sponsors and individual patrons.
|
||||
</p>
|
||||
Scholarship are provided through our scholarship fund which takes contributions from our sponsors and individual patrons.
|
||||
</p>
|
||||
<p>
|
||||
<b>How do I apply for a scholarship?</b>
|
||||
<br>
|
||||
You can fill out the scholarship application on our <a href="/p/scholarships">scholarships page</a>.
|
||||
You can fill out the scholarship application on our <a href="/p/scholarships">scholarships page</a>.
|
||||
</p>
|
||||
<p>
|
||||
<b>When will I hear back about my scholarship application?</b>
|
||||
<br>
|
||||
Within 1-2 weeks.
|
||||
</p>
|
||||
</p>
|
||||
<p>
|
||||
<b>I have more questions.</b>
|
||||
<br>
|
||||
Great! We're happy to answer them. Please email members@dev.to!
|
||||
</p>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,45 +1,46 @@
|
|||
<% title "O RLY Parody Book Generator for Slack" %>
|
||||
<%= stylesheet_link_tag 'application', media: 'all' %>
|
||||
<%= stylesheet_link_tag "application", media: "all" %>
|
||||
<link href='https://fonts.googleapis.com/css?family=Roboto' rel='stylesheet' type='text/css'>
|
||||
<%= javascript_include_tag 'application' %>
|
||||
|
||||
<%= javascript_include_tag "application" %>
|
||||
|
||||
<%= content_for :page_meta do %>
|
||||
<link rel="canonical" href="https://dev.to/rlyslack"/>
|
||||
<meta name="description" content="Insult your co-workers with snarky O RLY parody book covers. All without leaving Slack!">
|
||||
<meta name="keywords" content="software development,engineering,rails,javascript,ruby">
|
||||
<link rel="canonical" href="https://dev.to/rlyslack" />
|
||||
<meta name="description" content="Insult your co-workers with snarky O RLY parody book covers. All without leaving Slack!">
|
||||
<meta name="keywords" content="software development,engineering,rails,javascript,ruby">
|
||||
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://dev.to/rlyslack" />
|
||||
<meta property="og:title" content="O RLY Parody Book Generator for Slack" />
|
||||
<meta property="og:image" content="http://i.imgur.com/OIT6xoq.png" />
|
||||
<meta property="og:description" content="Insult your co-workers with snarky O RLY parody book covers. All without leaving Slack!" />
|
||||
<meta property="og:site_name" content="The Practical Dev" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://dev.to/rlyslack" />
|
||||
<meta property="og:title" content="O RLY Parody Book Generator for Slack" />
|
||||
<meta property="og:image" content="http://i.imgur.com/OIT6xoq.png" />
|
||||
<meta property="og:description" content="Insult your co-workers with snarky O RLY parody book covers. All without leaving Slack!" />
|
||||
<meta property="og:site_name" content="The Practical Dev" />
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:site" content="@ThePracticalDev">
|
||||
<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="http://i.imgur.com/OIT6xoq.png">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:site" content="@ThePracticalDev">
|
||||
<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="http://i.imgur.com/OIT6xoq.png">
|
||||
<% end %>
|
||||
|
||||
<div class="generator-container">
|
||||
|
||||
<h2><span class="typing"></span></h2>
|
||||
<img class="loading" src="https://www.versioneye.com/assets/loadingbar-90e87b61b1413986fbe5fd642252b7b459407b4287394c76bd619ab05f8b0c69.gif" alt="loading"/>
|
||||
<img class="cover" src="http://i.imgur.com/XZ1UPCt.png" alt="Making Your Own Parody Covers"/>
|
||||
<img class="loading" src="https://www.versioneye.com/assets/loadingbar-90e87b61b1413986fbe5fd642252b7b459407b4287394c76bd619ab05f8b0c69.gif" alt="loading" />
|
||||
<img class="cover" src="http://i.imgur.com/XZ1UPCt.png" alt="Making Your Own Parody Covers" />
|
||||
<a class="slack-butt" 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>
|
||||
<h4>Insult your co-workers with snarky O RLY parody book covers. All without leaving Slack!</h4>
|
||||
<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 class="loved">
|
||||
Loved by thousands of Slack teams!
|
||||
<br/>
|
||||
<br />
|
||||
<!-- Broken Deviant Art image -->
|
||||
<img src="http://orig14.deviantart.net/587e/f/2016/074/a/5/heart_pulse_by_lalovelycake-d9v9nml.gif" />
|
||||
</div>
|
||||
<div class="thanks">
|
||||
<h3>But don't thank <a target="_blank" rel="noopener" href="http://twitter.com/ThePracticalDev">@ThePracticalDev</a> for this one</h3>
|
||||
<h3>But don't thank
|
||||
<a target="_blank" rel="noopener" href="http://twitter.com/ThePracticalDev">@ThePracticalDev</a> for this one</h3>
|
||||
<h4>This tool was created with love by Charles Berlin (<a target="_blank" rel="noopener" href="http://twitter.com/AModelEngineer">@AModelEngineer</a>)
|
||||
</h4>
|
||||
</div>
|
||||
<div class="usage">
|
||||
<h3>Using the Tool</h3>
|
||||
|
|
@ -47,47 +48,49 @@
|
|||
/orly {title};{topText};{author};{image1-40(optional)};{theme0-16(optional)}
|
||||
</pre>
|
||||
<h3>Animal Codes</h3>
|
||||
<p><i>The animal images are from the <a href="https://etc.usf.edu/clipart/" target="_blank" rel="noopener">USF ClipArt ETC</a> project. They are used in this O RLY Cover Generator for the purposes of parody.</i></p>
|
||||
<div class="animal"><%= image_tag "1.png", alt: 'grizzly bear' %>1</div>
|
||||
<div class="animal"><%= image_tag "2.png", alt: 'cat' %>2</div>
|
||||
<div class="animal"><%= image_tag "3.png", alt: 'coyote' %>3</div>
|
||||
<div class="animal"><%= image_tag "4.png", alt: 'cow' %>4</div>
|
||||
<div class="animal"><%= image_tag "5.png", alt: 'horse' %>5</div>
|
||||
<div class="animal"><%= image_tag "6.png", alt: 'deer with antlers' %>6</div>
|
||||
<div class="animal"><%= image_tag "7.png", alt: 'baboon' %>7</div>
|
||||
<div class="animal"><%= image_tag "8.png", alt: 'wombat' %>8</div>
|
||||
<div class="animal"><%= image_tag "9.png", alt: 'platypus' %>9</div>
|
||||
<div class="animal"><%= image_tag "10.png", alt: 'bat' %>10</div>
|
||||
<div class="animal"><%= image_tag "11.png", alt: 'crested pelican' %>11</div>
|
||||
<div class="animal"><%= image_tag "12.png", alt: 'shoebill' %>12</div>
|
||||
<div class="animal"><%= image_tag "13.png", alt: 'wry-bill (bird)' %>13</div>
|
||||
<div class="animal"><%= image_tag "14.png", alt: 'raven' %>14</div>
|
||||
<div class="animal"><%= image_tag "15.png", alt: 'ostrich' %>15</div>
|
||||
<div class="animal"><%= image_tag "16.png", alt: 'chameleon' %>16</div>
|
||||
<div class="animal"><%= image_tag "17.png", alt: 'frog' %>17</div>
|
||||
<div class="animal"><%= image_tag "18.png", alt: 'mexican axolotl (salamander)' %>18</div>
|
||||
<div class="animal"><%= image_tag "19.png", alt: 'lizard' %>19</div>
|
||||
<div class="animal"><%= image_tag "20.png", alt: 'rattlesnake' %>20</div>
|
||||
<div class="animal"><%= image_tag "21.png", alt: 'catfish (sheatfish)' %>21</div>
|
||||
<div class="animal"><%= image_tag "22.png", alt: 'marbled angler fish' %>22</div>
|
||||
<div class="animal"><%= image_tag "23.png", alt: 'john dory fish' %>23</div>
|
||||
<div class="animal"><%= image_tag "24.png", alt: 'European lamprey or eel (stone sucker)' %>24</div>
|
||||
<div class="animal"><%= image_tag "25.png", alt: 'short sunfish' %>25</div>
|
||||
<div class="animal"><%= image_tag "26.png", alt: 'butterfly' %>26</div>
|
||||
<div class="animal"><%= image_tag "27.png", alt: 'moth' %>27</div>
|
||||
<div class="animal"><%= image_tag "28.png", alt: 'fly' %>28</div>
|
||||
<div class="animal"><%= image_tag "29.png", alt: 'dragonfly' %>29</div>
|
||||
<div class="animal"><%= image_tag "30.png", alt: 'stinkbug' %>30</div>
|
||||
<div class="animal"><%= image_tag "31.png", alt: 'spider' %>31</div>
|
||||
<div class="animal"><%= image_tag "32.png", alt: 'scorpion' %>32</div>
|
||||
<div class="animal"><%= image_tag "33.png", alt: 'crab' %>33</div>
|
||||
<div class="animal"><%= image_tag "34.png", alt: 'lobster' %>34</div>
|
||||
<div class="animal"><%= image_tag "35.png", alt: 'horseshoe crab' %>35</div>
|
||||
<div class="animal"><%= image_tag "36.png", alt: 'sea cucumber' %>36</div>
|
||||
<div class="animal"><%= image_tag "37.png", alt: 'abalone' %>37</div>
|
||||
<div class="animal"><%= image_tag "38.png", alt: 'jellyfish' %>38</div>
|
||||
<div class="animal"><%= image_tag "39.png", alt: 'coral' %>39</div>
|
||||
<div class="animal"><%= image_tag "40.png", alt: 'two mushrooms' %>40</div>
|
||||
<p><i>The animal images are from the
|
||||
<a href="https://etc.usf.edu/clipart/" target="_blank" rel="noopener">USF ClipArt ETC</a> project. They are used in this O RLY Cover Generator for the purposes of parody.</i>
|
||||
</p>
|
||||
<div class="animal"><%= image_tag "1.png", alt: "grizzly bear" %>1</div>
|
||||
<div class="animal"><%= image_tag "2.png", alt: "cat" %>2</div>
|
||||
<div class="animal"><%= image_tag "3.png", alt: "coyote" %>3</div>
|
||||
<div class="animal"><%= image_tag "4.png", alt: "cow" %>4</div>
|
||||
<div class="animal"><%= image_tag "5.png", alt: "horse" %>5</div>
|
||||
<div class="animal"><%= image_tag "6.png", alt: "deer with antlers" %>6</div>
|
||||
<div class="animal"><%= image_tag "7.png", alt: "baboon" %>7</div>
|
||||
<div class="animal"><%= image_tag "8.png", alt: "wombat" %>8</div>
|
||||
<div class="animal"><%= image_tag "9.png", alt: "platypus" %>9</div>
|
||||
<div class="animal"><%= image_tag "10.png", alt: "bat" %>10</div>
|
||||
<div class="animal"><%= image_tag "11.png", alt: "crested pelican" %>11</div>
|
||||
<div class="animal"><%= image_tag "12.png", alt: "shoebill" %>12</div>
|
||||
<div class="animal"><%= image_tag "13.png", alt: "wry-bill (bird)" %>13</div>
|
||||
<div class="animal"><%= image_tag "14.png", alt: "raven" %>14</div>
|
||||
<div class="animal"><%= image_tag "15.png", alt: "ostrich" %>15</div>
|
||||
<div class="animal"><%= image_tag "16.png", alt: "chameleon" %>16</div>
|
||||
<div class="animal"><%= image_tag "17.png", alt: "frog" %>17</div>
|
||||
<div class="animal"><%= image_tag "18.png", alt: "mexican axolotl (salamander)" %>18</div>
|
||||
<div class="animal"><%= image_tag "19.png", alt: "lizard" %>19</div>
|
||||
<div class="animal"><%= image_tag "20.png", alt: "rattlesnake" %>20</div>
|
||||
<div class="animal"><%= image_tag "21.png", alt: "catfish (sheatfish)" %>21</div>
|
||||
<div class="animal"><%= image_tag "22.png", alt: "marbled angler fish" %>22</div>
|
||||
<div class="animal"><%= image_tag "23.png", alt: "john dory fish" %>23</div>
|
||||
<div class="animal"><%= image_tag "24.png", alt: "European lamprey or eel (stone sucker)" %>24</div>
|
||||
<div class="animal"><%= image_tag "25.png", alt: "short sunfish" %>25</div>
|
||||
<div class="animal"><%= image_tag "26.png", alt: "butterfly" %>26</div>
|
||||
<div class="animal"><%= image_tag "27.png", alt: "moth" %>27</div>
|
||||
<div class="animal"><%= image_tag "28.png", alt: "fly" %>28</div>
|
||||
<div class="animal"><%= image_tag "29.png", alt: "dragonfly" %>29</div>
|
||||
<div class="animal"><%= image_tag "30.png", alt: "stinkbug" %>30</div>
|
||||
<div class="animal"><%= image_tag "31.png", alt: "spider" %>31</div>
|
||||
<div class="animal"><%= image_tag "32.png", alt: "scorpion" %>32</div>
|
||||
<div class="animal"><%= image_tag "33.png", alt: "crab" %>33</div>
|
||||
<div class="animal"><%= image_tag "34.png", alt: "lobster" %>34</div>
|
||||
<div class="animal"><%= image_tag "35.png", alt: "horseshoe crab" %>35</div>
|
||||
<div class="animal"><%= image_tag "36.png", alt: "sea cucumber" %>36</div>
|
||||
<div class="animal"><%= image_tag "37.png", alt: "abalone" %>37</div>
|
||||
<div class="animal"><%= image_tag "38.png", alt: "jellyfish" %>38</div>
|
||||
<div class="animal"><%= image_tag "39.png", alt: "coral" %>39</div>
|
||||
<div class="animal"><%= image_tag "40.png", alt: "two mushrooms" %>40</div>
|
||||
|
||||
<h3>Color Codes</h3>
|
||||
<div class="color" style="background-color:rgba(85,19,93,255)">0</div>
|
||||
|
|
@ -109,36 +112,37 @@
|
|||
<div class="color" style="background-color:rgba(133,152,0,255)">16</div>
|
||||
</div>
|
||||
<div class="thanks feedback">
|
||||
<h3>If you have any feedback, you can direct message <a target="_blank" rel="noopener" href="http://twitter.com/ThePracticalDev">@ThePracticalDev</a> any time!</h3>
|
||||
<h3>If you have any feedback, you can direct message
|
||||
<a target="_blank" rel="noopener" href="http://twitter.com/ThePracticalDev">@ThePracticalDev</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>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/typed.js/1.1.1/typed.min.js"></script>
|
||||
<script>
|
||||
$(".typing").typed({
|
||||
$(".typing").typed({
|
||||
strings: ["/orly Making Your Own Parody Covers; Don’t even leave Slack to do it; Kanye West"],
|
||||
contentType: 'text',
|
||||
loop: false,
|
||||
callback: function() {
|
||||
setTimeout(function(){
|
||||
callback: function () {
|
||||
setTimeout(function () {
|
||||
$("h2").animate({"margin-top": '100px'}, 300);
|
||||
setTimeout(function(){
|
||||
setTimeout(function () {
|
||||
$(".loading").fadeIn(700);
|
||||
setTimeout(function(){
|
||||
setTimeout(function () {
|
||||
$(".loading").hide();
|
||||
$(".cover").fadeIn(700);
|
||||
setTimeout(function(){
|
||||
$(".slack-butt").animate({width: '+=160px',"margin-left":"160px"}, 500);
|
||||
setTimeout(function () {
|
||||
$(".slack-butt").animate({width: '+=160px', "margin-left": "160px"}, 500);
|
||||
$("h4").fadeIn(1000);
|
||||
$(".loved").fadeIn(1000);
|
||||
$(".thanks").fadeIn(1000);
|
||||
$(".usage").fadeIn(1000);
|
||||
$(".second-slack").fadeIn(1000);
|
||||
$(".second-slack").css("display","block");
|
||||
},550)
|
||||
},680)
|
||||
},320)
|
||||
},150)
|
||||
$(".second-slack").css("display", "block");
|
||||
}, 550)
|
||||
}, 680)
|
||||
}, 320)
|
||||
}, 150)
|
||||
},
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<% title "About The Practical Dev" %>
|
||||
|
||||
<%= content_for :page_meta do %>
|
||||
<link rel="canonical" href="https://dev.to/p/information"/>
|
||||
<link rel="canonical" href="https://dev.to/p/information" />
|
||||
<meta name="description" content="All information about The Practical Dev">
|
||||
<meta name="keywords" content="software development,engineering,rails,javascript,ruby">
|
||||
|
||||
|
|
@ -20,13 +20,15 @@
|
|||
<% end %>
|
||||
|
||||
<style>
|
||||
.key-links{
|
||||
.key-links {
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
|
||||
}
|
||||
.social-links{
|
||||
|
||||
.social-links {
|
||||
text-align: center;
|
||||
padding: 40px 0px;
|
||||
}
|
||||
|
||||
.social-links img {
|
||||
width: 35px;
|
||||
height: 35px;
|
||||
|
|
@ -54,13 +56,13 @@
|
|||
<li><a href="/contact">Contact</a></li>
|
||||
<li><a href="/security">Vulnerabilities/Bug Bounty</a></li>
|
||||
<li><a href="/code-of-conduct">Code of Conduct</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="social-links">
|
||||
<a href="https://twitter.com/thepracticaldev" target="_blank" rel="noopener"><img src="<%= asset_path("twitter-logo.svg") %>" /></a>
|
||||
<a href="https://github.com/thepracticaldev" target="_blank" rel="noopener"><img src="<%= asset_path("github-logo.svg") %>" /></a>
|
||||
<a href="https://instagram.com/thepracticaldev" target="_blank" rel="noopener"><img src="<%= asset_path("instagram-logo.svg") %>" /></a>
|
||||
<a href="https://facebook.com/thepracticaldev" target="_blank" rel="noopener"><img src="<%= asset_path("facebook-logo.svg") %>" /></a>
|
||||
<a href="https://twitch.tv/thepracticaldev" target="_blank" rel="noopener"><img src="<%= asset_path("twitch-logo.svg") %>" /></a>
|
||||
<a href="https://twitch.tv/thepracticaldev" target="_blank" rel="noopener"><img src="<%= asset_path("twitch-logo.svg") %>" /></a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
<% if user_signed_in? %>
|
||||
<%= javascript_pack_tag 'Chat', defer: true %>
|
||||
<%= javascript_pack_tag "Chat", defer: true %>
|
||||
<% end %>
|
||||
<% title "DEV Live 📡👩💻👨💻👩💻👨💻" %>
|
||||
<link rel="canonical" href="https://dev.to/live"/>
|
||||
<link rel="canonical" href="https://dev.to/live" />
|
||||
<meta name="description" content="DEV LIVE">
|
||||
<meta name="keywords" content="software development,engineering,rails,javascript,ruby">
|
||||
|
||||
|
|
@ -20,9 +20,9 @@
|
|||
<meta name="twitter:image:src" content="https://thepracticaldev.s3.amazonaws.com/i/bqzj1pwho9e0jicqo44s.png">
|
||||
|
||||
<style>
|
||||
<% cache "live-page-css-#{ApplicationConfig["DEPLOYMENT_SIGNATURE"].to_s}", expires_in: 1.hour do %>
|
||||
<%= Rails.application.assets['live.css'].to_s.html_safe %>
|
||||
<% end %>
|
||||
<% cache "live-page-css-#{ApplicationConfig['DEPLOYMENT_SIGNATURE']}", expires_in: 1.hour do %>
|
||||
<%= Rails.application.assets["live.css"].to_s.html_safe %>
|
||||
<% end %>
|
||||
</style>
|
||||
|
||||
<% if current_user&.has_role?(:super_admin) %>
|
||||
|
|
@ -32,26 +32,33 @@
|
|||
<iframe class="live-video" src="//iframe.dacast.com/b/105417/c/465464" width="1920" height="1080" frameborder="0" scrolling="no" allow="autoplay" allowfullscreen webkitallowfullscreen mozallowfullscreen oallowfullscreen msallowfullscreen></iframe>
|
||||
</div>
|
||||
<div class="live-chat-wrapper">
|
||||
<div id="chat" class="live-chat" data-pusher-key="<%= ENV["PUSHER_KEY"] %>" data-chat-channels="<%= @chat_channels %>" data-chat-options="<%= {showChannelsList:false, showTimestamp: false, activeChannelId: @active_channel.id}.to_json %>">
|
||||
<div id="chat" class="live-chat" data-pusher-key="<%= ENV["PUSHER_KEY"] %>" data-chat-channels="<%= @chat_channels %>" data-chat-options="<%= { showChannelsList: false, showTimestamp: false, activeChannelId: @active_channel.id }.to_json %>">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="live-under-message">DEV Live is in beta and currently does not support Safari. We recommend Chrome or Firefox for optimal viewing experience. If you are having issues, contact
|
||||
<a href="mailto:members@dev.to">members@dev.to</a> for support. ❤️
|
||||
</div>
|
||||
</div>
|
||||
<div class="live-under-message">DEV Live is in beta and currently does not support Safari. We recommend Chrome or Firefox for optimal viewing experience. If you are having issues, contact <a href="mailto:members@dev.to">members@dev.to</a> for support. ❤️</div>
|
||||
<% elsif false %>
|
||||
<div class="live-upcoming-info">
|
||||
<h1 style="text-align: center"><span style="display: inline-block">DEV LIVE <%= image_tag "emoji/emoji-one-television.png", style: "width: 55px; height: 50px; vertical-align: text-top;" %></span></h1>
|
||||
<h1 style="text-align: center">
|
||||
<span style="display: inline-block">DEV LIVE <%= image_tag "emoji/emoji-one-television.png", style: "width: 55px; height: 50px; vertical-align: text-top;" %></span>
|
||||
</h1>
|
||||
<h4 style="text-align: center">
|
||||
<i>Our event is starting soon! Check back very shortly.
|
||||
<i>Our event is starting soon! Check back very shortly.</i>
|
||||
</h4>
|
||||
</div>
|
||||
<script>
|
||||
setTimeout(function(){
|
||||
setTimeout(function () {
|
||||
window.location.reload(1);
|
||||
}, 2500);
|
||||
</script>
|
||||
<% elsif false %>
|
||||
<div class="live-upcoming-info">
|
||||
<h1 style="text-align: center;font-size:3.5em;margin:-100px auto">DEV IS <span style="display: inline-block">LIVE <%= image_tag "emoji/emoji-one-television.png", style: "width: 60px;" %></span></h1>
|
||||
<h1 style="text-align: center;font-size:3.5em;margin:-100px auto">DEV IS
|
||||
<span style="display: inline-block">LIVE <%= image_tag "emoji/emoji-one-television.png", style: "width: 60px;" %></span>
|
||||
</h1>
|
||||
<%= render "devise/registrations/registration_form" %>
|
||||
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<% title "Markdown Basics" %>
|
||||
|
||||
<%= content_for :page_meta do %>
|
||||
<link rel="canonical" href="https://dev.to/p/markdown_basics"/>
|
||||
<link rel="canonical" href="https://dev.to/p/markdown_basics" />
|
||||
<meta name="description" content="dev.to | markdown basics">
|
||||
<meta name="keywords" content="software development,engineering,rails,javascript,ruby">
|
||||
|
||||
|
|
@ -14,11 +14,13 @@
|
|||
</div>
|
||||
<div class="body">
|
||||
|
||||
<p>Below are some examples of commonly used markdown syntax. If you want to dive deeper, check out <a href="https://github.com/adam-p/markdown-here/wiki/Markdown-Here-Cheatsheet" target="_blank" rel="noopener">this cheat sheet.</a></p>
|
||||
<p>Below are some examples of commonly used markdown syntax. If you want to dive deeper, check out
|
||||
<a href="https://github.com/adam-p/markdown-here/wiki/Markdown-Here-Cheatsheet" target="_blank" rel="noopener">this cheat sheet.</a>
|
||||
</p>
|
||||
|
||||
<h3><strong>Bold & Italic</strong></h3>
|
||||
<p> <em>Italics</em>: <code>*asterisks* or _underscores_</code></p>
|
||||
<p> <strong>Bold</strong>: <code>**double asterisks** or __double underscores__</code></p>
|
||||
<p><em>Italics</em>: <code>*asterisks* or _underscores_</code></p>
|
||||
<p><strong>Bold</strong>: <code>**double asterisks** or __double underscores__</code></p>
|
||||
|
||||
<h3><strong>Links</strong></h3>
|
||||
<p><a href="https://dev.to">I'm an inline link</a>: <code>[I'm an inline link](put-link-here)</code></p>
|
||||
|
|
@ -39,11 +41,14 @@
|
|||
<h6>Six '#'s for a h6 header</h6>
|
||||
|
||||
<h2><strong><u>Liquid Tags</u></strong></h2>
|
||||
<p>We support native <a href="https://shopify.github.io/liquid/" target="_blank" rel="noopener">Liquid tags</a> in our editor, but have created our own custom tags listed below:</p>
|
||||
<p>We support native
|
||||
<a href="https://shopify.github.io/liquid/" target="_blank" rel="noopener">Liquid tags</a> in our editor, but have created our own custom tags listed below:
|
||||
</p>
|
||||
|
||||
<h3><strong>Twitter Embed</strong></h3>
|
||||
<p>Using the twitter Liquid tag will allow the tweet to pre-render from the server, providing your reader with a better experience. All you need is the tweet <code>id</code> from the url.
|
||||
<code>{% twitter 834439977220112384 %}</code></p>
|
||||
<p>Using the twitter Liquid tag will allow the tweet to pre-render from the server, providing your reader with a better experience. All you need is the tweet
|
||||
<code>id</code> from the url.
|
||||
<code>{% twitter 834439977220112384 %}</code></p>
|
||||
|
||||
<h3><strong>GitHub Issue or Comment Embed</strong></h3>
|
||||
<p>All you need is the GitHub issue or comment URL.</p>
|
||||
|
|
@ -68,7 +73,9 @@
|
|||
<p>One specific edge case is with using the <code>raw</code> tag. To properly escape it, use this format:</p>
|
||||
<p><code>`{% raw %}{{site.SOMETHING }} {% ``endraw`` %}`</code></p>
|
||||
|
||||
<h4><a href="https://github.com/adam-p/markdown-here/wiki/Markdown-Here-Cheatsheet" target="_blank" rel="noopener">Here's the Markdown cheatsheet again for reference.</a></h4>
|
||||
<h4>
|
||||
<a href="https://github.com/adam-p/markdown-here/wiki/Markdown-Here-Cheatsheet" target="_blank" rel="noopener">Here's the Markdown cheatsheet again for reference.</a>
|
||||
</h4>
|
||||
Happy posting! 📝
|
||||
<div class="blank-space"></div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<% title "The DEV Sustaining Membership" %>
|
||||
|
||||
<%= content_for :page_meta do %>
|
||||
<link rel="canonical" href="https://dev.to/membership"/>
|
||||
<link rel="canonical" href="https://dev.to/membership" />
|
||||
<meta name="description" content="dev.to | Membership">
|
||||
<meta name="keywords" content="software development,engineering,rails,javascript,ruby">
|
||||
|
||||
|
|
@ -23,47 +23,55 @@
|
|||
<div class="blank-space"></div>
|
||||
|
||||
<style>
|
||||
body{
|
||||
body {
|
||||
background: #f2f3ff;
|
||||
}
|
||||
.container .body p{
|
||||
margin:1.2em 0 1.50em;
|
||||
|
||||
.container .body p {
|
||||
margin: 1.2em 0 1.50em;
|
||||
|
||||
}
|
||||
.container .body h1{
|
||||
margin:1.3em 0 1.50em;
|
||||
|
||||
.container .body h1 {
|
||||
margin: 1.3em 0 1.50em;
|
||||
}
|
||||
.body .cta{
|
||||
font-size:1.5em;
|
||||
|
||||
.body .cta {
|
||||
font-size: 1.5em;
|
||||
border: 4px solid #3bccbb;
|
||||
border-radius: 3px;
|
||||
vertical-align: 2px;
|
||||
padding: 8px 12px;
|
||||
}
|
||||
.levels-wrapper{
|
||||
|
||||
.levels-wrapper {
|
||||
position: relative;
|
||||
margin: calc(2vw + 10px) auto;
|
||||
}
|
||||
.membership-levels{
|
||||
|
||||
.membership-levels {
|
||||
width: 86%;
|
||||
max-width: 500px;
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
|
||||
font-size:0.9em;
|
||||
margin:auto;
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
|
||||
font-size: 0.9em;
|
||||
margin: auto;
|
||||
}
|
||||
.single-membership-level{
|
||||
|
||||
.single-membership-level {
|
||||
border: 2px solid #918ffa;
|
||||
margin-bottom: 15px;
|
||||
border-radius: 3px;
|
||||
box-shadow: 5px 8px 0px #d7d9f8;
|
||||
}
|
||||
.single-level-header{
|
||||
|
||||
.single-level-header {
|
||||
background: #557de8;
|
||||
color: white;
|
||||
padding: 5px;
|
||||
text-align: center;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.container .body .single-level-header img {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
|
|
@ -71,41 +79,47 @@
|
|||
left: auto;
|
||||
vertical-align: -4px;
|
||||
}
|
||||
.single-level-body{
|
||||
|
||||
.single-level-body {
|
||||
padding: 15px;
|
||||
}
|
||||
.single-level-body .img-wrapper{
|
||||
|
||||
.single-level-body .img-wrapper {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.container .body .single-level-body img {
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
display: inline-block;
|
||||
left: auto;
|
||||
}
|
||||
.enroll-form{
|
||||
|
||||
.enroll-form {
|
||||
margin-top: 10px;
|
||||
padding: 150px 0px;
|
||||
text-align:center;
|
||||
text-align: center;
|
||||
width: calc(100% + 159px);
|
||||
margin-left: -79px;
|
||||
margin-bottom: -102px;
|
||||
font-size:22px;
|
||||
background: #ccfff9 url(<%= asset_path 'triple-unicorn.png' %>) no-repeat center center;
|
||||
font-size: 22px;
|
||||
background: #ccfff9 url(<%= asset_path "triple-unicorn.png" %>) no-repeat center center;
|
||||
}
|
||||
|
||||
.user-amount-wrapper{
|
||||
position:relative;
|
||||
.user-amount-wrapper {
|
||||
position: relative;
|
||||
width: 300px;
|
||||
max-width:25%;
|
||||
max-width: 25%;
|
||||
margin: 0px auto;
|
||||
display: inline-block;
|
||||
}
|
||||
.stripe-button-wrapper{
|
||||
|
||||
.stripe-button-wrapper {
|
||||
display: inline-block;
|
||||
vertical-align: -7px;
|
||||
}
|
||||
.amount-input{
|
||||
|
||||
.amount-input {
|
||||
width: calc(100% - 85px);
|
||||
max-width: 130px;
|
||||
padding: 18px;
|
||||
|
|
@ -113,36 +127,42 @@
|
|||
padding-left: 80px;
|
||||
border: 1px solid #3bccbb;
|
||||
}
|
||||
.amount-currency-indicator{
|
||||
|
||||
.amount-currency-indicator {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top:0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
width: 60px;
|
||||
text-align:center;
|
||||
padding-top:15px;
|
||||
text-align: center;
|
||||
padding-top: 15px;
|
||||
padding-left: 2px;
|
||||
border-right: 1px solid #3bccbb;
|
||||
color: #1faf9f;
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
|
||||
}
|
||||
input[type=number]::-webkit-inner-spin-button {
|
||||
display:none;
|
||||
|
||||
input[type=number]::-webkit-inner-spin-button {
|
||||
display: none;
|
||||
}
|
||||
.credit-card-button{
|
||||
|
||||
.credit-card-button {
|
||||
margin-left: 15px;
|
||||
}
|
||||
.signin-container{
|
||||
padding-top:150px;
|
||||
text-align:center;
|
||||
|
||||
.signin-container {
|
||||
padding-top: 150px;
|
||||
text-align: center;
|
||||
|
||||
}
|
||||
.signin-container .cta{
|
||||
|
||||
.signin-container .cta {
|
||||
margin: 15px 10px 0px;
|
||||
display: inline-block;
|
||||
min-width: 150px;
|
||||
}
|
||||
#notice{
|
||||
|
||||
#notice {
|
||||
text-align: center;
|
||||
color: red;
|
||||
padding: 5px;
|
||||
|
|
@ -158,7 +178,7 @@
|
|||
</div>
|
||||
<div class="body">
|
||||
<% cache("membership-shared-area", expires_in: 1.hour) do %>
|
||||
<img src="<%= asset_path 'sustaining-membership.svg' %>" style="height:180px;margin-top:30px;"/>
|
||||
<img src="<%= asset_path "sustaining-membership.svg" %>" style="height:180px;margin-top:30px;" />
|
||||
<h1 style="font-size:1.9em;font-weight:600;text-align:center;">
|
||||
The DEV Community<br>Sustaining Membership
|
||||
</h1>
|
||||
|
|
@ -166,13 +186,14 @@
|
|||
Our community is special because of each and every one of you. <br>
|
||||
</p>
|
||||
<p>
|
||||
By contributing at <b>any level</b>, your support will help us continue our work of building a community that is open, kind, and constructive for programmers everywhere.
|
||||
By contributing at
|
||||
<b>any level</b>, your support will help us continue our work of building a community that is open, kind, and constructive for programmers everywhere.
|
||||
</p>
|
||||
<p>
|
||||
We’ve put together some goodies that are described below and we’ll be expanding these perks over time, so you can expect even more in the long run.
|
||||
</p>
|
||||
<p>
|
||||
Thanks for (at least thinking about) becoming a dev.to sustaining member. The fact that you’re reading this means a lot to us.
|
||||
Thanks for (at least thinking about) becoming a dev.to sustaining member. The fact that you’re reading this means a lot to us.
|
||||
</p>
|
||||
<div class="levels-wrapper">
|
||||
<div class="membership-levels">
|
||||
|
|
@ -181,11 +202,11 @@
|
|||
<div class="single-level-body">
|
||||
Your support is appreciated. For <span style="background-color:#fefa87">$1 a month</span>, you'll get:
|
||||
<ul>
|
||||
<li><strong>Access to beta features </li>
|
||||
<li><strong>Access to beta features</strong></li>
|
||||
<li> Added to our "Wall of Patrons and Scholars" with a link to your profile</strong> </li>
|
||||
</ul>
|
||||
<div class="img-wrapper">
|
||||
<img src="<%= asset_path 'emoji-apple-hands.png' %>" />
|
||||
<img src="<%= asset_path "emoji-apple-hands.png" %>" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -194,13 +215,13 @@
|
|||
<div class="single-level-body">
|
||||
Double digits! For <span style="background-color:#fefa87">$10 a month</span>, you'll get:
|
||||
<ul>
|
||||
<li><strong>An exclusive sticker pack mailed to your door</li>
|
||||
<li><strong>An exclusive sticker pack mailed to your door</strong></li>
|
||||
<li>25% off <a href="https://shop.dev.to">The DEV Shop</a> (forever!)</li>
|
||||
<li>Added to our "Wall of Patrons and Scholars" with a link to your profile</strong></li>
|
||||
<li> Access to beta features </li>
|
||||
<li><strong>Added to our "Wall of Patrons and Scholars" with a link to your profile</strong></li>
|
||||
<li> Access to beta features</li>
|
||||
</ul>
|
||||
<div class="img-wrapper">
|
||||
<img src="<%= asset_path 'emoji-apple-shopping-bags.png' %>" />
|
||||
<img src="<%= asset_path "emoji-apple-shopping-bags.png" %>" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -210,21 +231,22 @@
|
|||
Woohooo! For <span style="background-color:#fefa87">$25 a month</span>, you'll get:
|
||||
<ul>
|
||||
<li>Stickers + t-shirt combo pack </strong> </li>
|
||||
<li>25% off <a href="https://shop.dev.to">The DEV Shop</a> (forever!) </li>
|
||||
<li>25% off <a href="https://shop.dev.to">The DEV Shop</a> (forever!)</li>
|
||||
<li> Added to our "Wall of Patrons and Scholars" with a link to your profile</li>
|
||||
<li> Access to beta features </li>
|
||||
<li> Access to beta features</li>
|
||||
</ul>
|
||||
<div class="img-wrapper">
|
||||
<img src="<%= asset_path 'emoji-apple-backpack.png' %>" />
|
||||
<img src="<%= asset_path "emoji-apple-backpack.png" %>" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="single-membership-level">
|
||||
<div class="single-level-header">Level 4</div>
|
||||
<div class="single-level-body">
|
||||
When you contribute <span style="background-color:#fefa87"> over $25 a month</span>, your additional support goes toward our diversity/need-based scholarship fund, providing workshop passes to members who cannot afford it. Plus, all the perks from above.
|
||||
When you contribute
|
||||
<span style="background-color:#fefa87"> over $25 a month</span>, your additional support goes toward our diversity/need-based scholarship fund, providing workshop passes to members who cannot afford it. Plus, all the perks from above.
|
||||
<div class="img-wrapper">
|
||||
<img src="<%= asset_path 'emoji-apple-revolving-hearts.png' %>" />
|
||||
<img src="<%= asset_path "emoji-apple-revolving-hearts.png" %>" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -232,11 +254,12 @@
|
|||
<div class="single-level-header">Level Triple-Unicorn
|
||||
</div>
|
||||
<div class="single-level-body">
|
||||
For <span style="background-color:#fefa87">$1000 a month</span>, your name will get the featured position on the Wall of Patrons and Scholars, everything described above, monthly private conversations with the DEV leadership, and an actual unicorn. Provided we can find one.
|
||||
For
|
||||
<span style="background-color:#fefa87">$1000 a month</span>, your name will get the featured position on the Wall of Patrons and Scholars, everything described above, monthly private conversations with the DEV leadership, and an actual unicorn. Provided we can find one.
|
||||
<div class="img-wrapper">
|
||||
<img src="<%= asset_path 'emoji-apple-unicorn.png' %>" />
|
||||
<img src="<%= asset_path 'emoji-apple-unicorn.png' %>" />
|
||||
<img src="<%= asset_path 'emoji-apple-unicorn.png' %>" />
|
||||
<img src="<%= asset_path "emoji-apple-unicorn.png" %>" />
|
||||
<img src="<%= asset_path "emoji-apple-unicorn.png" %>" />
|
||||
<img src="<%= asset_path "emoji-apple-unicorn.png" %>" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -289,7 +312,7 @@
|
|||
}
|
||||
});
|
||||
|
||||
document.getElementById('custom-stripe-button').addEventListener('click', function(e) {
|
||||
document.getElementById('custom-stripe-button').addEventListener('click', function (e) {
|
||||
e.preventDefault();
|
||||
openStripeForm();
|
||||
});
|
||||
|
|
@ -312,8 +335,9 @@
|
|||
});
|
||||
}
|
||||
}
|
||||
|
||||
// Close Checkout on page navigation:
|
||||
window.addEventListener('popstate', function() {
|
||||
window.addEventListener('popstate', function () {
|
||||
handler.close();
|
||||
});
|
||||
}
|
||||
|
|
@ -333,19 +357,18 @@
|
|||
|
||||
var dataRequester;
|
||||
if (window.XMLHttpRequest) {
|
||||
dataRequester = new XMLHttpRequest();
|
||||
dataRequester = new XMLHttpRequest();
|
||||
} else {
|
||||
dataRequester = new ActiveXObject('Microsoft.XMLHTTP');
|
||||
dataRequester = new ActiveXObject('Microsoft.XMLHTTP');
|
||||
}
|
||||
dataRequester.onreadystatechange = function() {
|
||||
dataRequester.onreadystatechange = function () {
|
||||
if (dataRequester.readyState === XMLHttpRequest.DONE && dataRequester.status === 200) {
|
||||
document.getElementById('membership-form-wrapper').innerHTML = dataRequester.response;
|
||||
setTimeout(function(){
|
||||
setTimeout(function () {
|
||||
initializeStripe();
|
||||
},250)
|
||||
}, 250)
|
||||
}
|
||||
}
|
||||
dataRequester.open('GET', '/p/membership_form', true);
|
||||
dataRequester.send();
|
||||
</script>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<% if user_signed_in? && current_user.monthly_dues == 0 %>
|
||||
<div id="member-email-holder" data-email="<%= current_user.email %>"></div>
|
||||
<%= form_tag "/membership-action", id: "credit-card-form", class:"enroll-form" do %>
|
||||
<%= form_tag "/membership-action", id: "credit-card-form", class: "enroll-form" do %>
|
||||
<div class="user-amount-wrapper">
|
||||
<%= number_field_tag :input_amount, 25, class: "amount-input", step: "any", min: "1", id: "amount-input" %>
|
||||
<div class="amount-currency-indicator">$</div>
|
||||
|
|
@ -17,13 +17,13 @@
|
|||
<div class="signin-container">
|
||||
<img style="width:30px; display:inline;" src="<%= asset_path("emoji/emoji-sparkling-heart.png") %>" />
|
||||
<img style="width:30px; display:inline;" src="<%= asset_path("emoji/emoji-sparkling-heart.png") %>" />
|
||||
<img style="width:30px; display:inline;" src="<%= asset_path("emoji/emoji-sparkling-heart.png") %>" />
|
||||
<img style="width:30px; display:inline;" src="<%= asset_path("emoji/emoji-sparkling-heart.png") %>" />
|
||||
<h2>Sign in to get your membership </h2>
|
||||
<a href="/users/auth/twitter?callback_url=<%= ApplicationConfig["APP_PROTOCOL"] %><%= ApplicationConfig["APP_DOMAIN"] %>/users/auth/twitter/callback" class="cta cta-button" data-no-instant>
|
||||
TWITTER
|
||||
</a>
|
||||
<a href="/users/auth/github?state=membership-cta" class="cta cta-button" data-no-instant>
|
||||
GITHUB
|
||||
</a>
|
||||
</a>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<% title "Now" %>
|
||||
|
||||
<%= content_for :page_meta do %>
|
||||
<link rel="canonical" href="https://dev.to/now"/>
|
||||
<link rel="canonical" href="https://dev.to/now" />
|
||||
<meta name="description" content="dev.to | Get started now">
|
||||
<meta name="keywords" content="software development,engineering,rails,javascript,ruby">
|
||||
|
||||
|
|
@ -10,25 +10,26 @@
|
|||
<div class="blank-space"></div>
|
||||
|
||||
<style>
|
||||
.cta-button{
|
||||
padding:15px;
|
||||
display:block;
|
||||
.cta-button {
|
||||
padding: 15px;
|
||||
display: block;
|
||||
margin: auto;
|
||||
text-align:center;
|
||||
text-align: center;
|
||||
border-radius: 5px;
|
||||
font-weight:600;
|
||||
font-size:2em;
|
||||
line-height:1.2em;
|
||||
margin-bottom:0.4em;
|
||||
font-weight: 600;
|
||||
font-size: 2em;
|
||||
line-height: 1.2em;
|
||||
margin-bottom: 0.4em;
|
||||
}
|
||||
.cta-button:hover{
|
||||
opacity:0.92;
|
||||
|
||||
.cta-button:hover {
|
||||
opacity: 0.92;
|
||||
color: black;
|
||||
}
|
||||
</style>
|
||||
<div class="container article">
|
||||
<div style="text-align:center;margin-bottom:15px;height:315px;">
|
||||
<img src="<%= asset_path('clock.png') %>" />
|
||||
<img src="<%= asset_path("clock.png") %>" />
|
||||
</div>
|
||||
<div class="title" style="text-align:center">
|
||||
<h1 style="font-weight:600">
|
||||
|
|
@ -37,32 +38,39 @@
|
|||
</div>
|
||||
<div class="body">
|
||||
<p>
|
||||
One of the most common things we hear developers say they <em>wished they were doing more of</em>, is <b>writing about their work</b> and <b>sharing</b> it with others. <a href="https://dev.to">dev.to</a> is fundamentally built to help facilitate that process. It's well established that writing and sharing your work is just about the best thing you can do to help your own understanding and boost your career prospects.
|
||||
One of the most common things we hear developers say they <em>wished they were doing more of</em>, is
|
||||
<b>writing about their work</b> and <b>sharing</b> it with others.
|
||||
<a href="https://dev.to">dev.to</a> is fundamentally built to help facilitate that process. It's well established that writing and sharing your work is just about the best thing you can do to help your own understanding and boost your career prospects.
|
||||
</p>
|
||||
<p>
|
||||
As the saying goes, "The best time to plant a tree was 20 years ago. The second best time is now." In order to help you take the leap, we've created some templates for your first DEV post. You're welcome to post about anything related to software development, but you may want to start with one of these templates.
|
||||
</p>
|
||||
</p>
|
||||
<p>
|
||||
Simply click one of these blue buttons to launch a ready-made template in our new article editor. Have fun!
|
||||
Simply click one of these blue buttons to launch a ready-made template in our new article editor. Have fun!
|
||||
</p>
|
||||
<p>
|
||||
<a href="/new/til" class="cta cta-button">Today I Learned</a>
|
||||
What new concept have you learned recently? (it doesn't have to be <em>today</em>) There may be some other devs out there who could benefit from a bit of knowledge share. <a href="https://dev.to/shriharshmishra/today-i-learned-some-vim-tricks-5d3">Here's an example</a>
|
||||
What new concept have you learned recently? (it doesn't have to be
|
||||
<em>today</em>) There may be some other devs out there who could benefit from a bit of knowledge share.
|
||||
<a href="https://dev.to/shriharshmishra/today-i-learned-some-vim-tricks-5d3">Here's an example</a>
|
||||
</p>
|
||||
<p>
|
||||
<a href="/new/inthirtyseconds" class="cta cta-button">X In 30 Seconds</a>
|
||||
Flex your ability to explain something simply and briefly. Can you cover a topic in only one paragraph? Give it a shot. <a href="https://dev.to/ross/reduxjs-in-30-seconds-5hj">Here's an example</a>.
|
||||
Flex your ability to explain something simply and briefly. Can you cover a topic in only one paragraph? Give it a shot.
|
||||
<a href="https://dev.to/ross/reduxjs-in-30-seconds-5hj">Here's an example</a>.
|
||||
</p>
|
||||
<p>
|
||||
<a href="/new/lettertomyself" class="cta cta-button">Letter to My Past Self</a>
|
||||
Now that you've made some progress in your journey, what realization have you made that could have saved you from some struggle earlier in your career? <a href="https://dev.to/mohanarpit/letter-to-my-21-years-self-481">Here's an example</a>
|
||||
Now that you've made some progress in your journey, what realization have you made that could have saved you from some struggle earlier in your career?
|
||||
<a href="https://dev.to/mohanarpit/letter-to-my-21-years-self-481">Here's an example</a>
|
||||
</p>
|
||||
<p>
|
||||
The <a href="https://dev.to">dev.to</a> editor uses <em>Markdown</em> syntax. <a href="/p/editor_guide">Here's the guide</a>. Thanks so much for being a caring member of the DEV community. We're all in this together.
|
||||
The <a href="https://dev.to">dev.to</a> editor uses <em>Markdown</em> syntax.
|
||||
<a href="/p/editor_guide">Here's the guide</a>. Thanks so much for being a caring member of the DEV community. We're all in this together.
|
||||
</p>
|
||||
<center>
|
||||
❤️
|
||||
</center>
|
||||
<br/>
|
||||
<br />
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<% title "Organization Accounts" %>
|
||||
|
||||
<%= content_for :page_meta do %>
|
||||
<link rel="canonical" href="https://dev.to/organization-info"/>
|
||||
<link rel="canonical" href="https://dev.to/organization-info" />
|
||||
<meta name="description" content="Information about organization accounts on DEV">
|
||||
<meta name="keywords" content="software development,engineering,rails,javascript,ruby">
|
||||
|
||||
|
|
@ -28,50 +28,66 @@
|
|||
</div>
|
||||
<div class="body">
|
||||
<p>
|
||||
Organization accounts are a <b>FREE</b> option for companies, open-source projects, and anyone else that wants to participate on DEV as part of a broader group.
|
||||
Organization accounts are a
|
||||
<b>FREE</b> option for companies, open-source projects, and anyone else that wants to participate on DEV as part of a broader group.
|
||||
</p>
|
||||
<p>
|
||||
To <b>create</b> or <b>join</b> an organization, simply head to your <a href="/settings/organization">settings page</a>.
|
||||
To <b>create</b> or <b>join</b> an organization, simply head to your
|
||||
<a href="/settings/organization">settings page</a>.
|
||||
</p>
|
||||
|
||||
<p>Here are a few benefits:</p>
|
||||
<ul>
|
||||
<li><b>Dedicated Landing Page</b>: Your organization will now have a page to display key information, a list of organization members, and more.</li>
|
||||
<li><b>Organization Branding on Posts</b>: Your team will have the ability to enable org branding on new posts, which will show up in the header, sidebar, and footer.</li>
|
||||
<li><b>Call-to-Action on Posts</b>: Drive readers towards your products and services with a call-to-action unit alongside your posts.</li>
|
||||
<li><b>Enhanced Analytics</b>: Measure performance by keeping track of view counts, reactions, and CTA clicks on each post.</li>
|
||||
<li><b>Build a Following</b>: As community members follow your organization, they’ll receive notifications of new posts, and your content will show up more prominently in their feed.</li>
|
||||
|
||||
<li>
|
||||
<b>Dedicated Landing Page</b>: Your organization will now have a page to display key information, a list of organization members, and more.
|
||||
</li>
|
||||
<li>
|
||||
<b>Organization Branding on Posts</b>: Your team will have the ability to enable org branding on new posts, which will show up in the header, sidebar, and footer.
|
||||
</li>
|
||||
<li>
|
||||
<b>Call-to-Action on Posts</b>: Drive readers towards your products and services with a call-to-action unit alongside your posts.
|
||||
</li>
|
||||
<li>
|
||||
<b>Enhanced Analytics</b>: Measure performance by keeping track of view counts, reactions, and CTA clicks on each post.
|
||||
</li>
|
||||
<li>
|
||||
<b>Build a Following</b>: As community members follow your organization, they’ll receive notifications of new posts, and your content will show up more prominently in their feed.
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<p>Check out the <a href="/devteam">DEV Team</a> organization page to view a live example. Head to your <a href="/settings/organization">settings page</a> to create or join an organization.</p>
|
||||
<p>Check out the <a href="/devteam">DEV Team</a> organization page to view a live example. Head to your
|
||||
<a href="/settings/organization">settings page</a> to create or join an organization.</p>
|
||||
|
||||
<h1>FAQ</h1>
|
||||
<p>
|
||||
<b>I publish articles both as an individual, and as part of an organization. Will I need two separate accounts?</b>
|
||||
<b>I publish articles both as an individual, and as part of an organization. Will I need two separate accounts?</b>
|
||||
<br>
|
||||
Nope — you can continue to use your DEV account as normal. As part of an organization, you will see an option to enable organization branding at the top of every new post.
|
||||
Nope — you can continue to use your DEV account as normal. As part of an organization, you will see an option to enable organization branding at the top of every new post.
|
||||
</p>
|
||||
<p>
|
||||
<b>How can I invite more people to my organization?</b>
|
||||
<br>
|
||||
You’ll see an invite token at the top of your <a href="/settings/organization">settings page</a>. To add someone to your organization, simply provide them with that token. They’ll enter it at the top of the same page to join the group.
|
||||
You’ll see an invite token at the top of your
|
||||
<a href="/settings/organization">settings page</a>. To add someone to your organization, simply provide them with that token. They’ll enter it at the top of the same page to join the group.
|
||||
</p>
|
||||
<p>
|
||||
<b>I want to cross-post content, do you support Canonical URLs?</b>
|
||||
<br>
|
||||
Absolutely. You can set the canonical_url in the Front Matter of each post. We also have an <a href="/settings/publishing-from-rss">RSS Import tool</a> to make importing articles a bit easier.
|
||||
Absolutely. You can set the canonical_url in the Front Matter of each post. We also have an
|
||||
<a href="/settings/publishing-from-rss">RSS Import tool</a> to make importing articles a bit easier.
|
||||
<br>
|
||||
</p>
|
||||
<p>
|
||||
<b>Can I join multiple organizations?</b>
|
||||
<br>
|
||||
Not yet, but we’re working to support this use-case soon.
|
||||
Not yet, but we’re working to support this use-case soon.
|
||||
</p>
|
||||
<p>
|
||||
<b>I have a questions and/or comments?</b>
|
||||
<br>
|
||||
Great! We’re happy to answer questions, and we welcome your feedback. Please shoot an email to <a href="mailto:yo@dev.to">yo@dev.to</a>.
|
||||
Great! We’re happy to answer questions, and we welcome your feedback. Please shoot an email to
|
||||
<a href="mailto:yo@dev.to">yo@dev.to</a>.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<% title "Privacy Policy for DEV" %>
|
||||
|
||||
<%= content_for :page_meta do %>
|
||||
<link rel="canonical" href="https://dev.to/privacy"/>
|
||||
<link rel="canonical" href="https://dev.to/privacy" />
|
||||
<meta name="description" content="Privacy Policy for DEV">
|
||||
<meta name="keywords" content="software development,engineering,rails,javascript,ruby">
|
||||
|
||||
|
|
@ -49,106 +49,125 @@
|
|||
<p>In order for you to create an account on DEV and use our Services, we need to collect and process certain information. Depending on your use of the Services, that may include:</p>
|
||||
<ul>
|
||||
<li>Communications you send to us (for example, when you ask for support, send us questions or comments, or report a problem);</li>
|
||||
<li>Information that you submit on or to DEV in the form of reactions, comments, or messages to other users; </li>
|
||||
<li>Information that you submit on or to DEV in the form of reactions, comments, or messages to other users;</li>
|
||||
<li>The email address associated with your Twitter account, if you choose to sign up using your Twitter credentials. DEV will also request permission to access additional information (these permissions are governed by Twitter’s privacy policies and can be managed through your Twitter privacy settings). We never post anything to your Twitter without your permission.</li>
|
||||
<li>The email address associated with your GitHub account, if you choose to sign up using your Github credentials. DEV will also request permission to access additional information (these permissions are governed by GitHub’s privacy policies and can be managed through your GitHub privacy settings). We never post anything to your GitHub without your permission.</li>
|
||||
<li>You also have the option to give us more information if you want to, and this may include “User Personal Information.”</li>
|
||||
</ul>
|
||||
<h3>Information Disclosure</h3>
|
||||
<p>We do not share, sell, rent, or trade User Personal Information with third parties for commercial purposes.
|
||||
<br>
|
||||
<br>
|
||||
We do share certain aggregated, non-personally identifying information with others about how our users, collectively, use DEV. For example, we may share information pertaining to the popularity of different programming languages for advertising partners.
|
||||
<br>
|
||||
<br>
|
||||
We do host first-party advertising on DEV. We do not run any code from advertisers and all ad images are hosted on managed DEV servers. For more details, see our section on Advertising Details.
|
||||
<br>
|
||||
<br>
|
||||
We may use User Personal Information with your permission, so we can perform services you have authorized. For example, if you indicate you are looking for work, we may contact you with opportunities.
|
||||
<br>
|
||||
<br>
|
||||
We may share User Personal Information with a limited number of third party vendors who process it on our behalf to provide or improve our service, and who have agreed to privacy restrictions similar to our own Privacy Statement. Our third party vendors are listed below.</p>
|
||||
<br>
|
||||
<br>
|
||||
We do share certain aggregated, non-personally identifying information with others about how our users, collectively, use DEV. For example, we may share information pertaining to the popularity of different programming languages for advertising partners.
|
||||
<br>
|
||||
<br>
|
||||
We do host first-party advertising on DEV. We do not run any code from advertisers and all ad images are hosted on managed DEV servers. For more details, see our section on Advertising Details.
|
||||
<br>
|
||||
<br>
|
||||
We may use User Personal Information with your permission, so we can perform services you have authorized. For example, if you indicate you are looking for work, we may contact you with opportunities.
|
||||
<br>
|
||||
<br>
|
||||
We may share User Personal Information with a limited number of third party vendors who process it on our behalf to provide or improve our service, and who have agreed to privacy restrictions similar to our own Privacy Statement. Our third party vendors are listed below.
|
||||
</p>
|
||||
<h3>Advertising Details</h3>
|
||||
<p>We target advertisements based solely upon:</p>
|
||||
<ul>
|
||||
<li>Details of the page where the advertisement is shown, including:</li>
|
||||
<ul>
|
||||
<li>The name and keywords associated with the page or article being viewed</li>
|
||||
<li>Details of the page where the advertisement is shown, including:
|
||||
<ul>
|
||||
<li>We allow advertisers to target ads to a list of keywords advertising.</li>
|
||||
<li>The name and keywords associated with the page or article being viewed
|
||||
<ul>
|
||||
<li>We allow advertisers to target ads to a list of keywords advertising.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
<p>We may place ads in:</p>
|
||||
<ul>
|
||||
<li>Sidebars</li>
|
||||
<li>Below articles</li>
|
||||
<li>On search result pages</li>
|
||||
<li>On tag pages </li>
|
||||
<li>On tag pages</li>
|
||||
<li>Our dedicated Sponsors page</li>
|
||||
</ul>
|
||||
<p>All registered members have the ability to disable advertisements — where reasonable — through their Settings page. For instance, it’s not feasible to disable certain advertisements in the form of recognition posts, site-wide contests, dedicated sponsorship page, etc.</p>
|
||||
<p>All registered members have the ability to disable advertisements — where reasonable — through their Settings page. For instance, it’s not feasible to disable certain advertisements in the form of recognition posts, site-wide contests, dedicated sponsorship page, etc.</p>
|
||||
<h3>Third Party Vendors</h3>
|
||||
<p><strong>We may share your account information with third parties in some circumstances, including:</strong> (1) with your consent; (2) to a service provider or partner who meets our data protection standards; (3) for survey or research purposes, after aggregation, anonymization, or pseudonomization; (4) when we have a good faith belief it is required by law, such as pursuant to a subpoena or other legal process; (5) when we have a good faith belief that doing so will help prevent imminent harm to someone.</p>
|
||||
<p>
|
||||
<strong>We may share your account information with third parties in some circumstances, including:</strong> (1) with your consent; (2) to a service provider or partner who meets our data protection standards; (3) for survey or research purposes, after aggregation, anonymization, or pseudonomization; (4) when we have a good faith belief it is required by law, such as pursuant to a subpoena or other legal process; (5) when we have a good faith belief that doing so will help prevent imminent harm to someone.
|
||||
</p>
|
||||
<p><strong>Data Storage</strong>
|
||||
<br>
|
||||
DEV uses third-party vendors and hosting partners for hardware, software, networking, storage, and related technology we need to run DEV. By using DEV Services, you authorize DEV to transfer, store, and use your information in the United States and any other country where we operate. All service providers and third-party vendors are required to meet our data protection standards.</p>
|
||||
<br>
|
||||
DEV uses third-party vendors and hosting partners for hardware, software, networking, storage, and related technology we need to run DEV. By using DEV Services, you authorize DEV to transfer, store, and use your information in the United States and any other country where we operate. All service providers and third-party vendors are required to meet our data protection standards.
|
||||
</p>
|
||||
<p><strong>Site monitoring</strong>
|
||||
<br>
|
||||
DEV uses a variety of third-party services to diagnose errors and improve the performance of our site. We aim to minimize the amount of personal information shared, but the information may include your IP address or other identifying information. All service providers and third-party vendors are required to meet our data protection standards.</p>
|
||||
<br>
|
||||
DEV uses a variety of third-party services to diagnose errors and improve the performance of our site. We aim to minimize the amount of personal information shared, but the information may include your IP address or other identifying information. All service providers and third-party vendors are required to meet our data protection standards.
|
||||
</p>
|
||||
<p><strong>Payment processing</strong>
|
||||
<br>
|
||||
DEV does not process payments directly — we rely on third-party services such as Stripe, Shopify, and Paypal to receive payments and store any payment information. <a href="https://shop.dev.to">The DEV Shop</a> is run through Shopify, a third-party e-commerce platform with their own Privacy Policy.</p>
|
||||
<br>
|
||||
DEV does not process payments directly — we rely on third-party services such as Stripe, Shopify, and Paypal to receive payments and store any payment information.
|
||||
<a href="https://shop.dev.to">The DEV Shop</a> is run through Shopify, a third-party e-commerce platform with their own Privacy Policy.
|
||||
</p>
|
||||
<p><strong>Third-Party Embeds</strong>
|
||||
<br>
|
||||
Some of the content that you see displayed on DEV is not hosted by DEV. These “embeds” are hosted by a third-party and embedded in DEV. For example: YouTube videos, Codepens, Twitter tweets, or GitHub code that appear within a DEV post. These files send data to the hosted site just as if you were visiting that site directly (for example, when you load a DEV post page with a YouTube video embedded in it, YouTube receives data about your activity). DEV does not control what data third parties collect in cases like this, or what they will do with it. Third-party embeds on DEV are not covered by this privacy policy; they are covered by the privacy policy of the third-party service. Be mindful when interacting with these services.</p>
|
||||
<br>
|
||||
Some of the content that you see displayed on DEV is not hosted by DEV. These “embeds” are hosted by a third-party and embedded in DEV. For example: YouTube videos, Codepens, Twitter tweets, or GitHub code that appear within a DEV post. These files send data to the hosted site just as if you were visiting that site directly (for example, when you load a DEV post page with a YouTube video embedded in it, YouTube receives data about your activity). DEV does not control what data third parties collect in cases like this, or what they will do with it. Third-party embeds on DEV are not covered by this privacy policy; they are covered by the privacy policy of the third-party service. Be mindful when interacting with these services.
|
||||
</p>
|
||||
<p><strong>Facebook (visitor action pixel)</strong>
|
||||
<br>
|
||||
We use the “visitor action pixels” from Facebook Inc on our website.
|
||||
<br>
|
||||
<br>
|
||||
This allows user behavior to be tracked after they have been redirected to our website by clicking on a Facebook ad. This enables us to measure the effectiveness of Facebook ads. The data collected in this way is anonymous to us, i.e. we do not see the personal data of individual users. However, this data is stored and processed by Facebook, which is why we are informing you, based on our knowledge of the situation. Facebook may link this information to your Facebook account and also use it for its own promotional purposes, in accordance with <a href="https://www.facebook.com/about/privacy/">Facebook’s Data Usage Policy</a>. You can object to the collection of your data by Facebook pixel, or to the use of your data for the purpose of displaying Facebook ads by contacting the following address: https://www.facebook.com/settings?tab=ads.</p>
|
||||
<br>
|
||||
We use the “visitor action pixels” from Facebook Inc on our website.
|
||||
<br>
|
||||
<br>
|
||||
This allows user behavior to be tracked after they have been redirected to our website by clicking on a Facebook ad. This enables us to measure the effectiveness of Facebook ads. The data collected in this way is anonymous to us, i.e. we do not see the personal data of individual users. However, this data is stored and processed by Facebook, which is why we are informing you, based on our knowledge of the situation. Facebook may link this information to your Facebook account and also use it for its own promotional purposes, in accordance with
|
||||
<a href="https://www.facebook.com/about/privacy/">Facebook’s Data Usage Policy</a>. You can object to the collection of your data by Facebook pixel, or to the use of your data for the purpose of displaying Facebook ads by contacting the following address: https://www.facebook.com/settings?tab=ads.
|
||||
</p>
|
||||
<p><strong>Tracking & Cookies</strong>
|
||||
<br>
|
||||
We use browser cookies and similar technologies to recognize you when you return to our Services. Third-party vendors may also use cookies for various reasons.
|
||||
<br>
|
||||
<br>
|
||||
DEV uses a specific cookie in order to facilitate the use of Google Universal Analytics for users logged-in to the Applications or the Platforms (“Logged-In User). If you are a Logged-In User, DEV may use your DEV user ID in combination with Google Universal Analytics and Google Analytics to track and analyze the pages of the Services you visit. We do this only to better understand how you use the Website and the other Services, with a view to offering improvements for all DEV users; and to tailor our business and marketing activities accordingly, both generally and specifically to you. Google Analytics cookies do not provide DEV with any Personal Information.You can prevent Google Analytics from recognizing you on return visits to this site by disabling cookies on your browser.
|
||||
<br>
|
||||
<br>
|
||||
You may opt-out of this feature by installing the Google Analytics Opt-out Browser Add-on, by setting your web browser to refuse cookies, or by setting your browser to alert you when cookies are being sent. If you do so, note that some parts of the Site may not function properly.</p>
|
||||
<br>
|
||||
We use browser cookies and similar technologies to recognize you when you return to our Services. Third-party vendors may also use cookies for various reasons.
|
||||
<br>
|
||||
<br>
|
||||
DEV uses a specific cookie in order to facilitate the use of Google Universal Analytics for users logged-in to the Applications or the Platforms (“Logged-In User). If you are a Logged-In User, DEV may use your DEV user ID in combination with Google Universal Analytics and Google Analytics to track and analyze the pages of the Services you visit. We do this only to better understand how you use the Website and the other Services, with a view to offering improvements for all DEV users; and to tailor our business and marketing activities accordingly, both generally and specifically to you. Google Analytics cookies do not provide DEV with any Personal Information.You can prevent Google Analytics from recognizing you on return visits to this site by disabling cookies on your browser.
|
||||
<br>
|
||||
<br>
|
||||
You may opt-out of this feature by installing the Google Analytics Opt-out Browser Add-on, by setting your web browser to refuse cookies, or by setting your browser to alert you when cookies are being sent. If you do so, note that some parts of the Site may not function properly.
|
||||
</p>
|
||||
<p><strong>Data Security</strong>
|
||||
<br>
|
||||
We use encryption (HTTPS/TLS) to protect data transmitted to and from our site. However, no data transmission over the Internet is 100% secure, so we can’t guarantee security. You use the Service at your own risk, and you’re responsible for taking reasonable measures to secure your account.</p>
|
||||
<br>
|
||||
We use encryption (HTTPS/TLS) to protect data transmitted to and from our site. However, no data transmission over the Internet is 100% secure, so we can’t guarantee security. You use the Service at your own risk, and you’re responsible for taking reasonable measures to secure your account.
|
||||
</p>
|
||||
<p><strong>Administrative Emails from DEV</strong>
|
||||
<br>
|
||||
Sometimes we’ll send you emails about your account, service changes or new policies. You can’t opt out of this type of “transactional” email (unless you delete your account).
|
||||
<br>
|
||||
<br>
|
||||
When you interact with a transactional email sent from DEV (such as opening an email or clicking on a particular link in an email), we may receive information about that interaction.</p>
|
||||
<br>
|
||||
Sometimes we’ll send you emails about your account, service changes or new policies. You can’t opt out of this type of “transactional” email (unless you delete your account).
|
||||
<br>
|
||||
<br>
|
||||
When you interact with a transactional email sent from DEV (such as opening an email or clicking on a particular link in an email), we may receive information about that interaction.
|
||||
</p>
|
||||
<p><strong>Non-administrative Emails from DEV</strong>
|
||||
<br>
|
||||
Upon creating a DEV account, you will be opted into the DEV Newsletter and other non-administrative email. Your email address and user profile information may be stored by a third-party email provider such as MailChimp or Sendgrid. You can opt out of non-administrative emails such as digests, newsletters, and activity notifications through your account’s “Settings” page and at the link of the footer in any non-administrative email you receive from us.
|
||||
<br>
|
||||
<br>
|
||||
When you interact with a non-administrative email sent from DEV (such as opening an email or clicking on a particular link in an email), we may receive information about that interaction.</p>
|
||||
<br>
|
||||
Upon creating a DEV account, you will be opted into the DEV Newsletter and other non-administrative email. Your email address and user profile information may be stored by a third-party email provider such as MailChimp or Sendgrid. You can opt out of non-administrative emails such as digests, newsletters, and activity notifications through your account’s “Settings” page and at the link of the footer in any non-administrative email you receive from us.
|
||||
<br>
|
||||
<br>
|
||||
When you interact with a non-administrative email sent from DEV (such as opening an email or clicking on a particular link in an email), we may receive information about that interaction.
|
||||
</p>
|
||||
<p><strong>Deleting Your Personal Information</strong>
|
||||
<br>
|
||||
You may request deletion of your personal information and account by emailing privacy@dev.to.
|
||||
<br>
|
||||
<br>
|
||||
To protect information from accidental or malicious destruction, we may maintain residual copies for a brief time period. But, if you delete your account, your information and content will be unrecoverable after that time.</p>
|
||||
<br>
|
||||
You may request deletion of your personal information and account by emailing privacy@dev.to.
|
||||
<br>
|
||||
<br>
|
||||
To protect information from accidental or malicious destruction, we may maintain residual copies for a brief time period. But, if you delete your account, your information and content will be unrecoverable after that time.
|
||||
</p>
|
||||
<p><strong>Data Portability</strong>
|
||||
<br>
|
||||
If you would like to request a copy of your user data, please email privacy@dev.to.</p>
|
||||
<br>
|
||||
If you would like to request a copy of your user data, please email privacy@dev.to.</p>
|
||||
<p><strong>Business Transfers</strong>
|
||||
<br>
|
||||
If we are involved in a merger, acquisition, bankruptcy, reorganization or sale of assets such that your information would be transferred or become subject to a different privacy policy, we’ll notify you in advance of any such change.</p>
|
||||
<br>
|
||||
If we are involved in a merger, acquisition, bankruptcy, reorganization or sale of assets such that your information would be transferred or become subject to a different privacy policy, we’ll notify you in advance of any such change.
|
||||
</p>
|
||||
<p><strong>Changes to this Policy</strong>
|
||||
<br>
|
||||
We reserve the right to revise this Privacy Policy at any time. If we change this Privacy Policy in the future, we will post the revised Privacy Policy and update the “Effective Date,” above, to reflect the date of the changes.</p>
|
||||
<br>
|
||||
We reserve the right to revise this Privacy Policy at any time. If we change this Privacy Policy in the future, we will post the revised Privacy Policy and update the “Effective Date,” above, to reflect the date of the changes.
|
||||
</p>
|
||||
<p><strong>Questions</strong>
|
||||
<br>
|
||||
We welcome feedback about this policy at privacy@dev.to.</p>
|
||||
<br>
|
||||
We welcome feedback about this policy at privacy@dev.to.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<% title "Editor Guide" %>
|
||||
|
||||
<%= content_for :page_meta do %>
|
||||
<link rel="canonical" href="https://dev.to/p/publishing_from_rss_guide"/>
|
||||
<link rel="canonical" href="https://dev.to/p/publishing_from_rss_guide" />
|
||||
<meta name="description" content="dev.to | publishing from rss guideline">
|
||||
<meta name="keywords" content="software development,engineering,rails,javascript,ruby">
|
||||
|
||||
|
|
|
|||
|
|
@ -1,27 +1,28 @@
|
|||
<% title "Report abuse" %>
|
||||
<%= content_for :page_meta do %>
|
||||
<link rel="canonical" href="https://dev.to/report-abuse"/>
|
||||
<meta name="description" content="Report Abuse">
|
||||
<meta name="keywords" content="software development,engineering,rails,javascript,ruby">
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:url" content="https://dev.to/report-abuse" />
|
||||
<meta property="og:title" content="Report Abuse" />
|
||||
<meta property="og:site_name" content="The Practical Dev" />
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:site" content="@ThePracticalDev">
|
||||
<meta name="twitter:title" content="Report Abuse">
|
||||
<link rel="canonical" href="https://dev.to/report-abuse" />
|
||||
<meta name="description" content="Report Abuse">
|
||||
<meta name="keywords" content="software development,engineering,rails,javascript,ruby">
|
||||
<meta property="og:type" content="article" />
|
||||
<meta property="og:url" content="https://dev.to/report-abuse" />
|
||||
<meta property="og:title" content="Report Abuse" />
|
||||
<meta property="og:site_name" content="The Practical Dev" />
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:site" content="@ThePracticalDev">
|
||||
<meta name="twitter:title" content="Report Abuse">
|
||||
<% end %>
|
||||
|
||||
<div class="blank-space"></div>
|
||||
|
||||
<div class="container article">
|
||||
<div class="title">
|
||||
<h1>Report Abuse</h1>
|
||||
</div>
|
||||
<div class="body">
|
||||
<p>
|
||||
Thank you for reporting any abuse that violates our <a href="/code-of-conduct">code of conduct</a> or <a href="/terms">terms and conditions</a>. We continue to try to make this environment a great one for everybody.
|
||||
</p>
|
||||
<%= render 'feedback_messages/form', feedback_message: @feedback_message %>
|
||||
</div>
|
||||
<h1>Report Abuse</h1>
|
||||
</div>
|
||||
<div class="body">
|
||||
<p>
|
||||
Thank you for reporting any abuse that violates our <a href="/code-of-conduct">code of conduct</a> or
|
||||
<a href="/terms">terms and conditions</a>. We continue to try to make this environment a great one for everybody.
|
||||
</p>
|
||||
<%= render "feedback_messages/form", feedback_message: @feedback_message %>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,25 +1,25 @@
|
|||
<% title "O RLY Parody Book Generator" %>
|
||||
<%= stylesheet_link_tag 'application', media: 'all' %>
|
||||
<%= stylesheet_link_tag "application", media: "all" %>
|
||||
<link href='https://fonts.googleapis.com/css?family=Roboto' rel='stylesheet' type='text/css'>
|
||||
<%= javascript_include_tag 'application' %>
|
||||
<%= javascript_include_tag "application" %>
|
||||
|
||||
<%= content_for :page_meta do %>
|
||||
<link rel="canonical" href="https://dev.to/rly"/>
|
||||
<meta name="description" content="Insult your co-workers with snarky O RLY parody book covers!">
|
||||
<meta name="keywords" content="software development,engineering,rails,javascript,ruby">
|
||||
<link rel="canonical" href="https://dev.to/rly" />
|
||||
<meta name="description" content="Insult your co-workers with snarky O RLY parody book covers!">
|
||||
<meta name="keywords" content="software development,engineering,rails,javascript,ruby">
|
||||
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://dev.to/rly" />
|
||||
<meta property="og:title" content="O RLY Parody Book Cover Generator" />
|
||||
<meta property="og:image" content="http://i.imgur.com/pAORVha.png" />
|
||||
<meta property="og:description" content="Insult your co-workers with snarky O RLY parody book covers!" />
|
||||
<meta property="og:site_name" content="The Practical Dev" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="https://dev.to/rly" />
|
||||
<meta property="og:title" content="O RLY Parody Book Cover Generator" />
|
||||
<meta property="og:image" content="http://i.imgur.com/pAORVha.png" />
|
||||
<meta property="og:description" content="Insult your co-workers with snarky O RLY parody book covers!" />
|
||||
<meta property="og:site_name" content="The Practical Dev" />
|
||||
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:site" content="@ThePracticalDev">
|
||||
<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">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:site" content="@ThePracticalDev">
|
||||
<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">
|
||||
<% end %>
|
||||
|
||||
<div class="rlyweb-container">
|
||||
|
|
@ -28,17 +28,17 @@
|
|||
<div class="gen-form">
|
||||
<form>
|
||||
<label>Title</label>
|
||||
<input id="title" name="title" placeholder="required"/>
|
||||
<input id="title" name="title" placeholder="required" />
|
||||
<label>Top Text</label>
|
||||
<input id="top_text" name="top_text" placeholder="required"/>
|
||||
<input id="top_text" name="top_text" placeholder="required" />
|
||||
<label>Author</label>
|
||||
<input id="author" name="author" placeholder="required"/>
|
||||
<input id="author" name="author" placeholder="required" />
|
||||
<label>Animal Code</label>
|
||||
<input id="image_code" name="image_code" placeholder="1-40 (listed below, defaults to random)"/>
|
||||
<input id="image_code" name="image_code" placeholder="1-40 (listed below, defaults to random)" />
|
||||
<label>Color Code</label>
|
||||
<input id="theme" name="theme" placeholder="0-16 (listed below, defaults to random)"/>
|
||||
<input id="theme" name="theme" placeholder="0-16 (listed below, defaults to random)" />
|
||||
<label>Guide Text</label>
|
||||
<input id="guide_text" name="guide_text" placeholder="such as 'The Definitive Guide'"/>
|
||||
<input id="guide_text" name="guide_text" placeholder="such as 'The Definitive Guide'" />
|
||||
<label>Guide Text Placement</label>
|
||||
<select id="guide_text_placement" name="guide_text_placement">
|
||||
<option selected value="bottom_right">Bottom Right</option>
|
||||
|
|
@ -50,16 +50,19 @@
|
|||
</form>
|
||||
</div>
|
||||
<div class="result">
|
||||
<img src="<%= cloudinary('http://i.imgur.com/wsGjkE9.png',300) %>" alt="O RLY? Book Example" />
|
||||
<img src="<%= cloudinary("http://i.imgur.com/wsGjkE9.png", 300) %>" alt="O RLY? Book Example" />
|
||||
<a href="#" style="visibility:hidden">Download</a>
|
||||
</div>
|
||||
</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>
|
||||
<hr/>
|
||||
<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>
|
||||
<hr />
|
||||
<div class="usage">
|
||||
<h3>Animal Codes</h3>
|
||||
<p><i>The animal images are from the <a href="https://etc.usf.edu/clipart/" target="_blank" rel="noopener">USF ClipArt ETC</a> project. They are used in this O RLY Cover Generator for the purposes of parody.</i></p>
|
||||
<p><i>The animal images are from the
|
||||
<a href="https://etc.usf.edu/clipart/" target="_blank" rel="noopener">USF ClipArt ETC</a> project. They are used in this O RLY Cover Generator for the purposes of parody.</i>
|
||||
</p>
|
||||
<div class="animal"><%= image_tag "1.png" %>1</div>
|
||||
<div class="animal"><%= image_tag "2.png" %>2</div>
|
||||
<div class="animal"><%= image_tag "3.png" %>3</div>
|
||||
|
|
@ -121,12 +124,14 @@
|
|||
<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>
|
||||
<h3>But don't thank <a target="_blank" href="http://twitter.com/ThePracticalDev">@ThePracticalDev</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>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
$("form").submit(function(e){
|
||||
$("form").submit(function (e) {
|
||||
e.preventDefault();
|
||||
var title = encodeURIComponent($("#title").val());
|
||||
var topText = encodeURIComponent($("#top_text").val());
|
||||
|
|
@ -137,67 +142,62 @@
|
|||
var guide_text = encodeURIComponent($("#guide_text").val());
|
||||
var guide_text_placement = encodeURIComponent($("#guide_text_placement").val());
|
||||
|
||||
if(isNaN(imageCode) || imageCode.length == 0){
|
||||
if (isNaN(imageCode) || imageCode.length == 0) {
|
||||
imageCode = Math.floor(Math.random() * 38) + 1;
|
||||
}
|
||||
if(isNaN(theme) || theme.length == 0){
|
||||
if (isNaN(theme) || theme.length == 0) {
|
||||
theme = Math.floor(Math.random() * 16);
|
||||
}
|
||||
if(title.length > 0 && topText.length > 0 && author.length > 0){
|
||||
var imagePath = 'https://orly-appstore.herokuapp.com/generate?title='+title+'&top_text='+topText+'&author='+author+'&image_code='+imageCode+'&theme='+theme+'&guide_text='+guide_text+'&guide_text_placement='+guide_text_placement;
|
||||
$(".result").html('<img src="'+imagePath+'" alt='+title+'"/>')
|
||||
$(".result").append('<a href="'+imagePath+'" download="'+imagePath+'">Download</a>');
|
||||
if($(window).width()< 820){
|
||||
$("html,body").animate({scrollTop:$('.result').offset().top - 60}, '500');
|
||||
if (title.length > 0 && topText.length > 0 && author.length > 0) {
|
||||
var imagePath = 'https://orly-appstore.herokuapp.com/generate?title=' + title + '&top_text=' + topText + '&author=' + author + '&image_code=' + imageCode + '&theme=' + theme + '&guide_text=' + guide_text + '&guide_text_placement=' + guide_text_placement;
|
||||
$(".result").html('<img src="' + imagePath + '" alt=' + title + '"/>')
|
||||
$(".result").append('<a href="' + imagePath + '" download="' + imagePath + '">Download</a>');
|
||||
if ($(window).width() < 820) {
|
||||
$("html,body").animate({scrollTop: $('.result').offset().top - 60}, '500');
|
||||
}
|
||||
}
|
||||
else{
|
||||
if(title.length == 0){
|
||||
} else {
|
||||
if (title.length == 0) {
|
||||
$("#title").addClass("error");
|
||||
}
|
||||
if(topText.length == 0){
|
||||
if (topText.length == 0) {
|
||||
$("#top_text").addClass("error");
|
||||
}
|
||||
if(author.length == 0){
|
||||
if (author.length == 0) {
|
||||
$("#author").addClass("error");
|
||||
}
|
||||
}
|
||||
});
|
||||
$("input").keyup(function(e){
|
||||
if(e.target.value.length > 0){
|
||||
$("input").keyup(function (e) {
|
||||
if (e.target.value.length > 0) {
|
||||
$(this).removeClass("error")
|
||||
}
|
||||
if($(this).attr("id") == "title" && $(this).val().length > 40){
|
||||
$(this).val($(this).val().substring(0,41));
|
||||
if ($(this).attr("id") == "title" && $(this).val().length > 40) {
|
||||
$(this).val($(this).val().substring(0, 41));
|
||||
e.preventDefault();
|
||||
}
|
||||
if($(this).attr("id") == "top_text" && $(this).val().length > 60){
|
||||
$(this).val($(this).val().substring(0,61));
|
||||
if ($(this).attr("id") == "top_text" && $(this).val().length > 60) {
|
||||
$(this).val($(this).val().substring(0, 61));
|
||||
e.preventDefault();
|
||||
}
|
||||
if($(this).attr("id") == "author" && $(this).val().length > 25){
|
||||
$(this).val($(this).val().substring(0,26));
|
||||
if ($(this).attr("id") == "author" && $(this).val().length > 25) {
|
||||
$(this).val($(this).val().substring(0, 26));
|
||||
e.preventDefault();
|
||||
}
|
||||
if($(this).attr("id") == "guide_text" && $(this).val().length > 25){
|
||||
$(this).val($(this).val().substring(0,26));
|
||||
if ($(this).attr("id") == "guide_text" && $(this).val().length > 25) {
|
||||
$(this).val($(this).val().substring(0, 26));
|
||||
e.preventDefault();
|
||||
}
|
||||
if($(this).attr("id") == "image_code" || $(this).attr("id") == "theme"){
|
||||
if(isNaN($(this).val())){
|
||||
$(this).val($(this).val().substring(0,$(this).val().length-1));
|
||||
if ($(this).attr("id") == "image_code" || $(this).attr("id") == "theme") {
|
||||
if (isNaN($(this).val())) {
|
||||
$(this).val($(this).val().substring(0, $(this).val().length - 1));
|
||||
e.preventDefault();
|
||||
}
|
||||
else if ($(this).attr("id") == "image_code" && $(this).val() > 40){
|
||||
$(this).val($(this).val().substring(0,$(this).val().length-1));
|
||||
}
|
||||
else if ($(this).attr("id") == "theme" && $(this).val() > 16){
|
||||
$(this).val($(this).val().substring(0,$(this).val().length-1));
|
||||
} else if ($(this).attr("id") == "image_code" && $(this).val() > 40) {
|
||||
$(this).val($(this).val().substring(0, $(this).val().length - 1));
|
||||
} else if ($(this).attr("id") == "theme" && $(this).val() > 16) {
|
||||
$(this).val($(this).val().substring(0, $(this).val().length - 1));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// if(e.value())
|
||||
})
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<% title "DEV Scholarships" %>
|
||||
|
||||
<%= content_for :page_meta do %>
|
||||
<link rel="canonical" href="https://dev.to/p/scholarships"/>
|
||||
<link rel="canonical" href="https://dev.to/p/scholarships" />
|
||||
<meta name="description" content="Scholarships for DEV workshops">
|
||||
<meta name="keywords" content="software development,engineering,rails,javascript,ruby">
|
||||
|
||||
|
|
@ -29,10 +29,12 @@
|
|||
</h1>
|
||||
<div class="body">
|
||||
<p>
|
||||
This scholarship is for anyone interested in attending DEV workshops but does not have the means to be a level 3 <a href="/membership">sustaining member</a>.
|
||||
This scholarship is for anyone interested in attending DEV workshops but does not have the means to be a level 3
|
||||
<a href="/membership">sustaining member</a>.
|
||||
</p>
|
||||
<p>
|
||||
Scholarship recipients will receive full access to all DEV workshops for one year. These workshops are taught by experts from the community and range from beginner to advanced topics. <a href="/events">Check out our upcoming sessions</a>.
|
||||
<p>
|
||||
Scholarship recipients will receive full access to all DEV workshops for one year. These workshops are taught by experts from the community and range from beginner to advanced topics.
|
||||
<a href="/events">Check out our upcoming sessions</a>.
|
||||
</p>
|
||||
<% if current_user && current_user.scholar %>
|
||||
<h4 style="text-align: center">
|
||||
|
|
@ -46,7 +48,19 @@
|
|||
<p>
|
||||
We encourage you to <b>apply below</b> and if within your means, to become a level 1 or 2 sustaining member.
|
||||
</p>
|
||||
<div class="typeform-widget" data-url="https://jes31.typeform.com/to/AJhky6" style="width: 100%; height: 500px; margin-bottom: 80px;"></div> <script> (function() { var qs,js,q,s,d=document, gi=d.getElementById, ce=d.createElement, gt=d.getElementsByTagName, id="typef_orm", b="https://embed.typeform.com/"; if(!gi.call(d,id)) { js=ce.call(d,"script"); js.id=id; js.src=b+"embed.js"; q=gt.call(d,"script")[0]; q.parentNode.insertBefore(js,q) } })() </script> <div style="font-family: Sans-Serif;font-size: 12px;color: #999;opacity: 0.5; padding-top: 5px;"></div>
|
||||
<div class="typeform-widget" data-url="https://jes31.typeform.com/to/AJhky6" style="width: 100%; height: 500px; margin-bottom: 80px;"></div>
|
||||
<script> (function () {
|
||||
var qs, js, q, s, d = document, gi = d.getElementById, ce = d.createElement, gt = d.getElementsByTagName,
|
||||
id = "typef_orm", b = "https://embed.typeform.com/";
|
||||
if (!gi.call(d, id)) {
|
||||
js = ce.call(d, "script");
|
||||
js.id = id;
|
||||
js.src = b + "embed.js";
|
||||
q = gt.call(d, "script")[0];
|
||||
q.parentNode.insertBefore(js, q)
|
||||
}
|
||||
})() </script>
|
||||
<div style="font-family: Sans-Serif;font-size: 12px;color: #999;opacity: 0.5; padding-top: 5px;"></div>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<% title "DEV Sponsors" %>
|
||||
|
||||
<%= content_for :page_meta do %>
|
||||
<link rel="canonical" href="https://dev.to/sponsors"/>
|
||||
<link rel="canonical" href="https://dev.to/sponsors" />
|
||||
<meta name="description" content="dev.to | Sponsors">
|
||||
<meta name="keywords" content="software development,engineering,rails,javascript,ruby">
|
||||
|
||||
|
|
@ -15,7 +15,6 @@
|
|||
display: inline;
|
||||
left: 0;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="container article">
|
||||
|
|
@ -27,26 +26,35 @@
|
|||
</h1>
|
||||
<p style="margin:5px 5px;"><em>for supporting our community</em></p>
|
||||
|
||||
<h4><img src="<%= cloudinary("https://thepracticaldev.s3.amazonaws.com/i/2zmukvll98je8qsdyewq.png", 30) %>"><span style="background-color: #fefa87; padding:3px;">Gold Sponsors</span><img src="<%= cloudinary("https://thepracticaldev.s3.amazonaws.com/i/2zmukvll98je8qsdyewq.png", 30) %>"></h4>
|
||||
<h4>
|
||||
<img src="<%= cloudinary("https://thepracticaldev.s3.amazonaws.com/i/2zmukvll98je8qsdyewq.png", 30) %>"><span style="background-color: #fefa87; padding:3px;">Gold Sponsors</span><img src="<%= cloudinary("https://thepracticaldev.s3.amazonaws.com/i/2zmukvll98je8qsdyewq.png", 30) %>">
|
||||
</h4>
|
||||
<div id="gold-sponsors">
|
||||
<a href="https://do.co/devto"><img src="<%= cloudinary("https://thepracticaldev.s3.amazonaws.com/i/85318v8gv77kzr8r2e58.png", 250) %>"></a>
|
||||
|
||||
<p><a href="https://do.co/devto">Digital Ocean</a> is a much-loved cloud computing platform. I'm always impressed by how well-built <em>and well-documented</em> the Digital Ocean core products are. It's easier said than done, and they've been able to stay ahead of the curve.</p>
|
||||
|
||||
<hr/>
|
||||
<p>
|
||||
<a href="https://do.co/devto">Digital Ocean</a> is a much-loved cloud computing platform. I'm always impressed by how well-built
|
||||
<em>and well-documented</em> the Digital Ocean core products are. It's easier said than done, and they've been able to stay ahead of the curve.
|
||||
</p>
|
||||
|
||||
<hr />
|
||||
|
||||
<a href="https://triplebyte.com/a/YU8fSn0/sponsorspage"><img src="<%= cloudinary("https://thepracticaldev.s3.amazonaws.com/i/r50i600z08ty2sjwey4o.png", 260) %>" /></a>
|
||||
|
||||
<p><a href="https://triplebyte.com/a/YU8fSn0/sponsorspage">Triplebyte</a> allows developers to take one quiz and immediately get into the interview process with top tech companies if you qualify. It should be a part of any developer's job search process.</p>
|
||||
|
||||
<hr/>
|
||||
|
||||
<p>
|
||||
<a href="https://triplebyte.com/a/YU8fSn0/sponsorspage">Triplebyte</a> allows developers to take one quiz and immediately get into the interview process with top tech companies if you qualify. It should be a part of any developer's job search process.
|
||||
</p>
|
||||
|
||||
<hr />
|
||||
|
||||
<a href="https://www.gocd.org/?utm_campaign=dev_to&utm_medium=dev_homepage&utm_source=logo_link&utm_content=gocd_homepage&utm_term="><img src="<%= cloudinary("https://thepracticaldev.s3.amazonaws.com/i/ju8bfjsh7bcvw21p19nh.png", 290) %>" /></a>
|
||||
|
||||
<p><a href="https://www.gocd.org/?utm_campaign=dev_to&utm_medium=dev_homepage&utm_source=logo_link&utm_content=gocd_homepage&utm_term=">GoCD</a> is a continuous delivery tool built by Thoughtworks, one of the most reputable software development firms we've ever dealt with. This is a feature-rich tool with some really fabulous visualization. Definitely worth considering for your organization or project.</p>
|
||||
<p>
|
||||
<a href="https://www.gocd.org/?utm_campaign=dev_to&utm_medium=dev_homepage&utm_source=logo_link&utm_content=gocd_homepage&utm_term=">GoCD</a> is a continuous delivery tool built by Thoughtworks, one of the most reputable software development firms we've ever dealt with. This is a feature-rich tool with some really fabulous visualization. Definitely worth considering for your organization or project.
|
||||
</p>
|
||||
|
||||
<hr/>
|
||||
<hr />
|
||||
</div>
|
||||
<h5> Interested in sponsoring dev.to? Email <a href="mailto:peter@dev.to">peter@dev.to</a> </h5>
|
||||
<h5> Interested in sponsoring dev.to? Email <a href="mailto:peter@dev.to">peter@dev.to</a></h5>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -21,7 +21,8 @@
|
|||
<p>
|
||||
<b>What if I don’t want to see these sponsorship units?</b>
|
||||
<br>
|
||||
You may opt-out of seeing sponsorship displays <a href="/settings/misc">in your settings</a>. However, you may still see occasional sponsor recognition posts.
|
||||
You may opt-out of seeing sponsorship displays
|
||||
<a href="/settings/misc">in your settings</a>. However, you may still see occasional sponsor recognition posts.
|
||||
<br>
|
||||
<p>
|
||||
<b>How can my company become a sponsor?</b>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<% title "State of the Web Survey" %>
|
||||
|
||||
<%= content_for :page_meta do %>
|
||||
<link rel="canonical" href="https://dev.to/survey"/>
|
||||
<link rel="canonical" href="https://dev.to/survey" />
|
||||
<meta name="description" content="State of the Web Survey for developers">
|
||||
<meta name="keywords" content="software development,engineering,rails,javascript,ruby">
|
||||
|
||||
|
|
@ -19,8 +19,6 @@
|
|||
<meta name="twitter:image:src" content="https://thepracticaldev.s3.amazonaws.com/i/wngaap4y0ol1907w38kc.png">
|
||||
<% end %>
|
||||
|
||||
|
||||
|
||||
<div class="blank-space"></div>
|
||||
<div class="container article">
|
||||
<div class="title" style="text-align:center">
|
||||
|
|
@ -28,9 +26,24 @@
|
|||
State of the Web Survey
|
||||
</h1>
|
||||
<p>Thank you for taking five minutes to fill out this DEV Community survey.</p>
|
||||
<p>All responses are 100% private. ❤️<p>
|
||||
<p>All responses are 100% private. ❤️
|
||||
<p>
|
||||
</div>
|
||||
<div class="body" style="margin-top:0;padding-top:0;">
|
||||
<div class="typeform-widget" data-url="https://thepracticaldev.typeform.com/to/r5V9jm?source=user-<%= user_signed_in? %>" style="width: 100%; height: 550px;"></div> <script> (function() { var qs,js,q,s,d=document, gi=d.getElementById, ce=d.createElement, gt=d.getElementsByTagName, id="typef_orm", b="https://embed.typeform.com/"; if(!gi.call(d,id)) { js=ce.call(d,"script"); js.id=id; js.src=b+"embed.js"; q=gt.call(d,"script")[0]; q.parentNode.insertBefore(js,q) } })() </script> <div style="font-family: Sans-Serif;font-size: 12px;color: #999;opacity: 0.5; padding-top: 5px;"> powered by <a href="https://admin.typeform.com/signup?utm_campaign=r5V9jm&utm_source=typeform.com-11461475-Pro&utm_medium=typeform&utm_content=typeform-embedded-poweredbytypeform&utm_term=EN" style="color: #999" target="_blank">Typeform</a> </div>
|
||||
<div class="typeform-widget" data-url="https://thepracticaldev.typeform.com/to/r5V9jm?source=user-<%= user_signed_in? %>" style="width: 100%; height: 550px;"></div>
|
||||
<script> (function () {
|
||||
var qs, js, q, s, d = document, gi = d.getElementById, ce = d.createElement, gt = d.getElementsByTagName,
|
||||
id = "typef_orm", b = "https://embed.typeform.com/";
|
||||
if (!gi.call(d, id)) {
|
||||
js = ce.call(d, "script");
|
||||
js.id = id;
|
||||
js.src = b + "embed.js";
|
||||
q = gt.call(d, "script")[0];
|
||||
q.parentNode.insertBefore(js, q)
|
||||
}
|
||||
})() </script>
|
||||
<div style="font-family: Sans-Serif;font-size: 12px;color: #999;opacity: 0.5; padding-top: 5px;"> powered by
|
||||
<a href="https://admin.typeform.com/signup?utm_campaign=r5V9jm&utm_source=typeform.com-11461475-Pro&utm_medium=typeform&utm_content=typeform-embedded-poweredbytypeform&utm_term=EN" style="color: #999" target="_blank">Typeform</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<% title "Swagnets Information" %>
|
||||
|
||||
<%= content_for :page_meta do %>
|
||||
<link rel="canonical" href="https://dev.to/swagnets"/>
|
||||
<link rel="canonical" href="https://dev.to/swagnets" />
|
||||
<meta name="description" content="dev.to | Swagnets Information page">
|
||||
<meta name="keywords" content="software development,engineering,rails,javascript,ruby">
|
||||
|
||||
|
|
@ -9,8 +9,6 @@
|
|||
|
||||
<% end %>
|
||||
|
||||
|
||||
|
||||
<!-- <p id="notice"><%#= notice %></p> -->
|
||||
|
||||
<div class="blank-space"></div>
|
||||
|
|
@ -22,11 +20,15 @@
|
|||
</h1>
|
||||
</div>
|
||||
<div class="body">
|
||||
<p>So, you've received a <a href="http://swagnets.com">Swagnet</a>.<br>Swagnets use the built-in magnets found in your laptop's display in order to stay put. That way, there's no residue and they easily pop on and off.<br>They're compatible with <b>Macbooks</b> and <i>some</i> PC laptops.</p>
|
||||
<p>So, you've received a
|
||||
<a href="http://swagnets.com">Swagnet</a>.<br>Swagnets use the built-in magnets found in your laptop's display in order to stay put. That way, there's no residue and they easily pop on and off.<br>They're compatible with
|
||||
<b>Macbooks</b> and <i>some</i> PC laptops.</p>
|
||||
|
||||
<img src="https://res.cloudinary.com/practicaldev/image/upload/v1495227296/dev-swagnets_kbwrr4.png" alt="Swagnet example on MacBook">
|
||||
<img src="https://res.cloudinary.com/practicaldev/image/upload/v1495227296/dev-swagnets_kbwrr4.png" alt="Swagnet example on MacBook">
|
||||
|
||||
<p>We understand that some of you won't have a device that supports your new Swagnet, but we hope that you have a friend who can enjoy it :)<br>By the way, you can also buy Swagnets that benefit open-source projects: you can check those out <b><a href="https://www.swagnets.com/pages/activism">here</a></b>.<br>Comments? Suggestions? Ping us on Twitter or at <a href="mailto:yo@dev.to">yo@dev.to</a>.</p>
|
||||
<p>We understand that some of you won't have a device that supports your new Swagnet, but we hope that you have a friend who can enjoy it :)<br>By the way, you can also buy Swagnets that benefit open-source projects: you can check those out
|
||||
<b><a href="https://www.swagnets.com/pages/activism">here</a></b>.<br>Comments? Suggestions? Ping us on Twitter or at
|
||||
<a href="mailto:yo@dev.to">yo@dev.to</a>.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<% title "Tag Moderation Guide for dev.to()" %>
|
||||
|
||||
<%= content_for :page_meta do %>
|
||||
<link rel="canonical" href="https://dev.to/tag-moderation"/>
|
||||
<link rel="canonical" href="https://dev.to/tag-moderation" />
|
||||
<meta name="description" content="Tag Moderation Guide for dev.to()">
|
||||
<meta name="keywords" content="software development,engineering,rails,javascript,ruby">
|
||||
|
||||
|
|
@ -34,7 +34,7 @@
|
|||
</h1>
|
||||
</div>
|
||||
<div class="body">
|
||||
<p>The DEV Tag Moderator program is currently in beta, so privileges will evolve over time. Currently, tag moderators have the ability to:</p>
|
||||
<p>The DEV Tag Moderator program is currently in beta, so privileges will evolve over time. Currently, tag moderators have the ability to:</p>
|
||||
<ul>
|
||||
<li>Remove tags you are moderating from certain posts</li>
|
||||
<li>Update the tag sidebar (i.e. add a description, submission guideline, etc).</li>
|
||||
|
|
@ -45,8 +45,12 @@
|
|||
<ol>
|
||||
<li>Visit the article in question.</li>
|
||||
<li>Append /mod to the end of the article URL (i.e. https://dev.to/ben/devto-is-now-open-source-5n1/mod)</li>
|
||||
<li>You'll see the below form. Update the appropriate fields. Please include the reason for removing your tag from this post. <strong>The author will receive a notification that the tag has been removed</strong>, along with your reason for removing it.</li>
|
||||
<li><strong>Note: once you remove the tag, the author will not be able to add it back.</strong> Only remove tags when you are confident they are not appropriate, and please do not remove tags simply because you did not like the post.</li>
|
||||
<li>You'll see the below form. Update the appropriate fields. Please include the reason for removing your tag from this post.
|
||||
<strong>The author will receive a notification that the tag has been removed</strong>, along with your reason for removing it.
|
||||
</li>
|
||||
<li>
|
||||
<strong>Note: once you remove the tag, the author will not be able to add it back.</strong> Only remove tags when you are confident they are not appropriate, and please do not remove tags simply because you did not like the post.
|
||||
</li>
|
||||
<li>Click remove!</li>
|
||||
</ol>
|
||||
<img alt="tag-removal-form" src="<%= cloudinary("https://thepracticaldev.s3.amazonaws.com/i/u67xiw2uon9g5mhbbeff.png") %>">
|
||||
|
|
@ -54,18 +58,20 @@
|
|||
<h3>How to Update the Tag Sidebar</h3>
|
||||
<ol>
|
||||
<li>Visit: https://dev.to/t/{tag name}/edit (i.e. https://dev.to/t/discuss/edit)</li>
|
||||
<li>Update form. See below for a reference for each field. All field accept markdown <em>except</em> the pretty name and summary</li>
|
||||
<li>Update form. See below for a reference for each field. All field accept markdown
|
||||
<em>except</em> the pretty name and summary
|
||||
</li>
|
||||
<li>Click Save!</li>
|
||||
</ol>
|
||||
<img alt="tag-edit-form" src="<%= cloudinary("https://thepracticaldev.s3.amazonaws.com/i/my9u83otmqzep38lo3ib.png") %>">
|
||||
<br>
|
||||
<img alt="example-tag-page" src="<%= cloudinary("https://thepracticaldev.s3.amazonaws.com/i/cc8vz48djnhty6c31jog.png") %>">
|
||||
<h4>Examples of supported tags:</h4>
|
||||
<ul>
|
||||
<li><a href="https://dev.to/t/shecoded">#shecoded</a></li>
|
||||
<li><a href="https://dev.to/t/weeklyui">#weeklyui</a></li>
|
||||
<li><a href="https://dev.to/t/meta">#meta</a></li>
|
||||
</ul>
|
||||
<ul>
|
||||
<li><a href="https://dev.to/t/shecoded">#shecoded</a></li>
|
||||
<li><a href="https://dev.to/t/weeklyui">#weeklyui</a></li>
|
||||
<li><a href="https://dev.to/t/meta">#meta</a></li>
|
||||
</ul>
|
||||
<h3>How to become a moderator</h3>
|
||||
<p>If you're interested in becoming a tag moderator, please email yo@dev.to!</p>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<% title "Terms of Use for The DEV Community" %>
|
||||
|
||||
<%= content_for :page_meta do %>
|
||||
<link rel="canonical" href="https://dev.to/terms"/>
|
||||
<link rel="canonical" href="https://dev.to/terms" />
|
||||
<meta name="description" content="Terms of Use for The DEV Community">
|
||||
<meta name="keywords" content="software development,engineering,rails,javascript,ruby">
|
||||
|
||||
|
|
@ -19,8 +19,6 @@
|
|||
<meta name="twitter:image:src" content="http://i.imgur.com/B4JNl1w.png">
|
||||
<% end %>
|
||||
|
||||
|
||||
|
||||
<!-- <p id="notice"><%#= notice %></p> -->
|
||||
|
||||
<div class="blank-space"></div>
|
||||
|
|
@ -37,7 +35,8 @@
|
|||
|
||||
<p>
|
||||
By accessing this web site, you are agreeing to be bound by these
|
||||
web site Terms and Conditions of Use, our <a href="/privacy">Privacy Policy</a>, all applicable laws and regulations,
|
||||
web site Terms and Conditions of Use, our
|
||||
<a href="/privacy">Privacy Policy</a>, all applicable laws and regulations,
|
||||
and agree that you are responsible for compliance with any applicable local
|
||||
laws. If you do not agree with any of these terms, you are prohibited from
|
||||
using or accessing this site. The materials contained in this web site are
|
||||
|
|
@ -107,7 +106,8 @@
|
|||
</h3>
|
||||
|
||||
<p>
|
||||
Users agree and certify that they have rights to share all content that they post on dev.to — including, but not limited to, information posted in articles, discussions, and comments. This rule applies to prose, code snippets, collections of links, etc. Regardless of citation, users may not post copy and pasted content that does not belong to them. Users assume all risk for the content they post, including someone else's reliance on its accuracy, claims relating to intellectual property, or other legal rights. If you believe that a user has plagiarized content, misrepresented their identity, misappropriated work, or otherwise run afoul of DMCA regulations, please email <a href="mailto:yo@dev.to">yo@dev.to</a>. DEV may remove any content users post for any reason.
|
||||
Users agree and certify that they have rights to share all content that they post on dev.to — including, but not limited to, information posted in articles, discussions, and comments. This rule applies to prose, code snippets, collections of links, etc. Regardless of citation, users may not post copy and pasted content that does not belong to them. Users assume all risk for the content they post, including someone else's reliance on its accuracy, claims relating to intellectual property, or other legal rights. If you believe that a user has plagiarized content, misrepresented their identity, misappropriated work, or otherwise run afoul of DMCA regulations, please email
|
||||
<a href="mailto:yo@dev.to">yo@dev.to</a>. DEV may remove any content users post for any reason.
|
||||
</p>
|
||||
|
||||
<h3>
|
||||
|
|
@ -119,23 +119,23 @@
|
|||
</p>
|
||||
|
||||
<h3>
|
||||
9. DEV Trademarks and Logos Policy
|
||||
9. DEV Trademarks and Logos Policy
|
||||
</h3>
|
||||
|
||||
<p>
|
||||
All uses of the DEV logo, DEV badges, brand slogans, iconography, and the like, may only be used with express permission from DEV. DEV reserves all rights, even if certain assets are included in DEV open source projects. Please contact yo@dev.to with any questions or to request permission.
|
||||
All uses of the DEV logo, DEV badges, brand slogans, iconography, and the like, may only be used with express permission from DEV. DEV reserves all rights, even if certain assets are included in DEV open source projects. Please contact yo@dev.to with any questions or to request permission.
|
||||
</p>
|
||||
|
||||
<h3>
|
||||
10. Reserved Names
|
||||
10. Reserved Names
|
||||
</h3>
|
||||
|
||||
<p>
|
||||
DEV has the right to maintain a list of reserved names which will not be made publicly available. These reserved names may be set aside for purposes of proactive trademark protection, avoiding user confusion, security measures, or any other reason (or no reason).
|
||||
DEV has the right to maintain a list of reserved names which will not be made publicly available. These reserved names may be set aside for purposes of proactive trademark protection, avoiding user confusion, security measures, or any other reason (or no reason).
|
||||
</p>
|
||||
|
||||
|
||||
<p>
|
||||
Additionally, DEV reserves the right to change any already-claimed name at its sole discretion. In such cases, DEV will make reasonable effort to find a suitable alternative and assist with any transition-related concerns.
|
||||
Additionally, DEV reserves the right to change any already-claimed name at its sole discretion. In such cases, DEV will make reasonable effort to find a suitable alternative and assist with any transition-related concerns.
|
||||
</p>
|
||||
|
||||
<h3>
|
||||
|
|
@ -143,11 +143,11 @@
|
|||
</h3>
|
||||
|
||||
<p>
|
||||
Users must make a good-faith effort to share content that is on-topic, of high-quality, and is not designed primarily for the purposes of promotion or creating backlinks. Additionally, posts must contain substantial content — they may not merely reference an external link that contains the full post. This policy applies to comments, articles, and and all other works shared on the DEV platform.
|
||||
Users must make a good-faith effort to share content that is on-topic, of high-quality, and is not designed primarily for the purposes of promotion or creating backlinks. Additionally, posts must contain substantial content — they may not merely reference an external link that contains the full post. This policy applies to comments, articles, and and all other works shared on the DEV platform.
|
||||
</p>
|
||||
|
||||
|
||||
<p>
|
||||
DEV reserves the right to remove any content that it deems to be in violation of this policy at its sole discretion. Additionally, DEV reserves the right to restrict any user’s ability to participate on the platform at its sole discretion.
|
||||
DEV reserves the right to remove any content that it deems to be in violation of this policy at its sole discretion. Additionally, DEV reserves the right to restrict any user’s ability to participate on the platform at its sole discretion.
|
||||
</p>
|
||||
|
||||
<h3>
|
||||
|
|
|
|||
|
|
@ -1,110 +1,130 @@
|
|||
<style>
|
||||
body{
|
||||
background:#1598c3;
|
||||
color:white;
|
||||
body {
|
||||
background: #1598c3;
|
||||
color: white;
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
|
||||
}
|
||||
.top-bar{
|
||||
display:none;
|
||||
|
||||
.top-bar {
|
||||
display: none;
|
||||
}
|
||||
.twitter-logo{
|
||||
margin-top:80px;
|
||||
height:80px;
|
||||
width:80px;
|
||||
|
||||
.twitter-logo {
|
||||
margin-top: 80px;
|
||||
height: 80px;
|
||||
width: 80px;
|
||||
animation-name: pulse_animation;
|
||||
animation-duration: 700ms;
|
||||
transform-origin:70% 70%;
|
||||
transform-origin: 70% 70%;
|
||||
animation-iteration-count: infinite;
|
||||
animation-timing-function: linear;
|
||||
}
|
||||
h3{
|
||||
margin-top:50px;
|
||||
font-size:40px;
|
||||
margin-bottom:0px;
|
||||
}
|
||||
h1{
|
||||
font-size:450px;
|
||||
margin:5px auto;
|
||||
}
|
||||
h2{
|
||||
margin-top:0px;
|
||||
margin-bottom:500px;
|
||||
font-size:60px;
|
||||
|
||||
h3 {
|
||||
margin-top: 50px;
|
||||
font-size: 40px;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
#main-image{
|
||||
min-width:100%;
|
||||
margin-top:20px;
|
||||
height:100vh;
|
||||
h1 {
|
||||
font-size: 450px;
|
||||
margin: 5px auto;
|
||||
}
|
||||
|
||||
h2 {
|
||||
margin-top: 0px;
|
||||
margin-bottom: 500px;
|
||||
font-size: 60px;
|
||||
}
|
||||
|
||||
#main-image {
|
||||
min-width: 100%;
|
||||
margin-top: 20px;
|
||||
height: 100vh;
|
||||
}
|
||||
|
||||
@keyframes pulse_animation {
|
||||
0% { transform: scale(1); }
|
||||
30% { transform: scale(1.); }
|
||||
40% { transform: scale(1); }
|
||||
50% { transform: scale(1.3); }
|
||||
60% { transform: scale(1.3); }
|
||||
70% { transform: scale(1); }
|
||||
80% { transform: scale(1); }
|
||||
100% { transform: scale(1); }
|
||||
0% {
|
||||
transform: scale(1);
|
||||
}
|
||||
30% {
|
||||
transform: scale(1);
|
||||
}
|
||||
40% {
|
||||
transform: scale(1);
|
||||
}
|
||||
50% {
|
||||
transform: scale(1.3);
|
||||
}
|
||||
60% {
|
||||
transform: scale(1.3);
|
||||
}
|
||||
70% {
|
||||
transform: scale(1);
|
||||
}
|
||||
80% {
|
||||
transform: scale(1);
|
||||
}
|
||||
100% {
|
||||
transform: scale(1);
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
<center>
|
||||
<% if @twitter_countdown > 0 %>
|
||||
<img class="twitter-logo" src="http://i.imgur.com/x4Lpthl.png" alt="Twitter logo"/>
|
||||
<h3>
|
||||
<%= number_with_delimiter(@twitter_count, delimeter: ",") %> followers and counting
|
||||
</h3>
|
||||
<h1>
|
||||
<%= @twitter_countdown %>
|
||||
</h1>
|
||||
<h2>Away from 100k!</h2>
|
||||
<script>
|
||||
<% if @twitter_countdown > 0 %>
|
||||
<img class="twitter-logo" src="http://i.imgur.com/x4Lpthl.png" alt="Twitter logo" />
|
||||
<h3>
|
||||
<%= number_with_delimiter(@twitter_count, delimeter: ",") %> followers and counting
|
||||
</h3>
|
||||
<h1>
|
||||
<%= @twitter_countdown %>
|
||||
</h1>
|
||||
<h2>Away from 100k!</h2>
|
||||
<script>
|
||||
|
||||
setInterval(function(){
|
||||
location.reload();
|
||||
},100000)
|
||||
</script>
|
||||
<% else %>
|
||||
<img id="main-image" src="https://media4.giphy.com/media/s2qXK8wAvkHTO/giphy.gif" alt="Glitter throwing party time!" />
|
||||
<audio controls autoplay style="display:none">
|
||||
<source src="<%= asset_url("smashmouth.mp3") %>" type="audio/mpeg">
|
||||
Your browser does not support the audio element.
|
||||
</audio>
|
||||
setInterval(function () {
|
||||
location.reload();
|
||||
}, 100000)
|
||||
</script>
|
||||
<% else %>
|
||||
<img id="main-image" src="https://media4.giphy.com/media/s2qXK8wAvkHTO/giphy.gif" alt="Glitter throwing party time!" />
|
||||
<audio controls autoplay style="display:none">
|
||||
<source src="<%= asset_url("smashmouth.mp3") %>" type="audio/mpeg">
|
||||
Your browser does not support the audio element.
|
||||
</audio>
|
||||
|
||||
<script>
|
||||
var gifUrls = [
|
||||
"https://media1.giphy.com/media/3otPotpcqz724UaL6w/giphy.gif",
|
||||
"https://media3.giphy.com/media/axu6dFuca4HKM/giphy.gif",
|
||||
"https://media3.giphy.com/media/26tPplGWjN0xLybiU/giphy.gif",
|
||||
"https://media4.giphy.com/media/87NS05bya11mg/giphy.gif",
|
||||
"https://media3.giphy.com/media/ytwDCq9aT3cgEyyYVO/giphy.gif",
|
||||
"https://media3.giphy.com/media/l0MYIMPc1sL21MtuU/giphy.gif",
|
||||
"https://media1.giphy.com/media/G9yZMzJe6pMYw/giphy.gif",
|
||||
"https://media2.giphy.com/media/l0ExsxPMVSF2rjrz2/giphy.gif",
|
||||
"https://media4.giphy.com/media/ugdx6d2VUIuPK/giphy.gif",
|
||||
"https://media2.giphy.com/media/26uf6LevkgeEUKkcU/giphy.gif",
|
||||
"https://media1.giphy.com/media/3o7abnemh3dNldgi5i/giphy.gif",
|
||||
"https://media0.giphy.com/media/Zn7rsVqBTPAly/giphy.gif",
|
||||
"https://media2.giphy.com/media/4T48716LEWUGA/giphy.gif",
|
||||
"https://media4.giphy.com/media/kUgUnmqig0X3q/giphy.gif",
|
||||
"https://media2.giphy.com/media/lngw0pFJezv9vWdDq/giphy.gif",
|
||||
"https://media3.giphy.com/media/RIuHHNa7UgFKo/giphy.gif",
|
||||
"https://media3.giphy.com/media/bws3WABS4Fsl2/giphy.gif"
|
||||
]
|
||||
gifUrls.forEach(function(url){
|
||||
var pic = new Image();
|
||||
pic.src = url;
|
||||
});
|
||||
setInterval(function(){
|
||||
var newGifUrl = gifUrls[Math.floor(Math.random()*gifUrls.length)];
|
||||
document.getElementById("main-image").src = newGifUrl;
|
||||
},3800);
|
||||
</script>
|
||||
<script>
|
||||
var gifUrls = [
|
||||
"https://media1.giphy.com/media/3otPotpcqz724UaL6w/giphy.gif",
|
||||
"https://media3.giphy.com/media/axu6dFuca4HKM/giphy.gif",
|
||||
"https://media3.giphy.com/media/26tPplGWjN0xLybiU/giphy.gif",
|
||||
"https://media4.giphy.com/media/87NS05bya11mg/giphy.gif",
|
||||
"https://media3.giphy.com/media/ytwDCq9aT3cgEyyYVO/giphy.gif",
|
||||
"https://media3.giphy.com/media/l0MYIMPc1sL21MtuU/giphy.gif",
|
||||
"https://media1.giphy.com/media/G9yZMzJe6pMYw/giphy.gif",
|
||||
"https://media2.giphy.com/media/l0ExsxPMVSF2rjrz2/giphy.gif",
|
||||
"https://media4.giphy.com/media/ugdx6d2VUIuPK/giphy.gif",
|
||||
"https://media2.giphy.com/media/26uf6LevkgeEUKkcU/giphy.gif",
|
||||
"https://media1.giphy.com/media/3o7abnemh3dNldgi5i/giphy.gif",
|
||||
"https://media0.giphy.com/media/Zn7rsVqBTPAly/giphy.gif",
|
||||
"https://media2.giphy.com/media/4T48716LEWUGA/giphy.gif",
|
||||
"https://media4.giphy.com/media/kUgUnmqig0X3q/giphy.gif",
|
||||
"https://media2.giphy.com/media/lngw0pFJezv9vWdDq/giphy.gif",
|
||||
"https://media3.giphy.com/media/RIuHHNa7UgFKo/giphy.gif",
|
||||
"https://media3.giphy.com/media/bws3WABS4Fsl2/giphy.gif"
|
||||
]
|
||||
gifUrls.forEach(function (url) {
|
||||
var pic = new Image();
|
||||
pic.src = url;
|
||||
});
|
||||
setInterval(function () {
|
||||
var newGifUrl = gifUrls[Math.floor(Math.random() * gifUrls.length)];
|
||||
document.getElementById("main-image").src = newGifUrl;
|
||||
}, 3800);
|
||||
</script>
|
||||
|
||||
<% end %>
|
||||
<% end %>
|
||||
</center>
|
||||
|
||||
<img src="https://media4.giphy.com/media/s2qXK8wAvkHTO/giphy.gif" alt="Glitter throwing party time!" style="display:none"/>
|
||||
<img src="https://media4.giphy.com/media/s2qXK8wAvkHTO/giphy.gif" alt="Glitter throwing party time!" style="display:none" />
|
||||
|
|
|
|||
|
|
@ -9,17 +9,21 @@
|
|||
}
|
||||
</style>
|
||||
|
||||
<div class="container article">
|
||||
<div class="container article">
|
||||
<div style="height:30px">
|
||||
</div>
|
||||
<div class="body">
|
||||
<img src="<%= asset_path 'sustaining-membership.svg' %>" style="height:200px;margin-top:30px;"/>
|
||||
<img src="<%= asset_path "sustaining-membership.svg" %>" style="height:200px;margin-top:30px;" />
|
||||
<h1 style="font-size:1.9em;font-weight:600;text-align:center;">
|
||||
DEV <br> WORKSHOPS
|
||||
</h1>
|
||||
<p> We are launching regular workshops that will cover beginner to advanced topics and everything in-between. These will be taught by topic experts from the community. Topics we plan on covering early include <b>web performance, Kubernetes, mechanical keyboards and much more</b>.</p>
|
||||
<p> We are launching regular workshops that will cover beginner to advanced topics and everything in-between. These will be taught by topic experts from the community. Topics we plan on covering early include
|
||||
<b>web performance, Kubernetes, mechanical keyboards and much more</b>.</p>
|
||||
|
||||
<p> Workshops are available to dev.to <a href="/membership">sustaining members</a> with workshop passes. For those unable to become a sustaining member, we encourage you to apply for a <a href="/p/scholarships">scholarship</a>.
|
||||
<p> Workshops are available to dev.to
|
||||
<a href="/membership">sustaining members</a> with workshop passes. For those unable to become a sustaining member, we encourage you to apply for a
|
||||
<a href="/p/scholarships">scholarship</a>.</p>
|
||||
|
||||
<p> February workshops will be announced soon.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue