Skip to content

Instantly share code, notes, and snippets.

@mojoaxel
Forked from gaute/githubprint.user.js
Last active September 24, 2017 09:19
Show Gist options
  • Save mojoaxel/2e9427b4d837a1217854 to your computer and use it in GitHub Desktop.
Save mojoaxel/2e9427b4d837a1217854 to your computer and use it in GitHub Desktop.
Tampermonkey and Actiona Script to print GitHub issues (GitHub version 24.09.17)
// ==UserScript==
// @name Printable Github Issues
// @description Add nice Syles for printing GitHub issues
// @author Alexander Wunschik
// @license CC-BY-SA
// @version 1.4
// @include https://github.com/*/issues/*
// @namespace https://gist.github.com/mojoaxel/2e9427b4d837a1217854
// @updateUrl https://gist.github.com/mojoaxel/2e9427b4d837a1217854.js
// @require http://code.jquery.com/jquery-1.12.4.min.js
// @run-at document-end
// ==/UserScript==
function addPrintStyles() {
/*
var screencss = $('head link[media=screen]').attr('href');
$('head').append('<link rel="stylesheet" media="print" href="' + screencss + '" type="text/css" />');
*/
/*jshint multistr: true */
var printcss = ' \
header[role="banner"], .pagehead, .gh-header-actions, .repository-sidebar, .discussion-sidebar, .timeline-new-comment, .timeline-comment-actions, .site-footer, .state, .avatar, .closed-banner { display: none !important; } \
.discussion-timeline, .repository-content, .gh-header-meta { width: 100%; } \
.gh-header-title { margin-right: 0px; padding-top: 10px; } \
.js-issue-title { float: right; clear: both; width: 84%; margin-top: 8px; display: flex; align-items: center; height: auto; } \
.gh-header-number { float: left; display: block; padding-left: 10px; font-weight: bold; color: black; width: 16%; font-size: 2em; } \
.container { width: 940px; margin-right: 0; margin-left: 0; } \
.discussion-timeline::before { left: 1em !important; } \
.discussion-item { margin: 0 0 0 1em; padding 0px; } \
.discussion-item .label-color { font-size: 13px; box-shadow: none; } \
.discussion-item+.discussion-item { padding-top: 0px; border: none; } \
.discussion-item-icon { background: none; } \
.timeline-comment-wrapper { padding-left: 0; page-break-inside: avoid; } \
.timeline-commits { margin-top: 0px; } \
';
$('head').append('<style media="print">' + printcss + '</style>');
}
function removeLabelColors() {
$.each($('.label-color'), function(index, label) {
var $label = $(label);
var color = $label.css('background-color');
$link = $label.children('a').first();
$label.css('background-color', 'transparent');
$link.css('border-bottom', '2px solid ' + color);
$link.css('color', 'black');
});
}
function fixTimeStamps() {
/* change relative time-stamps to absolute ones */
$.each($('time[is="relative-time"]'), function(index, time) {
var $time = $(time);
var date = new Date($time.attr('datetime'));
$time.removeAttr('datetime').html(", " + date.toLocaleDateString() + " - " + date.toLocaleTimeString());
});
}
$(document).ready(function() {
addPrintStyles();
removeLabelColors();
fixTimeStamps();
});
<?xml version="1.0" encoding="UTF-8"?>
<scriptfile>
<settings program="actiona" version="3.9.1" scriptVersion="1.1.0" os="GNU/Linux"/>
<actions>
<action name="ActionClick" version="1.0.0"/>
<action name="ActionLoop" version="1.0.0"/>
<action name="ActionWriteText" version="1.0.0"/>
<action name="ActionKey" version="1.0.0"/>
<action name="ActionOpenURL" version="1.0.0"/>
<action name="ActionVariable" version="1.0.0"/>
<action name="ActionPause" version="1.0.0"/>
</actions>
<parameters/>
<resources/>
<script pauseBefore="0" pauseAfter="0">
<action name="ActionVariable">
<exception id="2" action="1" line=""/>
<exception id="32" action="0" line=""/>
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<parameter name="positionValue">
<subParameter name="value" code="0">:</subParameter>
<subParameter name="unit" code="0">0</subParameter>
</parameter>
<parameter name="variable">
<subParameter name="value" code="0">issue</subParameter>
</parameter>
<parameter name="value">
<subParameter name="value" code="0">0</subParameter>
</parameter>
<parameter name="type">
<subParameter name="value" code="0">integer</subParameter>
</parameter>
<parameter name="colorValue">
<subParameter name="value" code="0">::</subParameter>
</parameter>
</action>
<action name="ActionVariable">
<exception id="2" action="1" line=""/>
<exception id="32" action="0" line=""/>
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<parameter name="positionValue">
<subParameter name="value" code="0">:</subParameter>
</parameter>
<parameter name="variable">
<subParameter name="value" code="0">issue</subParameter>
</parameter>
<parameter name="value">
<subParameter name="value" code="1">issue = issue + 1</subParameter>
</parameter>
<parameter name="type">
<subParameter name="value" code="0">integer</subParameter>
</parameter>
<parameter name="colorValue">
<subParameter name="value" code="0">::</subParameter>
</parameter>
</action>
<action name="ActionOpenURL" pauseAfter="700">
<exception id="2" action="1" line=""/>
<exception id="32" action="0" line=""/>
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<parameter name="url">
<subParameter name="value" code="0">https://github.com/mojoaxel/TGW/issues/$issue</subParameter>
</parameter>
</action>
<action name="ActionPause">
<exception id="2" action="1" line=""/>
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<parameter name="unit">
<subParameter name="value" code="0">seconds</subParameter>
</parameter>
<parameter name="duration">
<subParameter name="value" code="0">2</subParameter>
</parameter>
</action>
<action name="ActionClick" comment="Select Tab" pauseAfter="200">
<exception id="2" action="1" line=""/>
<exception id="32" action="0" line=""/>
<exception id="33" action="0" line=""/>
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<parameter name="button">
<subParameter name="value" code="0">left</subParameter>
</parameter>
<parameter name="position">
<subParameter name="value" code="0">1919:787</subParameter>
</parameter>
<parameter name="positionOffset">
<subParameter name="value" code="0">:</subParameter>
</parameter>
<parameter name="action">
<subParameter name="value" code="0">pressRelease</subParameter>
</parameter>
<parameter name="amount">
<subParameter name="value" code="0">1</subParameter>
</parameter>
</action>
<action name="ActionKey" comment="Print" pauseAfter="1000">
<exception id="2" action="1" line=""/>
<exception id="32" action="0" line=""/>
<exception id="33" action="0" line=""/>
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<parameter name="shift">
<subParameter name="value" code="0">false</subParameter>
</parameter>
<parameter name="pause">
<subParameter name="value" code="0">10</subParameter>
</parameter>
<parameter name="key">
<subParameter name="isQtKey" code="0">true</subParameter>
<subParameter name="key" code="0">P</subParameter>
</parameter>
<parameter name="action">
<subParameter name="value" code="0">pressRelease</subParameter>
</parameter>
<parameter name="amount">
<subParameter name="value" code="0">1</subParameter>
</parameter>
<parameter name="alt">
<subParameter name="value" code="0">false</subParameter>
</parameter>
<parameter name="meta">
<subParameter name="value" code="0">false</subParameter>
</parameter>
<parameter name="type">
<subParameter name="value" code="0">Win32</subParameter>
</parameter>
<parameter name="ctrl">
<subParameter name="value" code="0">true</subParameter>
</parameter>
</action>
<action name="ActionClick" comment="Start Print" pauseAfter="500">
<exception id="2" action="1" line=""/>
<exception id="32" action="0" line=""/>
<exception id="33" action="0" line=""/>
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<parameter name="button">
<subParameter name="value" code="0">left</subParameter>
</parameter>
<parameter name="position">
<subParameter name="value" code="0">1776:173</subParameter>
</parameter>
<parameter name="positionOffset">
<subParameter name="value" code="0">:</subParameter>
</parameter>
<parameter name="action">
<subParameter name="value" code="0">pressRelease</subParameter>
</parameter>
<parameter name="amount">
<subParameter name="value" code="0">1</subParameter>
</parameter>
</action>
<action name="ActionClick" comment="Select Name" pauseAfter="500">
<exception id="2" action="1" line=""/>
<exception id="32" action="0" line=""/>
<exception id="33" action="0" line=""/>
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<parameter name="button">
<subParameter name="value" code="0">left</subParameter>
</parameter>
<parameter name="position">
<subParameter name="value" code="0">2739:230</subParameter>
</parameter>
<parameter name="positionOffset">
<subParameter name="value" code="0">:</subParameter>
</parameter>
<parameter name="action">
<subParameter name="value" code="0">pressRelease</subParameter>
</parameter>
<parameter name="amount">
<subParameter name="value" code="0">1</subParameter>
</parameter>
</action>
<action name="ActionKey" comment="Pos1" pauseAfter="200">
<exception id="2" action="1" line=""/>
<exception id="32" action="0" line=""/>
<exception id="33" action="0" line=""/>
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<parameter name="shift">
<subParameter name="value" code="0">false</subParameter>
</parameter>
<parameter name="pause">
<subParameter name="value" code="0">10</subParameter>
</parameter>
<parameter name="key">
<subParameter name="isQtKey" code="0">true</subParameter>
<subParameter name="key" code="0">Home</subParameter>
</parameter>
<parameter name="action">
<subParameter name="value" code="0">pressRelease</subParameter>
</parameter>
<parameter name="amount">
<subParameter name="value" code="0">1</subParameter>
</parameter>
<parameter name="alt">
<subParameter name="value" code="0">false</subParameter>
</parameter>
<parameter name="meta">
<subParameter name="value" code="0">false</subParameter>
</parameter>
<parameter name="type">
<subParameter name="value" code="0">Win32</subParameter>
</parameter>
<parameter name="ctrl">
<subParameter name="value" code="0">false</subParameter>
</parameter>
</action>
<action name="ActionWriteText" comment="Führende 00">
<exception id="2" action="1" line=""/>
<exception id="32" action="0" line=""/>
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<parameter name="text">
<subParameter name="value" code="0"></subParameter>
</parameter>
<parameter name="pause">
<subParameter name="value" code="0">0</subParameter>
</parameter>
<parameter name="noUnicodeCharacters">
<subParameter name="value" code="0">false</subParameter>
</parameter>
</action>
<action name="ActionWriteText" comment="$issue">
<exception id="2" action="1" line=""/>
<exception id="32" action="0" line=""/>
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<parameter name="text">
<subParameter name="value" code="0">$issue</subParameter>
</parameter>
<parameter name="pause">
<subParameter name="value" code="0">0</subParameter>
</parameter>
<parameter name="noUnicodeCharacters">
<subParameter name="value" code="0">false</subParameter>
</parameter>
</action>
<action name="ActionWriteText" comment="_">
<exception id="2" action="1" line=""/>
<exception id="32" action="0" line=""/>
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<parameter name="text">
<subParameter name="value" code="0">_</subParameter>
</parameter>
<parameter name="pause">
<subParameter name="value" code="0">0</subParameter>
</parameter>
<parameter name="noUnicodeCharacters">
<subParameter name="value" code="0">false</subParameter>
</parameter>
</action>
<action name="ActionKey" comment="Speichern" pauseAfter="700">
<exception id="2" action="1" line=""/>
<exception id="32" action="0" line=""/>
<exception id="33" action="0" line=""/>
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<parameter name="shift">
<subParameter name="value" code="0">false</subParameter>
</parameter>
<parameter name="pause">
<subParameter name="value" code="0">10</subParameter>
</parameter>
<parameter name="key">
<subParameter name="isQtKey" code="0">true</subParameter>
<subParameter name="key" code="0">Return</subParameter>
</parameter>
<parameter name="action">
<subParameter name="value" code="0">pressRelease</subParameter>
</parameter>
<parameter name="amount">
<subParameter name="value" code="0">1</subParameter>
</parameter>
<parameter name="alt">
<subParameter name="value" code="0">false</subParameter>
</parameter>
<parameter name="meta">
<subParameter name="value" code="0">false</subParameter>
</parameter>
<parameter name="type">
<subParameter name="value" code="0">Win32</subParameter>
</parameter>
<parameter name="ctrl">
<subParameter name="value" code="0">false</subParameter>
</parameter>
</action>
<action name="ActionClick" comment="Select Tab" pauseAfter="100">
<exception id="2" action="1" line=""/>
<exception id="32" action="0" line=""/>
<exception id="33" action="0" line=""/>
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<parameter name="button">
<subParameter name="value" code="0">left</subParameter>
</parameter>
<parameter name="position">
<subParameter name="value" code="0">1826:749</subParameter>
</parameter>
<parameter name="positionOffset">
<subParameter name="value" code="0">:</subParameter>
</parameter>
<parameter name="action">
<subParameter name="value" code="0">pressRelease</subParameter>
</parameter>
<parameter name="amount">
<subParameter name="value" code="0">1</subParameter>
</parameter>
</action>
<action name="ActionKey" comment="Tab Schließen" pauseAfter="300">
<exception id="2" action="1" line=""/>
<exception id="32" action="0" line=""/>
<exception id="33" action="0" line=""/>
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<parameter name="shift">
<subParameter name="value" code="0">false</subParameter>
</parameter>
<parameter name="pause">
<subParameter name="value" code="0">10</subParameter>
</parameter>
<parameter name="key">
<subParameter name="isQtKey" code="0">true</subParameter>
<subParameter name="key" code="0">W</subParameter>
</parameter>
<parameter name="action">
<subParameter name="value" code="0">pressRelease</subParameter>
</parameter>
<parameter name="amount">
<subParameter name="value" code="0">1</subParameter>
</parameter>
<parameter name="alt">
<subParameter name="value" code="0">false</subParameter>
</parameter>
<parameter name="meta">
<subParameter name="value" code="0">false</subParameter>
</parameter>
<parameter name="type">
<subParameter name="value" code="0">Win32</subParameter>
</parameter>
<parameter name="ctrl">
<subParameter name="value" code="0">true</subParameter>
</parameter>
</action>
<action name="ActionLoop">
<exception id="2" action="1" line=""/>
<exception id="0" action="0" line=""/>
<exception id="1" action="0" line=""/>
<parameter name="line">
<subParameter name="value" code="0">002</subParameter>
</parameter>
<parameter name="count">
<subParameter name="value" code="0">981</subParameter>
</parameter>
</action>
</script>
</scriptfile>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment