Make portico pages structurally valid HTML

There were a few things the W3C validator complained about that I
didn't bother fixing (like img tags without alt attributes and
obsolete tags).  There also a few pages that were slightly more
annoying to get my local instance to render (like the 404 and 500
error pages), so I checked those by eye.

This does not cover the actual app at all.

(imported from commit 1cbe1ec11067e96718814ec23eaf5a8b4b68ef19)
This commit is contained in:
Zev Benjamin 2013-06-19 17:46:11 -04:00
parent 552347ac52
commit 0754430c86
9 changed files with 29 additions and 27 deletions

View File

@ -13,7 +13,7 @@
<p>We have a <a href="/api/endpoints">well-documented API</a> that allows you to build custom integrations, in addition to our <a href="/integrations">existing integrations</a>. For ease-of-use, we've created a Python module that you can drop in to a project to start interacting with our API.</p>
<br/>
<a href="https://humbughq.com/dist/api/python-humbug_0.1.9.tar.gz" class="btn btn-large btn-primary btn-block" type="button"><i class="icon-download icon-white"></i> Download Python bindings and examples</a>
<a href="https://humbughq.com/dist/api/python-humbug_0.1.9.tar.gz" class="btn btn-large btn-primary btn-block"><i class="icon-download icon-white"></i> Download Python bindings and examples</a>
<span class="pull-right muted">Version 0.1.9</span>
<p>&nbsp;</p>
@ -119,11 +119,11 @@ to pull out the resulting HTML :)
<h4>Stream message</h4>
<div class="codehilite"><pre>humbug-send --stream Denmark --subject Castle \
--user othello-bot@example.com --api-key a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5</span></pre></div>
--user othello-bot@example.com --api-key a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5</pre></div>
<h4>Private message</h4>
<div class="codehilite"><pre>humbug-send wdaher@humbughq.com --user othello-bot@example.com \
--api-key a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5</span>
--api-key a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5
</pre></div>
<h4>Passing in the message on the command-line</h4>
@ -136,6 +136,7 @@ to pull out the resulting HTML :)
</div>
<p>See also the <a href="/api/endpoints">full API endpoint documentation.</a></p>
</div>
</div>
</div>
{% endblock %}

View File

@ -20,7 +20,7 @@
]
],
"example_request": {
"python": "<div class=\"codehilite\"><pre><span clash=\"n\">client</span><span class=\"o\">.</span><span class=\"n\">get_messages<span class=\"p\">()</span>\n</span></pre></div>",
"python": "<div class=\"codehilite\"><pre><span class=\"n\">client</span><span class=\"o\">.</span><span class=\"n\">get_messages<span class=\"p\">()</span>\n</span></pre></div>",
"curl": "<div class=\"codehilite\"><pre>curl -G https://humbughq.com/api/v1/messages/latest <span class=\"se\">\\</span>\n -u othello-bot@example.com:a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5 <span class=\"se\">\\</span>\n -d <span class=\"s2\">\"last=102345\"</span>\n</pre></div>"
}
},
@ -53,7 +53,7 @@
]
],
"example_request": {
"python": "<div class=\"codehilite\"><pre>\n<span class=\"n\">client</span><span class=\"o\">.</span><span class=\"n\">send_message</span><span class=\"p\">({</span>\n <span class=\"s\">\"type\"</span><span class=\"p\">:</span> <span class=\"s\">\"private\"</span><span class=\"p\">,</span>\n <span class=\"s\">\"to\"</span><span class=\"p\">:</span> <span class=\"s\">\"wdaher@humbughq.com\"</span><span class=\"p\">,</span>\n <span class=\"s\">\"content\"</span><span class=\"p\">:</span> <span class=\"s\">\"I come not, friends, to steal away your hearts.\"</span>\n<span class=\"p\">}</span>)</span>\n<span class=\"n\">client</span><span class=\"o\">.</span><span class=\"n\">send_message</span><span class=\"p\">(</span><span class=\"n\"><span class=\"p\">{</span>\n <span class=\"s\">\"type\"</span><span class=\"p\">:</span> <span class=\"s\">\"stream\"</span><span class=\"p\">,</span>\n <span class=\"s\">\"to\"</span><span class=\"p\">:</span> <span class=\"s\">\"Denmark\"</span><span class=\"p\">,</span>\n <span class=\"s\">\"subject\"</span><span class=\"p\">:</span> <span class=\"s\">\"Castle\"</span><span class=\"p\">,</span>\n <span class=\"s\">\"content\"</span><span class=\"p\">:</span> <span class=\"s\">\"Something is rotten in the state of Denmark.\"</span>\n<span class=\"p\">}</span></span><span class=\"p\">)</span>\n</pre></div>\n",
"python": "<div class=\"codehilite\"><pre>\n<span class=\"n\">client</span><span class=\"o\">.</span><span class=\"n\">send_message</span><span class=\"p\">({</span>\n <span class=\"s\">\"type\"</span><span class=\"p\">:</span> <span class=\"s\">\"private\"</span><span class=\"p\">,</span>\n <span class=\"s\">\"to\"</span><span class=\"p\">:</span> <span class=\"s\">\"wdaher@humbughq.com\"</span><span class=\"p\">,</span>\n <span class=\"s\">\"content\"</span><span class=\"p\">:</span> <span class=\"s\">\"I come not, friends, to steal away your hearts.\"</span>\n<span class=\"p\">}</span>)\n<span class=\"n\">client</span><span class=\"o\">.</span><span class=\"n\">send_message</span><span class=\"p\">(</span><span class=\"n\"><span class=\"p\">{</span>\n <span class=\"s\">\"type\"</span><span class=\"p\">:</span> <span class=\"s\">\"stream\"</span><span class=\"p\">,</span>\n <span class=\"s\">\"to\"</span><span class=\"p\">:</span> <span class=\"s\">\"Denmark\"</span><span class=\"p\">,</span>\n <span class=\"s\">\"subject\"</span><span class=\"p\">:</span> <span class=\"s\">\"Castle\"</span><span class=\"p\">,</span>\n <span class=\"s\">\"content\"</span><span class=\"p\">:</span> <span class=\"s\">\"Something is rotten in the state of Denmark.\"</span>\n<span class=\"p\">}</span></span><span class=\"p\">)</span>\n</pre></div>\n",
"curl": "<h5>Stream message</h5>\n<div class=\"codehilite\"><pre>curl https://humbughq.com/api/v1/messages <span class=\"se\">\\</span>\n -u BOT_EMAIL_ADDRESS:BOT_API_KEY <span class=\"se\">\\</span>\n -d <span class=\"s2\">\"type=stream\"</span> <span class=\"se\">\\</span>\n -d <span class=\"s2\">\"to=Denmark\"</span> <span class=\"se\">\\</span>\n -d <span class=\"s2\">\"subject=Castle\"</span> <span class=\"se\">\\</span>\n -d <span class=\"s2\">\"content=Something is rotten in the state of Denmark.\"</span>\n</pre></div>\n<h5>Private message</h5>\n<div class=\"codehilite\"><pre>curl https://humbughq.com/api/v1/messages <span class=\"se\">\\</span>\n -u BOT_EMAIL_ADDRESS:BOT_API_KEY <span class=\"se\">\\</span>\n -d <span class=\"s2\">\"type=private\"</span> <span class=\"se\">\\</span>\n -d <span class=\"s2\">\"to=wdaher@humbughq.com\"</span> <span class=\"se\">\\</span>\n -d <span class=\"s2\">\"content=I come not, friends, to steal away your hearts.\"</span>\n</pre></div>"
}
}

View File

@ -30,7 +30,7 @@
{% autoescape off %}
{% for blurb in content %}
<div class="api-block" id="{{ blurb.call }}">
<div class="api-block">
<h2 class="call">{{ blurb.call }}</h2>
<div class="endpoint"><code>{{ blurb.endpoint }}</code></div>
<div class="api-details">
@ -46,7 +46,6 @@
{% for return in blurb.returns %}
<dt><code>{{ return.0 }}</code></dt>
<dd>{{ return.1 }}</dd>
</li>
{% endfor %}
</dl>
{%if blurb.example_request %}
@ -69,6 +68,5 @@
</div>
</div>
</div>
{% endblock %}

View File

@ -46,7 +46,7 @@
<p>Humbug has a <strong>100% native app</strong> for iPhone,
and we're in the process of getting it into the App Store.
For now,
please <a target="_blank" href="mailto:support@humbughq.com?subject=Request%20for%20Humbug%20iPhone%20app&body=Hi%20Humbug,%20can%20you%20send%20me%20a%20link%20to%20the%20iPhone%20app%20alpha?%20I%20have%20an%20iPhone%20__.">email
please <a target="_blank" href="mailto:support@humbughq.com?subject=Request%20for%20Humbug%20iPhone%20app&amp;body=Hi%20Humbug,%20can%20you%20send%20me%20a%20link%20to%20the%20iPhone%20app%20alpha?%20I%20have%20an%20iPhone%20__.">email
us to request access</a>.</p>
</div>
@ -58,7 +58,7 @@
easy to keep track of.</p>
<p style="text-align: center">
<a href="https://humbughq.com/dist/apps/mac/Humbug-0.1.0.dmg" class="btn btn-large btn-primary" type="button"><i class="icon-download icon-white"></i> Download Humbug for Mac</a>
<a href="https://humbughq.com/dist/apps/mac/Humbug-0.1.0.dmg" class="btn btn-large btn-primary"><i class="icon-download icon-white"></i> Download Humbug for Mac</a>
</p>
<img class="screenshot" src="/static/images/app-screenshots/humbug-chrome-mac.png">
@ -67,28 +67,28 @@
<div class="tab-pane" id="linux">
<p>We recommend making
a <a href="http://support.google.com/chrome/bin/answer.py?hl=en&answer=95710">Chrome
a <a href="http://support.google.com/chrome/bin/answer.py?hl=en&amp;answer=95710">Chrome
Application Shortcut</a> for Humbug, so that it can appear on
your system like a native application. Alternatively, we
recommend simply pinning the Humbug tab in your browser.</p>
<p>You can find instructions for how to make a Chrome
Application
Shortcut <a href="http://support.google.com/chrome/bin/answer.py?hl=en&answer=95710">here</a>.</p>
Shortcut <a href="http://support.google.com/chrome/bin/answer.py?hl=en&amp;answer=95710">here</a>.</p>
<img class="screenshot" src="/static/images/app-screenshots/humbug-chrome-mac.png">
</div>
<div class="tab-pane" id="windows">
<p>We recommend making
a <a href="http://support.google.com/chrome/bin/answer.py?hl=en&answer=95710">Chrome
a <a href="http://support.google.com/chrome/bin/answer.py?hl=en&amp;answer=95710">Chrome
Application Shortcut</a> for Humbug, so that it can appear on
your system like a native application. Alternatively, we
recommend simply pinning the Humbug tab in your browser.</p>
<p>You can find instructions for how to make a Chrome
Application
Shortcut <a href="http://support.google.com/chrome/bin/answer.py?hl=en&answer=95710">here</a>.</p>
Shortcut <a href="http://support.google.com/chrome/bin/answer.py?hl=en&amp;answer=95710">here</a>.</p>
<img class="screenshot" src="/static/images/app-screenshots/humbug-chrome-windows.png">
</div>
@ -109,6 +109,7 @@
</div>
</div>
</div>
{% endblock %}

View File

@ -111,7 +111,7 @@
another step of your deployment process, if you'd like the
notification to fire at a different time.</li>
</ul>
<em></em></p>
<em></em>
<p><b>Congratulations! You're done!</b><br /> Whenever you do a
deployment, you'll get an automated notification that looks like
@ -235,8 +235,7 @@ following, to the stream <code>commits</code> with a subject that matches the re
<li>Does the stream you picked (e.g. <code>jenkins</code>) already exist? If not, add yourself to it and try again.</li>
<li>Are your access key and email address correct? Test them using <a href="/api">our curl API</a>.
<li>Still stuck? Email <a href="mailto:support@humbughq.com?subject=Jenkins">support@humbughq.com</a>.</li>
</p>
</ul>
<p>
<a href="#services">^ Back to top</a>
</p>
@ -251,11 +250,11 @@ following, to the stream <code>commits</code> with a subject that matches the re
mechanism that supports older versions of JIRA.
<p>In your JIRA administration control panel, go to the Webhooks page. If you are using the OnDemand
hosted JIRA, follow the instructions <a href="https://developer.atlassian.com/display/JIRADEV/JIRA+Webhooks+Overview#JIRAWebhooksOverview-WhereistheJIRAAdministrationUIforwebhooks?">
on the Atlassian wiki</a> for locating the Webhook UI</a>.
on the Atlassian wiki</a> for locating the Webhook UI.
</p>
<p>Give your new web hook a name, and for the URL provide the following:</p>
<p>
<code>https://humbughq.com/api/v1/external/jira?api_key=abcdefgh&stream=jira</code>
<code>https://humbughq.com/api/v1/external/jira?api_key=abcdefgh&amp;stream=jira</code>
</p>
<p>where <code>api_key</code> is the API key of the user you
@ -291,14 +290,14 @@ following, to the stream <code>commits</code> with a subject that matches the re
follow the on-screen instructions and restart JIRA for it to recognize the proper certificates.
<p><b>Humbug Integration</b></p>
Copy the folder <code>integrations/jira/org/</code> (from the tarball you downloaded above) to your JIRA <code>classes</code> folder.
For self-contained JIRA installations, this will be <code>atlassian-jira/WEB-INF/classes/</code>, but this may be different in your deployment.</p>
For self-contained JIRA installations, this will be <code>atlassian-jira/WEB-INF/classes/</code>, but this may be different in your deployment.
Edit the constants at the top of <code>org/humbug/jira/HumbugListener.groovy</code>
and fill them with the appropriate values:
<div class="codehilite"><pre><span class="n">String</span> <span class="n">humbugEmail</span> <span class="o">=</span> <span class="s2">"jira-notifications-bot@example.com"</span>
<span class="n">String</span> <span class="n">humbugAPIKey</span> <span class="o">=</span> <span class="s2">"0123456789abcdef0123456789abcdef"</span>
<span class="n">String</span> <span class="n">humbugStream</span> <span class="o">=</span> <span class="s2">"JIRA"</span>
<span class="n">String</span> <span class="n">issueBaseUrl</span> <span class="o">=</span> <span class="s2">"https://jira.COMPANY.com/browse/"</span>
</pre></div></p>
</pre></div>
<p>In the Administrators page, navigate to <code>Plugins > Other > Script Listeners</code>. In the <code>Add Listener</code> section, click on
the <code>Custom Listener</code> option. Select the events you wish the Humbug integration to fire for, and the projects you wish Humbug to be notified for.
In the <code>Name of groovy class</code> field, enter <code>org.humbug.jira.HumbugListener</code>.
@ -346,7 +345,7 @@ key=NAGIOS_BOT_API_KEY
</pre></div>
Once you've done that, reload your Nagios configuration
using <code>/etc/init.d/nagios3 reload</code>.</p>
using <code>/etc/init.d/nagios3 reload</code>.
<p><b>Congratulations! You're done!</b><br /> When your Nagios
system makes an alert, you'll see a message like the following,
@ -382,7 +381,7 @@ key=NAGIOS_BOT_API_KEY
<p>Humbug supports Pivotal Tracker integration and can notify you of changes to the stories in your Pivotal Tracker project. In the Settings page
for your project, choose the Integrations tab. Scroll down to the <code>Activity Web Hook</code> section, and enter the following url:</p>
<p><code>https://humbughq.com/api/v1/external/pivotal?api_key=abcdefgh&stream=pivotal</code></p>
<p><code>https://humbughq.com/api/v1/external/pivotal?api_key=abcdefgh&amp;stream=pivotal</code></p>
<p>where <code>api_key</code> is the API key of the user you
want updates to be sent as, and <code>stream</code> is the stream name you want the notifications sent to, and the stream must already exist.</p>
@ -480,6 +479,7 @@ key=NAGIOS_BOT_API_KEY
<a href="#services">^ Back to top</a>
</p>
</div>
</div>
</div>
{% endblock %}

View File

@ -46,8 +46,9 @@ autofocus('#id_username');
<div class="control-group">
<div class="controls">
<input type="submit" class="btn btn-large btn-primary" value="Log in" />
<span style="padding: 1em" />
<a href="{% url 'django.contrib.auth.views.password_reset' %}">Forgot password?</a>
<span style="padding: 1em">
<a href="{% url 'django.contrib.auth.views.password_reset' %}">Forgot password?</a>
</span>
</div>
</div>
</form>

View File

@ -50,4 +50,5 @@
<h3>You're ready to go!</h3>
<p>If you have any feedback, please, <a href="mailto:support@humbughq.com">send it our way</a>!</p>
</div>
</div>
{% endblock %}

View File

@ -13,7 +13,7 @@
</div>
{% if validlink %}
<form method="post" id="password_reset" class="form-horizontal" action="">
<form method="post" id="password_reset" class="form-horizontal">
{% csrf_token %}
<div class="control-group">
<label for="id_new_password1" class="control-label">Password</label>

View File

@ -4,7 +4,7 @@
<div class="pitch">
<hr/>
<h3>Password changed.<h3>
<h3>Password changed.</h3>
</div>
<p>Done! You can now <a href="{% url 'django.contrib.auth.views.login' %}">log in</a>.</p>