igrigorik/vimgolf

View on GitHub
app/views/main/about.erb

Summary

Maintainability
Test Coverage
<div class="grid_7">

    <h3><b>Changelog</b> <a href="https://github.com/igrigorik/vimgolf/commits/master">(details)</a></h3>
    <ul>
        <li><b>May 28, 2021</b>: shipped v0.5.0 with support for HTTPS</li>
        <li><b>May 06, 2021</b>: site performance improvements: migrated from MongoDB Atlas to Active Record on Postgres backend (<a href="https://twitter.com/igrigorik/status/1390690636932599818">charts</a>)</li>
        <li><b>Apr 07, 2021</b>: switched avatars to identicons, since Twitter profile pictures are no longer accessible by an easy URL (need better fix)</li>
        <li><b>Mar 26, 2021</b>: upgraded to Rails 5.2 under Ruby 2.6, using heroku-20 platform</li>
        <li><b>Mar 22, 2021</b>: shipped v0.4.9 with fix for &lt;fd-61&gt; phantom keystrokes (among other pending fixes)</li>
        <li><b>Nov 20, 2020</b>: introduced a new view with access to all submissions per user for a specific challenge</li>
        <li><b>Jul 07, 2018</b>: site performance improvements: pagination/remove jquery</li>
        <li><b>Dec 28, 2016</b>: disabled user profile pages (<a href="https://github.com/igrigorik/vimgolf/issues/150">bug</a>)</li>
        <li><b>Jan 18, 2015</b>: shipped v0.4.8 with windows bugfix</li>
        <li><b>Jan 18, 2015</b>: shipped v0.4.7 with new "local" CLI mode</li>
        <li><b>Aug 14, 2014</b>: shipped v0.4.6 with routing updates</li>
        <li><b>Jun 29, 2013</b>: shipped v0.4.5 with bugfix for version reporting</li>
        <li><b>Jun 28, 2013</b>: shipped v0.4.4 with JSON upload / download</li>
        <li><b>Jun 22, 2013</b>: shipped v0.4.3 with impored CLI</li>
        <li><b>Sep 18, 2012</b>: shipped v0.4.2 with bugfix for challenge retry</li>
        <li><b>Mar 17, 2012</b>: shipped v0.4.1 with improved CLI + emacs support!</li>
        <li><b>Jan 30, 2011</b>: fix order of top vimgolf ninjas displayed on homepage</li>
        <li><b>Jan 30, 2011</b>: fix order of top vimgolf ninjas displayed on homepage</li>
        <li><b>Jan 06, 2011</b>: shipped v0.3.0 with no native extensions + windows support</li>
        <li><b>Jan 05, 2011</b>: show top 5 VimGolf ninjas on homepage</li>
        <li><b>Jan 04, 2011</b>: site performance improvements</li>
        <li><b>Jan 02, 2011</b>: added user profile pages! ex: vimgolf.com/your_handle</li>
        <li><b>Jan 01, 2011</b>: added RSS feed of latest challenges</li>
        <li><b>Dec 31, 2010</b>: show lowest 20% of solutions to everyone</li>
        <li><b>Dec 31, 2010</b>: colorized vimscript output!</li>
        <li><b>Dec 31, 2010</b>: shipped v0.2.0, now with proper vimscript scoring + parser!</li>
        <li><b>Dec 31, 2010</b>: golfers can comment on each others entries</li>
        <li><b>Dec 30, 2010</b>: unlock solutions with same score + only show best entry per user</li>
        <li><b>Dec 30, 2010</b>: golfers can delete own entries + permalinks to solutions</li>
        <li><b>Dec 30, 2010</b>: shipped v0.1.3, which now initializes vimgolf's .vimrc (see below)</li>
    </ul>

    <h3><b>Rules</b></h3>
    <ol>
        <li>Anyone can create a new challenge</li>
        <li>Creator of the challenge is also the moderator: can view/delete solutions</li>
        <li>Players can submit as many attempts as they want per challenge</li>
        <li>Entries are ranked by score (lowest wins), ties broken by time</li>
        <li>VimGolf initializes your Vim with a custom .vimrc - no custom modifications</li>
        <li>No plugins, predefined macros, etc, are allowed - level playing field</li>
        <li>Refrain from copy/paste, reading in the solution (:read), or using external tools</li>
        <li>Cheaters <em><b>will be</b></em> publicly ridiculed by fellow golfers :-)</li>
    </ol>

    <p><b>Note:</b> We're definitely not trying to discourage Vim users from customizing their .vimrc's, defining useful macros or loading external plugins. Having said that, to have a fair competition, we need to level the playing field, and to do that, we're sticking to the basics.</p>

    <h3><b>FAQ</b></h3>
    <ol>
        <li><b>How do I view the solutions?</b> Submit your own to unlock them.</li>
        <li><b>Can I see all the solutions?</b> You'll have to climb the ladder - practice makes perfect.</li>
        <li><b>I found a cheat entry!</b> Ping one of the moderators on IRC or twitter!</li>
        <li><b>What about feature X?</b> Check the Github link in the sidebar, or hop on IRC!</li>
    </ol>

    <h3><a name="resources"><b>Resources for learning Vim</b></a></h3>
    <ul>
        <li><%= link_to "Vim Tutorial @ linuxconfig.org", "https://www.linuxconfig.org/Vim_Tutorial", :target => :_new %></li>
        <li><%= link_to "Vim Tutorial Videos @ derekwyatt.org", "http://derekwyatt.org/vim/tutorials", :target => :_new %></li>
        <li><%= link_to "VimCasts", "http://vimcasts.org", :target => :_new %></li>
    </ul>

    <h3><b>VimGolf's .vimrc</b></h3>
    <script src="https://gist.github.com/759425.js"> </script>
    <p><a href="https://gist.github.com/759425">Comments / discussions on the vimrc</a></p>

    <h3><b>Setup Tips &amp; Tricks</b></h3>
    <ul>
        <li><b>Golfing through a proxy:</b> set your "<b>http_proxy</b>" environment variable to URL of proxy</li>
        <li><b>Custom diff's &amp; flags:</b> set your "<b>DIFF</b>" environment variable (<a href="https://github.com/igrigorik/vimgolf/commit/d69469a93b404c4358b23fc1c4c7556a9563577e">d6946</a>)</li>
        <li><b>Golfing without ruby installation:</b> <a href="https://github.com/filbranden/vimgolf/pkgs/container/vimgolf">use docker</a><br />
          <code>docker run --rm -it -e "key=YOUR_VIMGOLF_KEY" ghcr.io/filbranden/vimgolf challenge_ID</code>
        </li>


    </ul>

    <p><b>Windows users:</b> To compete you will need to make sure that you can launch <b>"vim"</b> from your command prompt. </a>.</p>

</div>

<div class="grid_5">
 <h3>Getting in touch</h3>
 <ul>
    <li><b><a href="https://twitter.com/vimgolf">@vimgolf</a></b> on twitter</li>
    <li><b>#VimGolf</b> on freenode (IRC)</li>
    <li><a href="https://github.com/igrigorik/vimgolf/issues">Open issues on GitHub</a></li>
    <li><a href="https://github.com/igrigorik/vimgolf">CLI source code on Github</a></li>
 </ul>

 <h3>Moderators</h3>
 <ul>
    <% ADMINS.each do |user| %>
      <%- if u = User.find_by_nickname(user) %>
        <li><%= profile_link(u) %></li>
      <%- end %>
    <% end %>
 </ul>

</div>