From 541be48fa10889f91b78d6d0668cb5fdf4cc524a Mon Sep 17 00:00:00 2001 From: Dominik Chmaj Date: Wed, 9 Sep 2015 12:13:00 +0200 Subject: [PATCH] More docs :) --- GPL.txt | 339 ++++++++++++++++++++++++++++++++++++ README.md | 2 +- init.rb | 6 +- screenshots/coderay.png | Bin 0 -> 8370 bytes screenshots/highlightjs.png | Bin 0 -> 7254 bytes 5 files changed, 343 insertions(+), 4 deletions(-) create mode 100644 GPL.txt create mode 100644 screenshots/coderay.png create mode 100644 screenshots/highlightjs.png diff --git a/GPL.txt b/GPL.txt new file mode 100644 index 0000000..fd94e16 --- /dev/null +++ b/GPL.txt @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/README.md b/README.md index b02b32a..466d8db 100644 --- a/README.md +++ b/README.md @@ -107,6 +107,6 @@ No, that probably never happens! http://highlightjs.readthedocs.org/en/latest/li This plugin is licensed under the GNU GPL v2. See COPYRIGHT.txt and GPL.txt for details. -== Project help +# Project help, bugs If you need help you can contact the maintainers on the project page on GitHub (https://github.com/dominch/redmine_highlightjs). If you want to report bugs, please open a new issue here: https://github.com/dominch/redmine_highlightjs/issues diff --git a/init.rb b/init.rb index deb88a4..73e501f 100644 --- a/init.rb +++ b/init.rb @@ -3,9 +3,9 @@ require_dependency 'hooks/view_highlighted_hook' Redmine::Plugin.register :redmine_highlightjs do - name 'Syntax colouring with highlightjs' - author 'dmc' - description 'adds much better syntax highlight' + name 'Syntax highlighting with highlightjs' + author 'dominik chmaj' + description 'Adds much better syntax highlighting with autodetection' version '0.1.0' settings :default => {'theme' => 'monokai_sublime'}, :partial => 'settings/highlightjs_settings' end diff --git a/screenshots/coderay.png b/screenshots/coderay.png new file mode 100644 index 0000000000000000000000000000000000000000..a27ad1b0c09d835365a022b670bed6281165e648 GIT binary patch literal 8370 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 K$rsB#4g4Rer|6vk literal 0 HcmV?d00001