├── .editorconfig
├── .gitattributes
├── .gitignore
├── Gruntfile.js
├── README.md
├── _locales
├── de
│ └── messages.json
├── en
│ └── messages.json
├── fr
│ └── messages.json
├── pt_BR
│ └── messages.json
└── sr
│ └── messages.json
├── archived
├── css
│ └── printliminator.css
├── images
│ ├── printliminator-bg.png
│ ├── printliminator-close.png
│ ├── printliminator-printstylize.png
│ ├── printliminator-removeimages.png
│ ├── printliminator-sendtoprinter.png
│ └── printliminator.png
└── js
│ ├── printliminator-v1.js
│ └── printliminator-v2.js
├── bookmark.html
├── demo
├── css
│ └── style.css
└── images
│ ├── examples-logo.png
│ └── screenshot.png
├── dist
├── bookmarklet
│ └── printliminator.js
├── chrome.crx
├── chrome.zip
├── chrome
│ ├── _locales
│ │ ├── en
│ │ │ └── messages.json
│ │ └── fr
│ │ │ └── messages.json
│ ├── icon128.png
│ ├── icon16.png
│ ├── icon18.png
│ ├── icon32.png
│ ├── icon48.png
│ ├── icon64.png
│ ├── manifest.json
│ ├── popup.css
│ ├── popup.html
│ ├── popup.js
│ ├── printliminator.css
│ ├── printliminator.js
│ └── printliminator.png
└── opera.nex
├── index.html
├── license.txt
├── package.json
├── printliminator.min.js
├── src
├── bookmarklet
│ ├── bookmark.html
│ ├── bookmarklet.js
│ ├── iframe.html
│ ├── iframe.scss
│ └── index.html
├── chrome
│ ├── manifest.json
│ ├── popup.html
│ ├── popup.js
│ └── popup.scss
├── icons
│ ├── favicon.ico
│ ├── icon128.png
│ ├── icon16.png
│ ├── icon18.png
│ ├── icon32.png
│ ├── icon48.png
│ ├── icon64.png
│ └── printliminator.png
├── images
│ ├── Chrome-1.png
│ ├── Chrome-2.png
│ ├── Chrome-3.png
│ ├── Chrome-4.png
│ ├── Chrome-5.png
│ ├── Opera-1.png
│ ├── Opera-2.png
│ ├── Opera-3.png
│ ├── icon.svg
│ ├── logo.svg
│ └── web-store-tile.png
├── options.json
├── printliminator.js
└── printliminator.scss
└── test
├── SpecRunner.html
└── traversingSpec.js
/.editorconfig:
--------------------------------------------------------------------------------
1 | # Follow the guidelines. Use tabs, not spaces.
2 | root = true
3 |
4 | [src/*.{js,html}]
5 | indent_style = tab
6 | indent_size = 2
7 | trim_trailing_whitespace = true
8 | end_of_line = lf
9 | charset = utf-8
10 | insert_final_newline = true
11 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
4 | # Custom for Visual Studio
5 | *.cs diff=csharp
6 | *.sln merge=union
7 | *.csproj merge=union
8 | *.vbproj merge=union
9 | *.fsproj merge=union
10 | *.dbproj merge=union
11 |
12 | # Standard to msysgit
13 | *.doc diff=astextplain
14 | *.DOC diff=astextplain
15 | *.docx diff=astextplain
16 | *.DOCX diff=astextplain
17 | *.dot diff=astextplain
18 | *.DOT diff=astextplain
19 | *.pdf diff=astextplain
20 | *.PDF diff=astextplain
21 | *.rtf diff=astextplain
22 | *.RTF diff=astextplain
23 | *.md diss=astextplain
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | #################
2 | ## Eclipse
3 | #################
4 |
5 | *.pydevproject
6 | .project
7 | .metadata
8 | bin/
9 | tmp/
10 | *_test*.*
11 | *.tmp
12 | *.bak
13 | *.swp
14 | *~.nib
15 | local.properties
16 | .classpath
17 | .settings/
18 | .loadpath
19 |
20 | # External tool builders
21 | .externalToolBuilders/
22 |
23 | # Locally stored "Eclipse launch configurations"
24 | *.launch
25 |
26 | # CDT-specific
27 | .cproject
28 |
29 | # PDT-specific
30 | .buildpath
31 |
32 |
33 | #################
34 | ## Visual Studio
35 | #################
36 |
37 | ## Ignore Visual Studio temporary files, build results, and
38 | ## files generated by popular Visual Studio add-ons.
39 |
40 | # User-specific files
41 | *.suo
42 | *.user
43 | *.sln.docstates
44 |
45 | # Build results
46 | [Dd]ebug/
47 | [Rr]elease/
48 | node_modules/
49 | *_i.c
50 | *_p.c
51 | *.ilk
52 | *.log
53 | *.meta
54 | *.obj
55 | *.pch
56 | *.pdb
57 | *.pgc
58 | *.pgd
59 | *.rsp
60 | *.sbr
61 | *.tlb
62 | *.tli
63 | *.tlh
64 | *.tmp
65 | *.vspscc
66 | .builds
67 | *.dotCover
68 |
69 | ## TODO: If you have NuGet Package Restore enabled, uncomment this
70 | #packages/
71 |
72 | # Visual C++ cache files
73 | ipch/
74 | *.aps
75 | *.ncb
76 | *.opensdf
77 | *.sdf
78 |
79 | # Visual Studio profiler
80 | *.psess
81 | *.vsp
82 |
83 | # ReSharper is a .NET coding add-in
84 | _ReSharper*
85 |
86 | # Installshield output folder
87 | [Ee]xpress
88 |
89 | # DocProject is a documentation generator add-in
90 | DocProject/buildhelp/
91 | DocProject/Help/*.HxT
92 | DocProject/Help/*.HxC
93 | DocProject/Help/*.hhc
94 | DocProject/Help/*.hhk
95 | DocProject/Help/*.hhp
96 | DocProject/Help/Html2
97 | DocProject/Help/html
98 |
99 | # Click-Once directory
100 | publish
101 |
102 | # Others
103 | [Bb]in
104 | [Oo]bj
105 | sql
106 | TestResults
107 | *.Cache
108 | ClientBin
109 | stylecop.*
110 | ~$*
111 | *.dbmdl
112 | Generated_Code #added for RIA/Silverlight projects
113 |
114 | # Backup & report files from converting an old project file to a newer
115 | # Visual Studio version. Backup files are not needed, because we have git ;-)
116 | _UpgradeReport_Files/
117 | Backup*/
118 | UpgradeLog*.XML
119 |
120 | ############
121 | ## Windows
122 | ############
123 |
124 | # Windows image file caches
125 | Thumbs.db
126 |
127 | # Folder config file
128 | Desktop.ini
129 |
130 | #############
131 | ## Python
132 | #############
133 |
134 | *.py[co]
135 |
136 | # Packages
137 | *.egg
138 | *.egg-info
139 | build
140 | eggs
141 | parts
142 | bin
143 | var
144 | sdist
145 | develop-eggs
146 | .installed.cfg
147 |
148 | # Installer logs
149 | pip-log.txt
150 |
151 | # Unit test / coverage reports
152 | .coverage
153 | .tox
154 |
155 | #Translations
156 | *.mo
157 |
158 | #Mr Developer
159 | .mr.developer.cfg
160 |
161 | # Mac crap
162 | .DS_Store
163 |
164 | ############
165 | ## Chrome extension
166 | ############
167 | # private key
168 | *.pem
169 |
--------------------------------------------------------------------------------
/Gruntfile.js:
--------------------------------------------------------------------------------
1 | /*global module :false*/
2 | module.exports = function( grunt ) {
3 | 'use strict';
4 |
5 | var pkg = grunt.file.readJSON( 'package.json' ),
6 |
7 | config = {
8 |
9 | // key in root directory - **not shared publically**
10 | chromeKey : 'chrome.pem',
11 |
12 | settings : grunt.file.readJSON( 'src/options.json' ),
13 |
14 | // misc variables
15 | printliminatorJs : 'printliminator',
16 | printliminatorFunctionName : 'thePrintliminator',
17 |
18 | // temporary file
19 | bookmarkletJs : 'bookmarklet',
20 |
21 | // bookmarklet builder URLs
22 | indexHtml : 'index.html',
23 | bookmarkHtml : 'bookmark.html',
24 | production : {
25 | printliminator : '//css-tricks.github.io/The-Printliminator/printliminator.min.js'
26 | },
27 | dev : {
28 | printliminator : 'dist/bookmarklet/printliminator.js'
29 | },
30 |
31 | // note to add to dynamically created index.html in the root folder
32 | note : ''
38 |
39 | };
40 |
41 | grunt.file.defaultEncoding = 'utf8';
42 | grunt.file.preserveBOM = false;
43 |
44 | // Project configuration.
45 | grunt.initConfig({
46 | pkg : pkg,
47 | config : config,
48 |
49 | jshint : {
50 | options : {
51 | globals : {
52 | '<%= config.printliminatorFunctionName %>' : false
53 | },
54 | browser : true,
55 | undef : true,
56 | esnext : true
57 | },
58 | files : {
59 | src : [
60 | 'test/spec.js',
61 | 'dist/**/*.js'
62 | ]
63 | }
64 | },
65 |
66 | uglify : {
67 | options : {
68 | report : 'gzip'
69 | },
70 | main : {
71 | files : {
72 | '<%= config.printliminatorJs %>.min.js' : [ 'dist/bookmarklet/<%= config.printliminatorJs %>.js' ]
73 | }
74 | },
75 | bookmarklet : {
76 | files : {
77 | '<%= config.bookmarkletJs %>.min.js' : [ 'src/bookmarklet/<%= config.bookmarkletJs %>.js' ]
78 | }
79 | }
80 | },
81 |
82 | clean : {
83 | build : {
84 | src : [
85 | 'dist/**/**/**/*', // locales
86 | 'dist/**/**/*',
87 | 'dist/**/*',
88 | config.indexHtml,
89 | '*.min.js'
90 | ]
91 | },
92 | cleanup : {
93 | src : [
94 | config.bookmarkletJs + '.min.js',
95 | 'src/printliminator.css',
96 | 'src/chrome/popup.css',
97 | 'src/*-temp.*',
98 | 'src/chrome/*-temp.*',
99 | 'src/bookmarklet/*-temp.*'
100 | ]
101 | }
102 |
103 | },
104 |
105 | copy : {
106 | chrome : {
107 | files : [{
108 | expand : true,
109 | dot : true,
110 | flatten : true,
111 | src : [
112 | 'src/printliminator.css',
113 | 'src/icons/*.png',
114 | 'src/chrome/manifest.json'
115 | ],
116 | dest : 'dist/chrome/'
117 | }]
118 | },
119 | chromeLocales : {
120 | expand : true,
121 | src : [ '_locales/**/*.json' ],
122 | dest : 'dist/chrome'
123 | },
124 | // Opera can use chrome.crx; just renamed
125 | opera : {
126 | src : 'dist/chrome.crx',
127 | dest : 'dist/opera.nex'
128 | }
129 | },
130 |
131 | sass : {
132 | dist : {
133 | options : {
134 | style : 'expanded',
135 | sourcemap : 'none',
136 | noCache : true
137 | },
138 | files : {
139 | 'src/printliminator.css' : 'src/printliminator-temp.scss',
140 | 'src/bookmarklet/printliminator-temp.css' : 'src/bookmarklet/printliminator-temp.scss',
141 | 'dist/chrome/popup.css' : 'src/chrome/popup-temp.scss',
142 | 'src/bookmarklet/iframe-temp.css' : 'src/bookmarklet/iframe-temp.scss'
143 | }
144 | }
145 | },
146 |
147 | preprocess : {
148 | extMainScss : {
149 | src : 'src/printliminator.scss',
150 | dest : 'src/printliminator-temp.scss',
151 | options : {
152 | context : {
153 | MODE : 'EXT',
154 | settings : '<%= config.settings %>'
155 | }
156 | }
157 | },
158 | extBookmarkletScss : {
159 | src : 'src/printliminator.scss',
160 | dest : 'src/bookmarklet/printliminator-temp.scss',
161 | options : {
162 | context : {
163 | MODE : 'BOOKMARKLET',
164 | settings : '<%= config.settings %>'
165 | }
166 | }
167 | },
168 | extPopupScss : {
169 | src : 'src/chrome/popup.scss',
170 | dest : 'src/chrome/popup-temp.scss',
171 | options : {
172 | context : '<%= config.settings %>'
173 | }
174 | },
175 | bookmarkletPopupScss : {
176 | src : 'src/bookmarklet/iframe.scss',
177 | dest : 'src/bookmarklet/iframe-temp.scss',
178 | options : {
179 | context : '<%= config.settings %>'
180 | }
181 | },
182 | extHtml : {
183 | src : 'src/chrome/popup.html',
184 | dest : 'dist/chrome/popup.html',
185 | options : {
186 | context : '<%= config.settings %>'
187 | }
188 | },
189 | bookmarkletHtml : {
190 | src : 'src/bookmarklet/iframe.html',
191 | dest : 'src/bookmarklet/iframe-temp.html',
192 | options : {
193 | context : '<%= config.settings %>'
194 | }
195 | },
196 | extPopupJs : {
197 | src : 'src/chrome/popup.js',
198 | dest : 'dist/chrome/popup.js',
199 | options : {
200 | context : '<%= config.settings %>'
201 | }
202 | },
203 | extJs : {
204 | src : 'src/printliminator.js',
205 | dest : 'dist/chrome/printliminator.js',
206 | options : {
207 | // inline : true,
208 | context : {
209 | MODE : 'EXT',
210 | settings : '<%= config.settings %>'
211 | }
212 | }
213 | },
214 | bookmarkletJs : {
215 | src : 'src/printliminator.js',
216 | dest : 'dist/bookmarklet/printliminator.js',
217 | options : {
218 | // inline : true,
219 | context : {
220 | MODE : 'BOOKMARKLET',
221 | settings : '<%= config.settings %>'
222 | }
223 | }
224 | }
225 | },
226 |
227 | jasmine : {
228 | src : 'dist/chrome/printliminator.js',
229 | options : {
230 | specs : 'test/*Spec.js'
231 | }
232 | },
233 |
234 | compress : {
235 | chrome : {
236 | options : {
237 | archive : 'dist/chrome.zip'
238 | },
239 | files : [{
240 | expand : true,
241 | cwd : 'dist/chrome/',
242 | src : ['**'],
243 | dest : '',
244 | filter : 'isFile'
245 | }]
246 | }
247 | },
248 |
249 | crx : {
250 | chrome : {
251 | options : {
252 | privateKey : '<%= config.chromeKey %>',
253 | },
254 | src : 'dist/chrome/*.*',
255 | dest : 'dist/chrome.crx',
256 | }
257 | }
258 |
259 | });
260 |
261 | grunt.loadNpmTasks( 'grunt-contrib-clean' );
262 | grunt.loadNpmTasks( 'grunt-contrib-compress' );
263 | grunt.loadNpmTasks( 'grunt-contrib-copy' );
264 | grunt.loadNpmTasks( 'grunt-contrib-jasmine' );
265 | grunt.loadNpmTasks( 'grunt-contrib-jshint' );
266 | grunt.loadNpmTasks( 'grunt-contrib-sass' );
267 | grunt.loadNpmTasks( 'grunt-contrib-uglify' );
268 | grunt.loadNpmTasks( 'grunt-crx' );
269 | grunt.loadNpmTasks( 'grunt-preprocess' );
270 |
271 | grunt.registerTask( 'update', 'update dist files', function() {
272 | grunt.task.run([
273 | 'default',
274 | 'updateVersions',
275 | 'compress',
276 | // make Chrome extension
277 | 'crx',
278 | // Opera extension
279 | 'copy:opera',
280 | // Firefox extension will match Chrome files in v43+
281 | // http://techcrunch.com/2015/08/21/chrome-extensions-are-coming-to-firefox/
282 | ]);
283 | });
284 |
285 | grunt.registerTask( 'default', 'Default build', function() {
286 | grunt.task.run([
287 | 'clean:build',
288 | 'preprocess',
289 | 'sass',
290 | 'bookmarklet-addStyles',
291 | 'uglify',
292 | 'bookmarklet-create',
293 | 'copy:chrome',
294 | 'copy:chromeLocales',
295 | 'jshint',
296 | 'jasmine',
297 | 'clean:cleanup'
298 | ]);
299 | });
300 |
301 | grunt.registerTask( 'bookmarklet-addStyles', function() {
302 | // string replace settings in css & html; add to bookmarklet
303 | var printliminator = grunt.file.read( 'dist/bookmarklet/printliminator.js' ),
304 | styles = grunt.file.read( 'src/bookmarklet/printliminator-temp.css' ).replace( /\s+/g, ' ' ),
305 | popupHTML = grunt.file.read( 'src/bookmarklet/iframe-temp.html' ).replace( /\s+/g, ' ' ),
306 | popupCSS = grunt.file.read( 'src/bookmarklet/iframe-temp.css' ).replace( /\s+/g, ' ' ),
307 | printliminator = printliminator
308 | .replace( /\{styles\}/, styles )
309 | .replace( /\{popupHTML\}/, popupHTML )
310 | .replace( /\{popupCSS\}/, popupCSS );
311 | grunt.file.write( 'dist/bookmarklet/printliminator.js', printliminator );
312 | });
313 |
314 | grunt.registerTask( 'bookmarklet-create', function(){
315 | // Add bookmarklet code for both production & development
316 | // load bookmarket min file
317 | var content = grunt.file.read( config.bookmarkletJs + '.min.js' ),
318 | // load index.html template
319 | baseHtml = grunt.file.read( 'src/bookmarklet/' + config.indexHtml ),
320 | bookmarkHtml = grunt.file.read( 'src/bookmarklet/' + config.bookmarkHtml ),
321 |
322 | modFile = function( mode ) {
323 | var regex = new RegExp('\\{' + mode + '\\}'),
324 | file = content
325 | .replace( /\{printliminator\}/, config[ mode ].printliminator )
326 | .replace( /\"/g, "'" )
327 | // not using encodeURI because it changes "{}" into "%7B%7D"
328 | // and just makes the bookmarklet bigger & harder to read
329 | .replace( /\x20/g, '%20' );
330 | // add javascript to HTML
331 | baseHtml = baseHtml.replace( regex, file );
332 | if ( mode === 'production' ) {
333 | bookmarkHtml = bookmarkHtml.replace( regex, file );
334 | }
335 | };
336 |
337 | // update production & dev bookmarklet href
338 | modFile( 'production' );
339 | modFile( 'dev' );
340 |
341 | // add note so we don't mistakingly update the wrong index.html
342 | // then lose all our changes when grunt is run!
343 | baseHtml = baseHtml.replace( '', config.note );
344 |
345 | // write modified index.html
346 | grunt.file.write( config.indexHtml, baseHtml );
347 | grunt.file.write( config.bookmarkHtml, bookmarkHtml );
348 | });
349 |
350 | // update version numbers to match the package.json version
351 | grunt.registerTask( 'updateVersions', function() {
352 | var i, project, result,
353 | projectFile = [
354 | 'dist/chrome/manifest.json',
355 | 'dist/chrome/printliminator.js',
356 | 'dist/bookmarklet/printliminator.js'
357 | ],
358 | len = projectFile.length;
359 | for ( i = 0; i < len; i++ ) {
360 | if ( !grunt.file.exists( projectFile[ i ] ) ) {
361 | grunt.log.error( 'file ' + projectFile[ i ] + ' not found' );
362 | return true; // return false to abort the execution
363 | }
364 | if ( /json$/i.test( projectFile[ i ] ) ) {
365 | project = grunt.file.readJSON( projectFile[ i ] ); // get file as json object
366 | project.version = pkg.version;
367 | result = JSON.stringify( project, null, 2 );
368 | // write manifest back to src & dist folders
369 | grunt.file.write( projectFile[ i ], result );
370 | grunt.file.write( projectFile[ i ].replace( /^dist/, 'src' ), result );
371 | } else {
372 | project = grunt.file.read( projectFile[ i ] );
373 | result = project.replace( /\{version\}/g, pkg.version );
374 | grunt.file.write( projectFile[ i ], result );
375 | }
376 | }
377 | });
378 |
379 | };
380 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | The Printliminator is a simple tool you can use to make websites print better.
2 | One click to activate, and then click to remove elements from the page, remove graphics, and apply
3 | better print styling.
4 |
5 | 
6 |
7 | Get the:
8 | * [Bookmarklet](//css-tricks.github.io/The-Printliminator/)
9 | * [Chrome Extension](//chrome.google.com/webstore/detail/the-printliminator/nklechikgnfoonbfmcalddjcpmcmgapf?hl=en-US&gl=US)
10 | * [Opera Extension](//addons.opera.com/en/extensions/details/the-printliminator/?display=en)
11 |
12 | ### Limitations
13 |
14 | * Bookmarklet: due to Content Security Policy directives on some sites, the Printliminator bookmarklet script is not able to load on some sites (e.g. GitHub). To get around this problem, use the Chrome or Opera extension. Hopefully, Firefox & Safari extensions/addons will quickly follow.
15 | * Chrome/Opera extension: if a popup window is opened for printing, like Yahoo mail does, then the extension will not work in the popup. [An issue](https://code.google.com/p/chromium/issues/detail?id=530658) was submitted and it sounds like they will be providing a fix.
16 |
17 | ### To Do
18 |
19 | * Support more languages: waiting for willing users to help!
20 | * Create Firefox & Safari extensions.
21 |
22 | ### Credits
23 |
24 | * By [Chris Coyier](http://chriscoyier.net) and [Devon Govett](http://devongovett.wordpress.com/).
25 | * Updates & extensions by [Rob Garrison](http://wowmotty.blogspot.com/).
26 | * Icons by [Function](http://wefunction.com/2008/07/function-free-icon-set/).
27 | * Print stylesheet based on [Hartija](http://code.google.com/p/hartija/).
28 | * Translations provided by [Transifex](https://www.transifex.com).
29 |
30 | ### Contributing
31 |
32 | * Pull requests are welcome!
33 | * Provide additional translations via [Transifex](https://www.transifex.com/css-tricks/the-printliminator/) or with a pull request.
34 |
35 | ### Recent Changes
36 |
37 | #### Version 4.0.5 (10/11/2015)
38 |
39 | * Readme:
40 | * Add link to Opera extension.
41 | * Fix link to Transifex.
42 | * Demo: Add video & repo link.
43 | * Locales:
44 | * Add French locale. See [pull #7](https://github.com/CSS-Tricks/The-Printliminator/pull/7); thanks [yukulele](https://github.com/yukulele)!
45 | * Update missing locale string & fix button overflow issues
46 | * Include non-numpad keys for font-resizing. Fixes [issue #8](https://github.com/CSS-Tricks/The-Printliminator/issues/8).
47 | * Fix extension messaging options.
48 |
49 | #### Version 4.0.4 (9/30/2015)
50 |
51 | * Add screenshots of Opera extesion.
52 | * Rename Chrome screenshots.
53 | * Version bump to resubmit Opera extension.
54 |
55 | #### Version 4.0.3 (9/28/2015)
56 |
57 | * Fix icon file name in Chrome manifest which was preventing the extension from working.
58 | * Added, then removed Chrome extension autoupdating code... no longer supported :(
59 |
60 | #### Version 4.0.1 (9/28/2015)
61 |
62 | * Update your Bookmarklets as the code to execute the loaded Printliminator code has changed!
63 | * Big lumped changes...
64 | * Created Chrome & Opera extensions (no change needed to support both).
65 | * Grunt build to include all code for the bookmarklet & extension code in one file.
66 | * Added English locale file which make it easy to add additional language support.
67 | * A main `src/options.json` file now contains settings & class names used across all files.
68 | * Converted all css to SCSS.
69 | * New The Printliminator logo designed by Chris!
70 | * Add some basic unit testing for DOM traversing.
71 | * All production files are now located in the `dist` folder; `printliminator.min.js` is still located in the root.
72 | * Added [wiki documentation](https://github.com/CSS-Tricks/The-Printliminator/wiki).
73 |
--------------------------------------------------------------------------------
/_locales/de/messages.json:
--------------------------------------------------------------------------------
1 | {
2 | "printliminatorName" : {
3 | "message" : "The Printliminator",
4 | "description" : "Extension name"
5 | },
6 | "printliminatorDescription" : {
7 | "message" : "Ein einfaches Tool um Websiten besser zu drucken.",
8 | "description" : "Extension Beschreibung"
9 | },
10 | "commandButtons" : {
11 | "message" : "Andere nützliche Superpowers",
12 | "description" : "Command buttons: undo, stylize, remove graphics & drucken"
13 | },
14 | "clickToRemove" : {
15 | "message" : "Klicke einfach auf Sachen um sie verschwinden zu lassen",
16 | "description" : "Klick um das Element verschwinden zu lassen"
17 | },
18 | "altClickRemove" : {
19 | "message" : "Alt-click um das Gegenteil zu entfernen",
20 | "description" : "Alt-click um alles ausser das Element verschwinden zu lassen"
21 | },
22 | "undoLast" : {
23 | "message" : "Undo
Last",
24 | "description" : "Letzte Änderung rückgängig machen"
25 | },
26 | "addStylize" : {
27 | "message" : "Druck
Styles hinzufügen",
28 | "description" : "Druck-stylesheet hinzufügen"
29 | },
30 | "removeGraphics" : {
31 | "message" : "Grafiken
entfernen",
32 | "description" : "Alle Bilder, iframes und videos von der Seite entfernen"
33 | },
34 | "sendToPrint" : {
35 | "message" : "Drucken",
36 | "description" : "Diese Seite drucken"
37 | },
38 | "viewKeyboardCommands" : {
39 | "message" : "Tastaturbefehle anzeigen",
40 | "description" : "Öffne die Liste mit den Tastaturbefehlen"
41 | },
42 | "hideKeyboardCommands" : {
43 | "message" : "Tastaturbefehle verstecken",
44 | "description" : "Schliesse die Liste mit den Tastaturbefehlen"
45 | },
46 | "keyColumn" : {
47 | "message" : "Taste",
48 | "description" : "Tastenname"
49 | },
50 | "descriptionColumn" : {
51 | "message" : "Beschreibung",
52 | "description" : "Beschreibung der Aktion durch die Taste"
53 | },
54 | "orText" : {
55 | "message" : "oder",
56 | "description" : "oder text"
57 | },
58 | "keyPageUp" : {
59 | "message" : "PageUp",
60 | "description" : "Page up Taste"
61 | },
62 | "keyUpArrow" : {
63 | "message" : "Pfeil nach oben",
64 | "description" : "Pfeil nach oben Taste Text zum Titel hinzugefügt"
65 | },
66 | "upDescription" : {
67 | "message" : "Finde die Umhüllung der hervorgehobenen Box",
68 | "description" : "Finde die Umhüllung der hervorgehobenen Box"
69 | },
70 | "keyPageDown" : {
71 | "message" : "PageDown",
72 | "description" : "Page down key"
73 | },
74 | "keyDownArrow" : {
75 | "message" : "Pfeil nach unten",
76 | "description" : "Pfeil nach unten Text zum Titel hinzugefügt"
77 | },
78 | "downDescription" : {
79 | "message" : "Find content of highlighted box",
80 | "description" : "Find first visible child element of highlight"
81 | },
82 | "keyRightArrow" : {
83 | "message" : "Rechter Pfeil",
84 | "description" : "Rechter Pfeil Text zum Titel hinzugefügt"
85 | },
86 | "rightDescription" : {
87 | "message" : "Find next box inside same wrapper",
88 | "description" : "Find next visible sibling element of highlight"
89 | },
90 | "keyLeftArrow" : {
91 | "message" : "Linker Pfeil",
92 | "description" : "Linker Pfeil Text zum Titel hinzugefügt"
93 | },
94 | "leftDescription" : {
95 | "message" : "Finde das nächst kleinere Element in dieser Box",
96 | "description" : ""
97 | },
98 | "keyEnter" : {
99 | "message" : "Enter",
100 | "description" : "Drücke Enter um die Hervorhebung zu entfernen"
101 | },
102 | "removeHighlight" : {
103 | "message" : "Die hervorgehobene Box löschen",
104 | "description" : "Lösche die hervorgehobene Box"
105 | },
106 | "keyBackspace" : {
107 | "message" : "Backspace",
108 | "description" : "Drücke backspace um die letze Handlung rückgängig zu machen"
109 | },
110 | "undoAction" : {
111 | "message" : "Letzte Handlung ungeschehen machen",
112 | "description" : "Letzte Handlung ungeschehen machen"
113 | },
114 | "keyNumpad" : {
115 | "message" : "Numpad",
116 | "description" : "Numpad Taste Text Beschreibung"
117 | },
118 | "keyNumpadPlus" : {
119 | "message" : "Numpad Plus",
120 | "description" : "Numpad+ Taste"
121 | },
122 | "fontUp" : {
123 | "message" : "Schriftgrösse um 1 vergrössern",
124 | "description" : "Nutze keyNumpad+ um die Schriftgrösse zu vergrössern"
125 | },
126 | "keyNumpadMinus" : {
127 | "message" : "Numpad Minus",
128 | "description" : "Numpad- Taste"
129 | },
130 | "fontDown" : {
131 | "message" : "Schriftgrösse um 1 verkleinern",
132 | "description" : "Nutze keyNumpad- um die Schriftgrösse zu verkleinern"
133 | },
134 | "keyNumpadAsterisk" : {
135 | "message" : "Numpad Asterisk (Multiply)",
136 | "description" : ""
137 | },
138 | "fontReset" : {
139 | "message" : "Schriftgrösse zurücksetzen",
140 | "description" : "Schriftgrösse zurück auf Standard setzen"
141 | },
142 | "mouseLeftClick" : {
143 | "message" : "linker Mausklick",
144 | "description" : "linker Mausklick"
145 | },
146 | "keyAlt" : {
147 | "message" : "Alt",
148 | "description" : "Alt-Taste mit Mausklick"
149 | },
150 | "removeOpposite" : {
151 | "message" : "Entferne alles ausser die hervorgehobene Box",
152 | "description" : "Entferne das Gegenteil vom Hervorgehobenen"
153 | },
154 | "keyShift" : {
155 | "message" : "Shift",
156 | "description" : "Shift-taste mit Mausklick"
157 | },
158 | "fullWidth" : {
159 | "message" : "Set box width to 100% & margins to zero (highlight turns blue)",
160 | "description" : "Make highlighted element full width & add blue outline"
161 | },
162 | "keyF1" : {
163 | "message" : "F1",
164 | "description" : "F1 Taste"
165 | },
166 | "keyF1Title" : {
167 | "message" : "Function One",
168 | "description" : "F1 Taste genutzt um Nachrichten ein/auszuschalten"
169 | },
170 | "toggleMessages" : {
171 | "message" : "Toggle action messages",
172 | "description" : "Action message display is toggled by the F1 key"
173 | },
174 | "keyPS" : {
175 | "message" : "PrtScn",
176 | "description" : "Print Screen key (abbreviation)"
177 | },
178 | "keyPSTitle" : {
179 | "message" : "Print Screen",
180 | "description" : "Print Screen key full name added to title"
181 | },
182 | "printPage" : {
183 | "message" : "Seite drucken",
184 | "description" : "Diese Seite ausdrucken"
185 | },
186 | "keyEsc" : {
187 | "message" : "Esc",
188 | "description" : "Escapetaste um den Printliminator zu schliessen"
189 | },
190 | "keyEscTitle" : {
191 | "message" : "Escape",
192 | "description" : "Escapetaste full name"
193 | },
194 | "abort" : {
195 | "message" : "Printliminator deaktivieren, aber Verlauf sichern",
196 | "description" : "Printliminator deaktivieren, aber Verlauf sichern."
197 | }
198 | }
199 |
--------------------------------------------------------------------------------
/_locales/en/messages.json:
--------------------------------------------------------------------------------
1 | {
2 | "printliminatorName" : {
3 | "message" : "The Printliminator",
4 | "description" : "Extension name"
5 | },
6 | "printliminatorDescription" : {
7 | "message" : "A simple tool to make websites print better.",
8 | "description" : "Extension Description"
9 | },
10 | "commandButtons" : {
11 | "message" : "Other Useful Superpowers",
12 | "description" : "Command buttons: undo, stylize, remove graphics & print"
13 | },
14 | "clickToRemove" : {
15 | "message" : "Just click stuff on page to remove",
16 | "description" : "Click highlight to remove item"
17 | },
18 | "altClickRemove" : {
19 | "message" : "Alt-click to remove opposite",
20 | "description" : "Alt-click highlight to remove everything expect the item"
21 | },
22 | "undoLast" : {
23 | "message" : "Undo
Last",
24 | "description" : "Undo the last action"
25 | },
26 | "addStylize" : {
27 | "message" : "Add Print
Styles",
28 | "description" : "Add print stylesheet"
29 | },
30 | "removeGraphics" : {
31 | "message" : "Remove
Graphics",
32 | "description" : "Removes all images, iframes and video from the page"
33 | },
34 | "sendToPrint" : {
35 | "message" : "Send to
print",
36 | "description" : "Print the page"
37 | },
38 | "viewKeyboardCommands" : {
39 | "message" : "View Keyboard Commands",
40 | "description" : "Open a list of keyboard commands"
41 | },
42 | "hideKeyboardCommands" : {
43 | "message" : "Hide Keyboard Commands",
44 | "description" : "Close list of keyboard commands"
45 | },
46 | "keyColumn" : {
47 | "message" : "Key",
48 | "description" : "Key name column"
49 | },
50 | "descriptionColumn" : {
51 | "message" : "Description",
52 | "description" : "Description of key action"
53 | },
54 | "orText" : {
55 | "message" : "or",
56 | "description" : "or text"
57 | },
58 | "keyPageUp" : {
59 | "message" : "PageUp",
60 | "description" : "Page up key"
61 | },
62 | "keyUpArrow" : {
63 | "message" : "Up Arrow",
64 | "description" : "Up arrow key text added to title"
65 | },
66 | "upDescription" : {
67 | "message" : "Find wrapper of highlighted box",
68 | "description" : "Find parent element of current highlight"
69 | },
70 | "keyPageDown" : {
71 | "message" : "PageDown",
72 | "description" : "Page down key"
73 | },
74 | "keyDownArrow" : {
75 | "message" : "Down Arrow",
76 | "description" : "Down arrow key text added to title"
77 | },
78 | "downDescription" : {
79 | "message" : "Find content of highlighted box",
80 | "description" : "Find first visible child element of highlight"
81 | },
82 | "keyRightArrow" : {
83 | "message" : "Right Arrow",
84 | "description" : "Right arrow text added to title"
85 | },
86 | "rightDescription" : {
87 | "message" : "Find next box inside same wrapper",
88 | "description" : "Find next visible sibling element of highlight"
89 | },
90 | "keyLeftArrow" : {
91 | "message" : "Left Arrow",
92 | "description" : "Left arrow text added to title"
93 | },
94 | "leftDescription" : {
95 | "message" : "Find previous box inside same wrapper",
96 | "description" : ""
97 | },
98 | "keyEnter" : {
99 | "message" : "Enter",
100 | "description" : "Press enter to remove highlight"
101 | },
102 | "removeHighlight" : {
103 | "message" : "Remove the highlighted box",
104 | "description" : "Remove highlighted box"
105 | },
106 | "keyBackspace" : {
107 | "message" : "Backspace",
108 | "description" : "Press backspace to undo last action"
109 | },
110 | "undoAction" : {
111 | "message" : "Undo last action",
112 | "description" : "Undo last action"
113 | },
114 | "keyNumpad" : {
115 | "message" : "Numpad",
116 | "description" : "Numpad key text description"
117 | },
118 | "keyNumpadPlus" : {
119 | "message" : "Numpad Plus",
120 | "description" : "Numpad+ key"
121 | },
122 | "fontUp" : {
123 | "message" : "Increase font-size by 1",
124 | "description" : "Use keyNumpad+ to increase font size"
125 | },
126 | "keyNumpadMinus" : {
127 | "message" : "Numpad Minus",
128 | "description" : "Numpad- key"
129 | },
130 | "fontDown" : {
131 | "message" : "Decrease font-size by 1",
132 | "description" : "Use keyNumpad- to decrease font size"
133 | },
134 | "keyNumpadAsterisk" : {
135 | "message" : "Numpad Asterisk (Multiply)",
136 | "description" : ""
137 | },
138 | "fontReset" : {
139 | "message" : "Reset font-size",
140 | "description" : "Reset font size to original"
141 | },
142 | "mouseLeftClick" : {
143 | "message" : "left-click on mouse",
144 | "description" : "left mouse click"
145 | },
146 | "keyAlt" : {
147 | "message" : "Alt",
148 | "description" : "Alt-key used with mouse-click"
149 | },
150 | "removeOpposite" : {
151 | "message" : "Remove everything but highlighted box",
152 | "description" : "Remove opposite of highlight"
153 | },
154 | "keyShift" : {
155 | "message" : "Shift",
156 | "description" : "Shift-key used with mouse-click"
157 | },
158 | "fullWidth" : {
159 | "message" : "Set box width to 100% & margins to zero (highlight turns blue)",
160 | "description" : "Make highlighted element full width & add blue outline"
161 | },
162 | "keyF1" : {
163 | "message" : "F1",
164 | "description" : "F1 key name"
165 | },
166 | "keyF1Title" : {
167 | "message" : "Function One",
168 | "description" : "F1 key used to toggle messages"
169 | },
170 | "toggleMessages" : {
171 | "message" : "Toggle action messages",
172 | "description" : "Action message display is toggled by the F1 key"
173 | },
174 | "keyPS" : {
175 | "message" : "PrtScn",
176 | "description" : "Print Screen key (abbreviation)"
177 | },
178 | "keyPSTitle" : {
179 | "message" : "Print Screen",
180 | "description" : "Print Screen key full name added to title"
181 | },
182 | "printPage" : {
183 | "message" : "Print Page",
184 | "description" : "Print the current page"
185 | },
186 | "keyEsc" : {
187 | "message" : "Esc",
188 | "description" : "Escape key to close Printliminator"
189 | },
190 | "keyEscTitle" : {
191 | "message" : "Escape",
192 | "description" : "Escape key full name"
193 | },
194 | "abort" : {
195 | "message" : "Disable Printliminator, but save undo history",
196 | "description" : "Disable Printliminator, but save undo history."
197 | }
198 | }
199 |
--------------------------------------------------------------------------------
/_locales/fr/messages.json:
--------------------------------------------------------------------------------
1 | {
2 | "printliminatorName" : {
3 | "message" : "The Printliminator",
4 | "description" : "Extension name"
5 | },
6 | "printliminatorDescription" : {
7 | "message" : "Un outil simple pour améliorer l’impression des sites web.",
8 | "description" : "Extension Description"
9 | },
10 | "commandButtons" : {
11 | "message" : "Outils",
12 | "description" : "Command buttons: undo, stylize, remove graphics & print"
13 | },
14 | "clickToRemove" : {
15 | "message" : "Cliquez sur les élément de la page pour les faire disparaitre",
16 | "description" : "Click highlight to remove item"
17 | },
18 | "altClickRemove" : {
19 | "message" : "Alt-cliquez sur un élément pour ne garder que lui",
20 | "description" : "Alt-click highlight to remove everything expect the item"
21 | },
22 | "undoLast" : {
23 | "message" : "Annuler",
24 | "description" : "Undo the last action"
25 | },
26 | "addStylize" : {
27 | "message" : "Supprimer
les styles",
28 | "description" : "Add print stylesheet"
29 | },
30 | "removeGraphics" : {
31 | "message" : "Supprimer
les images",
32 | "description" : "Removes all images, iframes and video from the page"
33 | },
34 | "sendToPrint" : {
35 | "message" : "Lancer
l’impression",
36 | "description" : "Print the page"
37 | },
38 | "viewKeyboardCommands" : {
39 | "message" : "Voir les raccourcis clavier",
40 | "description" : "Open a list of keyboard commands"
41 | },
42 | "hideKeyboardCommands" : {
43 | "message" : "Masquer les raccourcis clavier",
44 | "description" : "Close list of keyboard commands"
45 | },
46 | "keyColumn" : {
47 | "message" : "Touche",
48 | "description" : "Key name column"
49 | },
50 | "descriptionColumn" : {
51 | "message" : "Description",
52 | "description" : "Description of key action"
53 | },
54 | "orText" : {
55 | "message" : "ou",
56 | "description" : "or text"
57 | },
58 | "keyPageUp" : {
59 | "message" : "PagePrec",
60 | "description" : "Page up key"
61 | },
62 | "keyUpArrow" : {
63 | "message" : "Flèche haut",
64 | "description" : "Up arrow key text added to title"
65 | },
66 | "upDescription" : {
67 | "message" : "Sélectionner l’élement parent",
68 | "description" : "Find parent element of current highlight"
69 | },
70 | "keyPageDown" : {
71 | "message" : "PageSuiv",
72 | "description" : "Page down key"
73 | },
74 | "keyDownArrow" : {
75 | "message" : "Flèche bas",
76 | "description" : "Down arrow key text added to title"
77 | },
78 | "downDescription" : {
79 | "message" : "Sélectionner l’élément enfant",
80 | "description" : "Find first visible child element of highlight"
81 | },
82 | "keyRightArrow" : {
83 | "message" : "Flèche droite",
84 | "description" : "Right arrow text added to title"
85 | },
86 | "rightDescription" : {
87 | "message" : "Sélectionner l’élément suivant",
88 | "description" : "Find next visible sibling element of highlight"
89 | },
90 | "keyLeftArrow" : {
91 | "message" : "Flèche Gauche",
92 | "description" : "Left arrow text added to title"
93 | },
94 | "leftDescription" : {
95 | "message" : "Sélectionner l’élément précédent",
96 | "description" : ""
97 | },
98 | "keyEnter" : {
99 | "message" : "Entrer",
100 | "description" : "Press enter to remove highlight"
101 | },
102 | "removeHighlight" : {
103 | "message" : "Supprimer l’élément sélectionner",
104 | "description" : "Remove highlighted box"
105 | },
106 | "keyBackspace" : {
107 | "message" : "Retour arrière",
108 | "description" : "Press backspace to undo last action"
109 | },
110 | "undoAction" : {
111 | "message" : "Annuler",
112 | "description" : "Undo last action"
113 | },
114 | "keyNumpad" : {
115 | "message" : "Pavé num.",
116 | "description" : "Numpad key text description"
117 | },
118 | "keyNumpadPlus" : {
119 | "message" : "Plus (pavé numérique)",
120 | "description" : "Numpad+ key"
121 | },
122 | "fontUp" : {
123 | "message" : "Augmenter la taille des caractères",
124 | "description" : "Use keyNumpad+ to increase font size"
125 | },
126 | "keyNumpadMinus" : {
127 | "message" : "Moins Plus (pavé numérique)",
128 | "description" : "Numpad- key"
129 | },
130 | "fontDown" : {
131 | "message" : "Réduire la taille des caractères",
132 | "description" : "Use keyNumpad- to decrease font size"
133 | },
134 | "keyNumpadAsterisk" : {
135 | "message" : "Étoile (pavé numérique",
136 | "description" : ""
137 | },
138 | "fontReset" : {
139 | "message" : "Réinitialiser la taille des caractères",
140 | "description" : "Reset font size to original"
141 | },
142 | "mouseLeftClick" : {
143 | "message" : "click gauche",
144 | "description" : "left mouse click"
145 | },
146 | "keyAlt" : {
147 | "message" : "Alt",
148 | "description" : "Alt-key used with mouse-click"
149 | },
150 | "removeOpposite" : {
151 | "message" : "Ne garder que l’élément sélectionne",
152 | "description" : "Remove opposite of highlight"
153 | },
154 | "keyShift" : {
155 | "message" : "Shift",
156 | "description" : "Shift-key used with mouse-click"
157 | },
158 | "fullWidth" : {
159 | "message" : "Appliquer une largeur de 100% et supprimer les marges (le contour de sélection devient bleu)",
160 | "description" : "Make highlighted element full width & add blue outline"
161 | },
162 | "keyF1" : {
163 | "message" : "F1",
164 | "description" : "F1 key name"
165 | },
166 | "keyF1Title" : {
167 | "message" : "Touche F1",
168 | "description" : "F1 key used to toggle messages"
169 | },
170 | "toggleMessages" : {
171 | "message" : "Afficher/masquer le message d'action",
172 | "description" : "Action message display is toggled by the F1 key"
173 | },
174 | "keyPS" : {
175 | "message" : "ImprEcrn",
176 | "description" : "Print Screen key (abbreviation)"
177 | },
178 | "keyPSTitle" : {
179 | "message" : "Imprime Écran",
180 | "description" : "Print Screen key full name added to title"
181 | },
182 | "printPage" : {
183 | "message" : "Imprimer la page",
184 | "description" : "Print the current page"
185 | },
186 | "keyEsc" : {
187 | "message" : "Esc",
188 | "description" : "Escape key to close Printliminator"
189 | },
190 | "keyEscTitle" : {
191 | "message" : "Échap",
192 | "description" : "Escape key full name"
193 | },
194 | "abort" : {
195 | "message" : "Désactiver Printliminator en conservant l’historique d'annulation",
196 | "description" : "Disable Printliminator, but save undo history."
197 | }
198 | }
199 |
--------------------------------------------------------------------------------
/_locales/pt_BR/messages.json:
--------------------------------------------------------------------------------
1 | {
2 | "printliminatorName" : {
3 | "message" : "The Printliminator",
4 | "description" : "Extension name"
5 | },
6 | "printliminatorDescription" : {
7 | "message" : "Uma ferramenta simples para tornar a impressão de sites melhor",
8 | "description" : "Extension Description"
9 | },
10 | "commandButtons" : {
11 | "message" : "Outros Superpoderes Úteis",
12 | "description" : "Command buttons: undo, stylize, remove graphics & print"
13 | },
14 | "clickToRemove" : {
15 | "message" : "Apenas clique em algo na página para removê-la",
16 | "description" : "Click highlight to remove item"
17 | },
18 | "altClickRemove" : {
19 | "message" : "Alt-clique para remover o oposto",
20 | "description" : "Alt-click highlight to remove everything expect the item"
21 | },
22 | "undoLast" : {
23 | "message" : "Desfazer
Último",
24 | "description" : "Undo the last action"
25 | },
26 | "addStylize" : {
27 | "message" : "Adicionar estilos
de impressão",
28 | "description" : "Add print stylesheet"
29 | },
30 | "removeGraphics" : {
31 | "message" : "Remover
Gráficos",
32 | "description" : "Removes all images, iframes and video from the page"
33 | },
34 | "sendToPrint" : {
35 | "message" : "Enviar para
impressão",
36 | "description" : "Print the page"
37 | },
38 | "viewKeyboardCommands" : {
39 | "message" : "Ver atalhos de teclado",
40 | "description" : "Open a list of keyboard commands"
41 | },
42 | "hideKeyboardCommands" : {
43 | "message" : "Esconder atalhos de teclado",
44 | "description" : "Close list of keyboard commands"
45 | },
46 | "keyColumn" : {
47 | "message" : "Chave",
48 | "description" : "Key name column"
49 | },
50 | "descriptionColumn" : {
51 | "message" : "Descrição",
52 | "description" : "Description of key action"
53 | },
54 | "orText" : {
55 | "message" : "ou",
56 | "description" : "or text"
57 | },
58 | "keyPageUp" : {
59 | "message" : "PageUp",
60 | "description" : "Page up key"
61 | },
62 | "keyUpArrow" : {
63 | "message" : "Seta para cima",
64 | "description" : "Up arrow key text added to title"
65 | },
66 | "upDescription" : {
67 | "message" : "Encontrar o elemento que envolve a caixa destacada",
68 | "description" : "Find parent element of current highlight"
69 | },
70 | "keyPageDown" : {
71 | "message" : "PageDown",
72 | "description" : "Page down key"
73 | },
74 | "keyDownArrow" : {
75 | "message" : "Seta para baixo",
76 | "description" : "Down arrow key text added to title"
77 | },
78 | "downDescription" : {
79 | "message" : "Encontrar o conteúdo da caixa destacada",
80 | "description" : "Find first visible child element of highlight"
81 | },
82 | "keyRightArrow" : {
83 | "message" : "Seta para Direita",
84 | "description" : "Right arrow text added to title"
85 | },
86 | "rightDescription" : {
87 | "message" : "Encontrar o próximo elemento no mesmo container",
88 | "description" : "Find next visible sibling element of highlight"
89 | },
90 | "keyLeftArrow" : {
91 | "message" : "Seta para Esquerda",
92 | "description" : "Left arrow text added to title"
93 | },
94 | "leftDescription" : {
95 | "message" : "Encontrar o elemento anterior no mesmo container",
96 | "description" : ""
97 | },
98 | "keyEnter" : {
99 | "message" : "Enter",
100 | "description" : "Press enter to remove highlight"
101 | },
102 | "removeHighlight" : {
103 | "message" : "Remove a caixa selecionada",
104 | "description" : "Remove highlighted box"
105 | },
106 | "keyBackspace" : {
107 | "message" : "Backspace",
108 | "description" : "Press backspace to undo last action"
109 | },
110 | "undoAction" : {
111 | "message" : "Desfazer a última ação",
112 | "description" : "Undo last action"
113 | },
114 | "keyNumpad" : {
115 | "message" : "Numpad",
116 | "description" : "Numpad key text description"
117 | },
118 | "keyNumpadPlus" : {
119 | "message" : "+(mais) do teclado numérico",
120 | "description" : "Numpad+ key"
121 | },
122 | "fontUp" : {
123 | "message" : "Aumenta o tamanho da fonte em 1",
124 | "description" : "Use keyNumpad+ to increase font size"
125 | },
126 | "keyNumpadMinus" : {
127 | "message" : "-(menos) do teclado numério",
128 | "description" : "Numpad- key"
129 | },
130 | "fontDown" : {
131 | "message" : "Diminui o tamanho da fonte em 1",
132 | "description" : "Use keyNumpad- to decrease font size"
133 | },
134 | "keyNumpadAsterisk" : {
135 | "message" : "*(asterisco) do teclado numérico",
136 | "description" : ""
137 | },
138 | "fontReset" : {
139 | "message" : "Resetar tamanho da fonte",
140 | "description" : "Reset font size to original"
141 | },
142 | "mouseLeftClick" : {
143 | "message" : "Clique com o botão esquerdo do mouse",
144 | "description" : "left mouse click"
145 | },
146 | "keyAlt" : {
147 | "message" : "Alt",
148 | "description" : "Alt-key used with mouse-click"
149 | },
150 | "removeOpposite" : {
151 | "message" : "Remover tudo menos a caixa selecionada",
152 | "description" : "Remove opposite of highlight"
153 | },
154 | "keyShift" : {
155 | "message" : "Shift",
156 | "description" : "Shift-key used with mouse-click"
157 | },
158 | "fullWidth" : {
159 | "message" : "Muda a largura da caixa para 100% & margem para zero (destaque se torna azul)",
160 | "description" : "Make highlighted element full width & add blue outline"
161 | },
162 | "keyF1" : {
163 | "message" : "F1",
164 | "description" : "F1 key name"
165 | },
166 | "keyF1Title" : {
167 | "message" : "Função Um",
168 | "description" : "F1 key used to toggle messages"
169 | },
170 | "toggleMessages" : {
171 | "message" : "Alternar mensagens de ação",
172 | "description" : "Action message display is toggled by the F1 key"
173 | },
174 | "keyPS" : {
175 | "message" : "PrtScn",
176 | "description" : "Print Screen key (abbreviation)"
177 | },
178 | "keyPSTitle" : {
179 | "message" : "Print Screen",
180 | "description" : "Print Screen key full name added to title"
181 | },
182 | "printPage" : {
183 | "message" : "Imprimir Página",
184 | "description" : "Print the current page"
185 | },
186 | "keyEsc" : {
187 | "message" : "Esc",
188 | "description" : "Escape key to close Printliminator"
189 | },
190 | "keyEscTitle" : {
191 | "message" : "Escape",
192 | "description" : "Escape key full name"
193 | },
194 | "abort" : {
195 | "message" : "Desabilita Printliminator, mas salva o histórico",
196 | "description" : "Disable Printliminator, but save undo history."
197 | }
198 | }
199 |
--------------------------------------------------------------------------------
/_locales/sr/messages.json:
--------------------------------------------------------------------------------
1 | {
2 | "printliminatorName" : {
3 | "message" : "The Printliminator",
4 | "description" : "Extension name"
5 | },
6 | "printliminatorDescription" : {
7 | "message" : "Једноставан алат за боље штампање веб страница.",
8 | "description" : "Extension Description"
9 | },
10 | "commandButtons" : {
11 | "message" : "Остале корисне могућности",
12 | "description" : "Command buttons: undo, stylize, remove graphics & print"
13 | },
14 | "clickToRemove" : {
15 | "message" : "Кликни на елемент на страници за уклањање",
16 | "description" : "Click highlight to remove item"
17 | },
18 | "altClickRemove" : {
19 | "message" : "Alt-клик за уклањање супротног",
20 | "description" : "Alt-click highlight to remove everything expect the item"
21 | },
22 | "undoLast" : {
23 | "message" : "Опозови
последње",
24 | "description" : "Undo the last action"
25 | },
26 | "addStylize" : {
27 | "message" : "Додај стилове
штампања",
28 | "description" : "Add print stylesheet"
29 | },
30 | "removeGraphics" : {
31 | "message" : "Уклони
графику",
32 | "description" : "Removes all images, iframes and video from the page"
33 | },
34 | "sendToPrint" : {
35 | "message" : "Одштампај
страницу",
36 | "description" : "Print the page"
37 | },
38 | "viewKeyboardCommands" : {
39 | "message" : "Види тастерске пречице",
40 | "description" : "Open a list of keyboard commands"
41 | },
42 | "hideKeyboardCommands" : {
43 | "message" : "Сакриј тастерске пречице",
44 | "description" : "Close list of keyboard commands"
45 | },
46 | "keyColumn" : {
47 | "message" : "Тастер",
48 | "description" : "Key name column"
49 | },
50 | "descriptionColumn" : {
51 | "message" : "Опис",
52 | "description" : "Description of key action"
53 | },
54 | "orText" : {
55 | "message" : "или",
56 | "description" : "or text"
57 | },
58 | "keyPageUp" : {
59 | "message" : "PageUp",
60 | "description" : "Page up key"
61 | },
62 | "keyUpArrow" : {
63 | "message" : "Стрелица горе",
64 | "description" : "Up arrow key text added to title"
65 | },
66 | "upDescription" : {
67 | "message" : "Нађи матични елемент који укључује истакнути оквир",
68 | "description" : "Find parent element of current highlight"
69 | },
70 | "keyPageDown" : {
71 | "message" : "PageDown",
72 | "description" : "Page down key"
73 | },
74 | "keyDownArrow" : {
75 | "message" : "Стрелица доле",
76 | "description" : "Down arrow key text added to title"
77 | },
78 | "downDescription" : {
79 | "message" : "Нађи садржај истакнутог оквира",
80 | "description" : "Find first visible child element of highlight"
81 | },
82 | "keyRightArrow" : {
83 | "message" : "Стрелица десно",
84 | "description" : "Right arrow text added to title"
85 | },
86 | "rightDescription" : {
87 | "message" : "Нађи следећи оквир унутар истог матичног елемента",
88 | "description" : "Find next visible sibling element of highlight"
89 | },
90 | "keyLeftArrow" : {
91 | "message" : "Стрелица лево",
92 | "description" : "Left arrow text added to title"
93 | },
94 | "leftDescription" : {
95 | "message" : "Нађи претходни оквир унутар истог матичног елемента",
96 | "description" : ""
97 | },
98 | "keyEnter" : {
99 | "message" : "Enter",
100 | "description" : "Press enter to remove highlight"
101 | },
102 | "removeHighlight" : {
103 | "message" : "Уклони садржај оквира",
104 | "description" : "Remove highlighted box"
105 | },
106 | "keyBackspace" : {
107 | "message" : "Backspace",
108 | "description" : "Press backspace to undo last action"
109 | },
110 | "undoAction" : {
111 | "message" : "Опозови последњу радњу",
112 | "description" : "Undo last action"
113 | },
114 | "keyNumpad" : {
115 | "message" : "Numpad",
116 | "description" : "Numpad key text description"
117 | },
118 | "keyNumpadPlus" : {
119 | "message" : "Плус на нумеричкој тастатури",
120 | "description" : "Numpad+ key"
121 | },
122 | "fontUp" : {
123 | "message" : "Повећај величину фонта за 1",
124 | "description" : "Use keyNumpad+ to increase font size"
125 | },
126 | "keyNumpadMinus" : {
127 | "message" : "Минус на нумеричкој тастатури",
128 | "description" : "Numpad- key"
129 | },
130 | "fontDown" : {
131 | "message" : "Смањи величину фонта за 1",
132 | "description" : "Use keyNumpad- to decrease font size"
133 | },
134 | "keyNumpadAsterisk" : {
135 | "message" : "Звездица на нумеричкој тастатури (множење)",
136 | "description" : ""
137 | },
138 | "fontReset" : {
139 | "message" : "Врати почетну величину фонта",
140 | "description" : "Reset font size to original"
141 | },
142 | "mouseLeftClick" : {
143 | "message" : "клик левим тастером миша",
144 | "description" : "left mouse click"
145 | },
146 | "keyAlt" : {
147 | "message" : "Alt",
148 | "description" : "Alt-key used with mouse-click"
149 | },
150 | "removeOpposite" : {
151 | "message" : "Уклони све изван истакнутог оквира",
152 | "description" : "Remove opposite of highlight"
153 | },
154 | "keyShift" : {
155 | "message" : "Shift",
156 | "description" : "Shift-key used with mouse-click"
157 | },
158 | "fullWidth" : {
159 | "message" : "Постави ширину оквира на 100% и ивице на нула (истакнуто постаје плаво)",
160 | "description" : "Make highlighted element full width & add blue outline"
161 | },
162 | "keyF1" : {
163 | "message" : "F1",
164 | "description" : "F1 key name"
165 | },
166 | "keyF1Title" : {
167 | "message" : "Function One",
168 | "description" : "F1 key used to toggle messages"
169 | },
170 | "toggleMessages" : {
171 | "message" : "Укључи/искључи информације о радњи",
172 | "description" : "Action message display is toggled by the F1 key"
173 | },
174 | "keyPS" : {
175 | "message" : "PrtScn",
176 | "description" : "Print Screen key (abbreviation)"
177 | },
178 | "keyPSTitle" : {
179 | "message" : "Print Screen",
180 | "description" : "Print Screen key full name added to title"
181 | },
182 | "printPage" : {
183 | "message" : "Одштампај страницу",
184 | "description" : "Print the current page"
185 | },
186 | "keyEsc" : {
187 | "message" : "Esc",
188 | "description" : "Escape key to close Printliminator"
189 | },
190 | "keyEscTitle" : {
191 | "message" : "Escape",
192 | "description" : "Escape key full name"
193 | },
194 | "abort" : {
195 | "message" : "Онемогући Printliminator али сачувај историју",
196 | "description" : "Disable Printliminator, but save undo history."
197 | }
198 | }
199 |
--------------------------------------------------------------------------------
/archived/css/printliminator.css:
--------------------------------------------------------------------------------
1 | @media print, screen {
2 |
3 | body {
4 | margin:0;
5 | padding:0;
6 | line-height: 1.4;
7 | word-spacing: 1.1pt;
8 | letter-spacing: 0.2pt;
9 | font-family: Garamond, "Times New Roman", serif;
10 | color: #000;
11 | background: none;
12 | font-size: 12pt;
13 | }
14 |
15 | /*Headings */
16 | h1,h2,h3,h4,h5,h6 { font-family: Helvetica, Arial, sans-serif; }
17 | h1{font-size:19pt;}
18 | h2{font-size:17pt;}
19 | h3{font-size:15pt;}
20 | h4,h5,h6{font-size:12pt;}
21 |
22 | code { font: 10pt Courier, monospace; }
23 | blockquote { margin: 1.3em; padding: 1em; font-size: 10pt; }
24 | hr { background-color: #ccc; }
25 |
26 | /* Images */
27 | img { float: left; margin: 1em 1.5em 1.5em 0; }
28 | a img { border: none; }
29 |
30 | /* Table */
31 | table { margin: 1px; text-align:left; border-collapse: collapse; }
32 | th { border: 1px solid #333; font-weight: bold; }
33 | td { border: 1px solid #333; }
34 | th,td { padding: 4px 10px; }
35 | tfoot { font-style: italic; }
36 | caption { background: #fff; margin-bottom: 20px; text-align:left; }
37 | thead {display: table-header-group;}
38 | tr {page-break-inside: avoid;}
39 |
40 | }
41 |
42 | @media screen {
43 | body { padding: 20px; }
44 | }
45 |
--------------------------------------------------------------------------------
/archived/images/printliminator-bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CSS-Tricks/The-Printliminator/9e2dd81f073eeffa5becab4edda7a71de1725cf9/archived/images/printliminator-bg.png
--------------------------------------------------------------------------------
/archived/images/printliminator-close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CSS-Tricks/The-Printliminator/9e2dd81f073eeffa5becab4edda7a71de1725cf9/archived/images/printliminator-close.png
--------------------------------------------------------------------------------
/archived/images/printliminator-printstylize.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CSS-Tricks/The-Printliminator/9e2dd81f073eeffa5becab4edda7a71de1725cf9/archived/images/printliminator-printstylize.png
--------------------------------------------------------------------------------
/archived/images/printliminator-removeimages.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CSS-Tricks/The-Printliminator/9e2dd81f073eeffa5becab4edda7a71de1725cf9/archived/images/printliminator-removeimages.png
--------------------------------------------------------------------------------
/archived/images/printliminator-sendtoprinter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CSS-Tricks/The-Printliminator/9e2dd81f073eeffa5becab4edda7a71de1725cf9/archived/images/printliminator-sendtoprinter.png
--------------------------------------------------------------------------------
/archived/images/printliminator.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CSS-Tricks/The-Printliminator/9e2dd81f073eeffa5becab4edda7a71de1725cf9/archived/images/printliminator.png
--------------------------------------------------------------------------------
/archived/js/printliminator-v1.js:
--------------------------------------------------------------------------------
1 | function printlimator() {
2 | //remove conflicts with other javascript libraries
3 | var $ = jQuery;
4 | var dont = false;
5 | $('body *:not(._print_controls, ._print_controls *)').live('click', function (e) {
6 | if (!dont) {
7 | e.preventDefault();
8 | if(e.altKey) {
9 | $("body *").not("._print_controls, ._print_controls *")
10 | .not($(this).parents().andSelf())
11 | .not($(this).find("*"))
12 | .remove();
13 | }
14 | else $(this).remove()
15 | }
16 | }).live('mouseover', function () {
17 | if (!dont) $(this).css('outline', '3px solid red')
18 | }).live('mouseout', function () {
19 | if (!dont) $(this).css('outline', 'none')
20 | });
21 |
22 | var controls = $('
The Printliminator (repo) is a bookmarklet with some simple tools you can use to makes websites print better. One click to activate, and then click to remove elements from the page, remove graphics, and apply better print styling.
30 | 31 |Here is the bookmarklet:
32 | 33 |34 | The Printliminator 35 | ← drag to your bookmarks bar 36 |
37 | 38 |47 | By Chris Coyier and Devon Govett. 48 | Updates & extensions by Rob Garrison. 49 | Print stylesheet based on Hartija. 50 |
51 | 52 |