From 6d1317028ab02d62ea1c91b2bdb754bda8a2be8e Mon Sep 17 00:00:00 2001 From: mickie Date: Thu, 7 Jan 2021 19:54:44 -0600 Subject: [PATCH 1/6] initial commit --- LICENSE | 674 --------- README.md | 78 -- css/{sharer.css => style.css} | 72 +- gulpfile.js | 53 - html/index.html | 90 ++ html/options.html | 72 + img/captura.png | Bin 51571 -> 0 bytes img/{helado.png => ice-cream.png} | Bin img/icon-16-dark.png | Bin 0 -> 929 bytes img/{icon.png => icon-32-dark.png} | Bin index.html | 122 -- js/apiRequest.js | 48 - js/background.js | 17 + js/index.js | 374 ++--- js/jquery.js | 2 - js/options.js | 206 ++- jsconfig.json | 8 + manifest.json | 98 +- options.html | 117 -- package-lock.json | 2035 +--------------------------- package.json | 31 +- 21 files changed, 543 insertions(+), 3554 deletions(-) delete mode 100644 LICENSE delete mode 100644 README.md rename css/{sharer.css => style.css} (75%) delete mode 100644 gulpfile.js create mode 100644 html/index.html create mode 100644 html/options.html delete mode 100644 img/captura.png rename img/{helado.png => ice-cream.png} (100%) create mode 100644 img/icon-16-dark.png rename img/{icon.png => icon-32-dark.png} (100%) delete mode 100644 index.html delete mode 100644 js/apiRequest.js create mode 100644 js/background.js delete mode 100644 js/jquery.js create mode 100644 jsconfig.json delete mode 100644 options.html diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 9cecc1d..0000000 --- a/LICENSE +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. 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 -them 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 prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. 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. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey 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; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If 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 convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU 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 that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - 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. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -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. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - 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 -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - {one line to give the program's name and a brief idea of what it does.} - Copyright (C) {year} {name of author} - - 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 3 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, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - {project} Copyright (C) {year} {fullname} - This program 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, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU 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. But first, please read -. diff --git a/README.md b/README.md deleted file mode 100644 index 446d872..0000000 --- a/README.md +++ /dev/null @@ -1,78 +0,0 @@ -# ![](/img/icon64.png) Share freedom - Firefox addon - -Share the current tab on the fediverse. - -[Get the extension](https://addons.mozilla.org/en-US/firefox/addon/share-freedom/) (require Firefox 57+) - -## Features - -Simplest add-on for the fediverse. Share web pages right from the toolbar button. - -Supported services/protocols: -- Gnusocial -- Mastodon / Misskey -- Hubzilla -- Diaspora -- Friendica -- Socialhome -- Lemmy -- Pleroma -- Osada / Zap / Zot6 -- XMPP -- Nextcloud - -## Screenshot - -![](/img/captura.png) - -## Notes - -- This add-on is a fork of [URL-sharer](https://github.com/shivarajnaidu/URL-sharer) (for centralized/privative social -networks) by shivarajnaidu. - -## Build - -Run on project root directory - -```bash -npm install -gulp -``` - -## Hint to settings - -In order to work properly, this addon requires that you specify the nodes (=servers) on which you are registered. This is due to the federation of the networks. You can do it on the settings page of the addon, found at **about:addons** in your firefox browser. - -## Contributing - -You can contribute in the following ways: - -- Finding and reporting bugs -- Contributing code to the project by fixing bugs or implementing features - -### Bug reports - -Bug reports and feature suggestions can be submitted to [Gitlab Issues](https://gitlab.com/mickie1/share-freedom-extension/issues). Please make sure that you are not submitting duplicates, and that a similar report or request has not already been resolved or rejected in the past using the search function. Please also use descriptive, concise titles. - -### Pull requests - -Please use clean, concise titles for your pull requests. - -## Invite an ice cream - -You can collaborate with some __criptocurrencies__ for the project :) - -__faircoins:__ fVXruVLErxawnKAchcfbMQXya8YYYPvaZN - -__Bitcoins:__ 15Y9cBeGhGmVGZxFQvQCsQhcCvxgzvKmcR - -![](/img/helado.png) -[CC-BY 4.0 by Vincent Le Moign](https://commons.wikimedia.org/wiki/File:552-soft-ice-cream-2.svg) - -## License - -This Program is Licensed under GPL v3 - -Copyleft (ɔ) 2019 - Miguel (mickie) - -See LICENSE file for more information. diff --git a/css/sharer.css b/css/style.css similarity index 75% rename from css/sharer.css rename to css/style.css index c8cb6e0..2b46af3 100644 --- a/css/sharer.css +++ b/css/style.css @@ -1,19 +1,23 @@ +/*by Kim*/ + /* Button Style 1 (Left Icons) */ html, body { - width:540px; + width: auto; height: auto; } + .btns-container{ height:auto; - background:#f5f5f5; - float:left; + width: auto; + float:right; + padding: 5px 5px 5px 1px; } .btns-container a{ - float:left; - margin:10px; + float:right; + margin:2px; } .btns-container a:hover{ @@ -166,3 +170,61 @@ a.btn-grey, a.btn-grey:hover{ justify-content:center; align-items:center; } + +.flex { + float: relative; + display: flex; + flex-direction: row; +} + +.options-container { + display: flex; + flex: initial; + flex-direction: row; + float: left; + cursor: pointer; + color: #7d7d7d; +} + +.btn-options { + font-size: 30px; + display: flex; + justify-content: center; + align-items: center; +} + +label { + display: block; + color: #ffffff; + padding: 3px; + margin: 5px; +} + +button { + margin: 15px; + padding: 3px; + border: none; + border-radius: 5px; + width: 190px; + height: 35px; + text-align: center; + background-color: #3455b8; + color: #ffffff; + font-size: 19px; +} + +button:hover { + background-color: #3a5fcd; +} + +button:active { + background-color: #22397b; +} + +h2 { + color: #ffffff; +} + +.credits { + color: #ffffff; +} diff --git a/gulpfile.js b/gulpfile.js deleted file mode 100644 index 8f403dd..0000000 --- a/gulpfile.js +++ /dev/null @@ -1,53 +0,0 @@ -'use strict'; -const gulp = require('gulp'); -const concat = require('gulp-concat'); -const cleanCSS = require('gulp-clean-css'); -const htmlReplace = require('gulp-html-replace'); -const htmlmin = require('gulp-htmlmin'); -const uglify = require('gulp-uglify-es').default; -const rename = require('gulp-rename'); - -gulp.task('scripts', () => { - return gulp.src('js/*.js') - .pipe(concat('app.js')) - .pipe(uglify()) - .pipe(rename('app.min.js')) - .pipe(gulp.dest('build/js')); -}); - -gulp.task('styles', () => { - return gulp.src('css/*.css') - .pipe(concat('app.css')) - .pipe(cleanCSS()) - .pipe(rename('app.min.css')) - .pipe(gulp.dest('build/css/')) -}); - -gulp.task('html', () => { - return gulp.src('index.html') - .pipe(htmlmin({ collapseWhitespace: true })) - .pipe(htmlReplace({ - 'styles': 'css/app.min.css', - 'scripts': 'js/app.min.js' - })) - .pipe(gulp.dest('build')) -}); - -gulp.task('fonts', () => { - return gulp.src('fonts/*') - .pipe(gulp.dest('build/fonts')) -}); - -gulp.task('icons', () => { - return gulp.src('icons/*') - .pipe(gulp.dest('build/icons')) -}); - -gulp.task('manifest', () => { - return gulp.src('./manifest.json') - .pipe(gulp.dest('build')) -}); - -gulp.task('copy', ['fonts', 'icons', 'manifest']); - -gulp.task('default', ['scripts', 'styles', 'html', 'copy']); diff --git a/html/index.html b/html/index.html new file mode 100644 index 0000000..602b722 --- /dev/null +++ b/html/index.html @@ -0,0 +1,90 @@ + + + + + + Share freedom + + + + + + + + + + + diff --git a/html/options.html b/html/options.html new file mode 100644 index 0000000..2a702d2 --- /dev/null +++ b/html/options.html @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + +
+
+

Settings

+
Wallpaper by: + Yarmo +
+
+
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ + + +
+ +
+ + + + + diff --git a/img/captura.png b/img/captura.png deleted file mode 100644 index 1c90ad30699576a6595af553ac88439d33fcd389..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51571 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 z zS>Ur?#~&6!gffqx;U5z!939DCRvMUrCi{L3>kC4vER~|sXb!J+z?n=lUw6Pj}!1aBq)mERagABh=sBi8z+qxa9H(IEIJ!Ur#*r< zqr)4|$w6^)cWt7KD@~?MIyjwtg%QZBWo8{sT4{ZD$qvV5L7b=b0bOi({6&)FMZy@4Egqz|B05>BJz!oShO#crH(CYbmnoc98 zATl)i`GVvK0Zjw7+I7J$5-JrXf%5$}_fw+bAL(aet4Xqf>X_Tx)=}{Ac(~hQ{d+IPiI;6f^iheX z{!};HfQ>n`?4>jXf67Rjin7-Yle{+ZNZ;e!m?=0-VfHsrp0A#*=GwscP={x|w{1j< z>2&Y_aj@W9=e7{A(l{HZJI3gfmx{IkII8pPzKuj}KI?*3PnX~8+tTW2d}lK^-zfM& zXI=%dQJNB{+fEs1ofNOaYS)SL!9MY5t_j{Lswb>GUFTz z5q8Asox2(z>f;T;k8!r38+zaoTgiNE29BYoVEa~Z}%9# z{q;`7WZBzO6ytl^>KsrffO0E4jO;|wI$&{X)^^%6W zqDseG#uozWV?cIZ$qQOhL&k|&K*#T^eA7-rV<~)As)@DN?~<3^8fOjzPaKY!uZk|2 zAG)+0uWo`eOiKx&o6)h_0tsq8qhx~X8LVH1IG#W?>jv-dX`R;kyXErQi$ru0CrL72 z={Qp(S+&noN3HkW8LGIRpeR#pYds(y&!@UaYpo&4e2-__1FN)ChWANB>cp{4PCUSZ zK#d*I-1s~2Fmx0UqZ^~vVYL?Kx5xjRAu?+Gnd#4>+mlOSe&M^_a)7hMx7yfy$hEy5 zAREJd(fQitu>ZOiFRi@S{rS~pMZvoV2o2zqA90GKDyMEJH{st1ayY3?z*#ps=oeU- z##}J-mF~3MiR@8VbO4Wpx#gY6tPhLmhUDYa=sK}K?%3&1I+wh0)o1P@V0Kt0?yvcQ z<)j>R+a6NC>FZ3x(?q<27T%~^%}n;A@Gg1oKS%0pJEy zaM7G1(=`F$00@s4V8-8QG@F(6RQ{MhzHVe$^>n%H~sTDAU)+)qP*6d zgBF1#-jmc*cfn={C|o@wi`V>yo}FS#dyf~XUId|q-Z!&Mdrk zIwv&&T?%)5YMj{L0c#Z~X+r#J_RB~B^T5@PST;K_vNVRMk@H-1dT{*7_LD|`0sfbY zHueL}N6c`wwT^*9kL`Lxv~%mA$NKnGcXM&9tvW=B<9$WyP zc8~q!2+ot#c2u+}r{#v$pC5l!FTE+udM%)k8XF#|*Opn2gO0(c*1wMw)=S5WTzU7f z=&0z=osakF!c=kRGHkQ7>l-gCl*XCP1h~K)qX?8q6@;skR?$5vAdYY857|$dBSDMu z?C)0h2W)inDTd##KLMUwv)F+Yo5{a)J=z7*l#<4OM0=dID_q;id?>~9D3_5h_4)k`cJQOYP--^M-?}EKc>;MZHnu`6<1?%QYVl)Yb+H zEQS2&G>`N=q6I|?oxfNNs}x;(MRGe64{?n%dKdy9TZL-orF0zt*B0y z>=g#R`FkE1|FT+$>p~2&*i^9Zk4x#a))-kIrK)0U8QpB~aAA;?cezWIX|k-abq?D2 zxjOpR>Nf1HS9#=o%+b$Es5WZZvOB`hAiK&4WmqfyT>rZ#@pI9Kj8!=&dDBx46s*eM z7Om{a+DHc_$D5O*o_|+6nAg2spPs$X`H+=T)Z6HPT%GdWt7lZVe5R2q*6H!;PfM-% z`qY$K_}4GDjvuh)DlTmj-Lq&@8eF23Ez7vx- zFJ>k~RtGko*MKE`r*{3o1v{x+L!++k?lhBFmT_Le3V{3=>=mZmp@y0d%u96mDwNrYe-x0$aW?Adnzv^hjzk_Qe3D}b9<)>Om6DOe z679k^E$er%>BgMBxobh{EOwy-?vk|XEFPdwpJWhxjh`gRH~`}a3djC_MPmwC-g@l!@9cpcZ?Z&kk=txX&2l z`DmR5^Ksc(sGPCb+N!AtPaGyaQkV|;$cGaLvAb%cNJ9qQ*2?kuQJ%^nI zPx~Odcp_B&D{spe$)PmFuiBep@Vm6d>FnSZvwD@Rvyh?EiDZsvg2F?w{PcS1K^IqB z*IDmVUL7HrmcGvvfCaBFa;mp`t=MS?xcphFI=mH7b}GsoI&q2}K--BeX$q5++^1wR zl`24mi|xNbmYy{wN%C65z@@(Z@hfb5{r&C@t4bAo2i4UEcfQWDimShWK~sAG_9o?H zPVu;#f2G^7v508!FmV*JS=O1Mk>sq1}~y z1DxiKh4`Tgu_n^4dVW{r?(D^_TjSbp02k|D>muclelaqOLk`Ik8s2Jm5yXm+l>YWm zK$_`~`hRx#QJduID6E*ic{6TJBI|m}@&Ux`m9q==O*qYUKWsO4ww^4-o=2IzJZ;K^ zCp*))dOF|joWpLdJqu-d&T)v7#~}{{*2+c(6V2D!aC!6T*$7xZS}P4XFE3oI=%q97 z3$eKWt@Jh)y-R9sEjS;Qpz(PQ|5pDFht7gKd*61O`B)&vMA*{ye6ycHlBItA(t3Yt zd*8%Z>Avg02l*!eos4$}`rmIOmpfk;*1@*gD%WQEUD)NncWWE9SB77`IfcA`?GD~z z6%o*)X6W9}wAOlU5@NoGgr9hd{rVDTbL-SM@ow+&0FC7whXpiR=yuBl18lFdY`4wu1wZ&Xw8Qj|f=LFSPKche_|;i8NC+q1-{{5(-sg5;YKk`N^(}teIjg=_ z9&;rH$wk9_rf73_oG+8^tCC%$Kx^BMz9cj{EWfaaY!T328*fz!Ve z61*zRc8(f&ahSf2=c4mVz0%7_4QnI2vIXm`$7rpxPddTiX37y zE7#^&%@(68G&XJQ@Y{-kN>jS3KZ2|-*RJ4n*WCR8KJ($RwHX=bdp?{pHy!!;4JO*K z!V2K8pf`oyiEk=du^J7`jZ2F^RhMzot<@{f?~E(dxgQ_zp2A%A_Kk&FW5AsOGgC_Z z?mIi@f&FynX_w}A2^mQOPi-v5{m17a&_ff_F*MfKkFtD%LO7|Mktxpio0BrKBtnL} zYL5Q8vhzQ0TT92C#rP|X!eFz@REWmshnjM3HeRIS-1QRbD-U40YKunP5S|L|vDXAc z5)aB-AHsVx%X6#I80giFuDtCV&P`Q*rg(Gl``{|p)n<8EZQM*FQETD%(ol3vh*8TY z*|@pRn?~s~cW5gB@_(;zq za+>L8D&@B>e|3XGaE}fKe*%;SwZwT-FU19MY=+lhz zx$O>VUI=(LtN)1~5JwDXv8v;g=nEb;0pMqvDKz0hG$@i z(7xTN4$g0%PSy~k+clJ2HZFehR(bS<&zJ@M!BX>zs`Vd=`dcX4z2=7taPR&~zV?Ce#^auhZZ9mr*PfT9^t zrfp>OBu6`h>QA5JS#5TfTB#1`pH~8Ge-jo>rhDIur+FS$hMwR88vRfC{hEl03jtHl zyk|G`@H1_1`c-`Q1CjThw;Xdi9*yTatpLCm^AMte8dPE^+axOXZtgsiP>2t1)XC?& zVr%jgOrA60hwR%nvaW;apoPv7b3Z!K*?>if@M{=*>j02%PXJY!jTYCjrpWd_e4v_QdoiC_%CPFX*r>m7pXps}c6hU5aWuqoKr1`w z>h1IwMOgB(rsT`vUv=f$Wv2>xXLZ!mWygz%d5~Rk&9oUUy+)hCe*JlqkQ3q8_k+gB z=(nrtPsc3(l#l#zeLhxsRRNc#0%$tx_I`fT{y5(Wv^b%WeC;OMH?>$y6i{Y`_b)Ng z>j#bjZ;lEAdBj}ch~`&E8;M}=B-6!E8R?OWnVk|Z=241YrsrHXJV0)ZI9P# z(F7(H+RY8ji`h+9iMy?Iu74I=Ga0qg-Cr>^U0%)9CeXb8F2MjQp_zmny^g{yi#{-a zX7Jt;`I6Ow^lxnQKCSw020(l$E7MlBcpjW;ht8|9XIhSsIuiL5M4X#_UgF|j)^b`u zj%IR2H$s{5y=}N}bFCi;xq%_aF%L*ouKC3Do^`_lmDqmIqu%OlCmSz0OHbMA>a{Jm zVWWY2(Mcz=qOl1h(N5aa^MUEd`P|3mISoj_YCIf;yg~1vtg@WD%B8c?8+?$q5iTfR zv8iNl)%~=*sJrG!^!t&7&XEL?Re-|wyu`+3c;F=t3r&!n3#Z=pZ7YF-)~7;VAW$Rv z-Qi4msdRH$1=!ZGoO2wx8wRS>Zg;pSvjHVonyPfVt=UJCoHxwO*FImVKDl)k$ao$~ zDpA;sDb|*0s=lyqN)wg!R^Q&i|rKZFM^v$?Y;c|wZK(tbGkJcyi2N)Yf6qYBes)si)AjXMep|siTn&Divz8beD*P z_9<;xPPKxKAD$9>2>TJXPXum%At=}6ZC$cD{t_%4AQ2?cipt3Jy5V?&5@onL zy1AsQ@v?SIp1s?3SMi)0{$o){)4(acWbL+aKCtVE0ZYpzoyP5AdS1djY}CzeF|Epm z=#D}r?d1XDR(&z`EV^FZwtOx91qB>dMqiClDOiz__~n<<{|_z~A6 zZdM{cw+t2;C#;qltFRT2YmkS+x_>ETe}$q!S<{y%W|f6(SFtnvGZ zihowg@T}`qCd&+bcmEqr!1kFz>wT>A_2y`hzA1|xCT-__ z+Pkx(8|b$kZgF32Q|n4bRpoU|%G~UgB%rew)Y=|A#!t!PM>Rd$1iu1nRg(nR>!YKe zc&!-yX&6KmX2KE~n3nG?WIZuK_z|!}k7$BAnz&zLV3m+l_+v9+!sc@aYDbf4#z0zA`1k%t$t8FbL2ninTMPg8<_db8&}b;JA&shRYb(D)lne6FUrSZ3b<1`;&D;XA_r{*WI~TwV>KQ z9>`Xm9#v;9>sz|?Ca1ver6S#yRzNrF&mjLuWnq9tBj*x=vtB5SIeeTTtU}4y(A2R; zXo|&(2i}#=EW0(%uZXlmMpsMvT6}2Au)5(!wNi(dk$+2a2T>Eq6Hd&)F}SB4q(KM5 zCAhP$DsNb^l1=Pwbs==wqu1qi{=0c{UDA=AQyR@)Bw95mxOfGzQ-2Is@2|pb&jnlx z7YwTBR7on=6m@^vrq>%(A_z~<6zrznTWvZo%^1~kXhgNw?mxYAHc`XTp<5_Vr6Qhp6V)aRiS`;_nv*1O1O&n-M z=h@?$^Qv*kPT!SLy^Etk%Ytws90s zIsM@9OqG?zUpEz%H5GldD(;6#{Yb?XGb=CnUp^7lxO` zj1V!i7*Ovm>4h`!N<jxiuC%r*gCd|QGP}zy7{&SApAx&xdvPVy;YrLq;eFLS zpQpy)!I*@PdSL(02yb#K#L7W1EaWRnID*Yo(1cTg-KDok zs!$zKs7YiD47y?;QII;`!H%9jxe+^jhunYnvo>AEfP38qAoltaxBJZNC!S~=r9ldK zgB#|a4%vZZ^i&_txdX)=HL$2_cElaQcdd)1d+k>Zv!Ujb0*IfNq&n!R2h!~C!dMY}l>%ZltX9d{Je-rZgBck5FY^$FXuEo2C zkR+>O*8XjUdxtOP^)bk`t;+eRqgenEqU!%DfvLUrBd2B;A{C_r8lC)mFSGzC3PYF% zMIn!gjvS#l{ST}pKHFv|N^B^Tr)l`FA%j(*{v*<#B$K@v%6|>XUyF023H(*boa$jZ zI>P){iSa>TSR`3;Fe5Gn+dn`NE>sYk8X2#c??1fMr_l+_58a4{AGZ0O5Dos5RqmQx zlsyn#lT^pI{J$QUW@kDa`JDYa^{@TD#%pvZD?~DOc;+8s)c^!n^8!>*|D(bA@aE>-O9XI2dO}R!QHvC`hBr zRJwmU`r0;3NF_u9Tz(!Na3BC?4;ZsI|79QusW?Q*0ZCvHAn|ZkS?;k61fZ9nh0%RY zQLYI5ZbZ(elH&6#_SWaNA72F3 z)ZCk#5Dcqt`GQm@)c;%zvz&dz_(oj!7LH?x-rXU;ij09Ecw{87M(#T?K^g!+vTZM5 ziL{?^N8a$o5ve9z*3V#J3_#yXH;3?w$(qRg?XYC{NWKF3gQ7=}G1pc5{xSX}Dh>n3 zOeMv-%a5De_5ExoA1wgn$eM%~&ptkhi}_(O>KRvD@8s4~Y-iO7IaTlE-s{kp55=Za zIFZ<%4&j$s>Eb$$_;24X@IBiA1W9$B>4}W|iz4GAr6^9-BZs%}djR~1MxO{&hN1p` zc*ka1eXPb72?Q86oGw|h5VO^<@tj0CKnWWeSYEw^D{z|1WKa%_5SjIx7>VJ^dspIF zIJ+d9r?BDJ4)?;4v-!wQ_Q5^wf_RsYRMaF3x1>C)Yu;gklpU6Nfb0X?Iy_O>-C)p* z8rk(-p$z|k|C`Rl7b#H0eX@Fd+SdtwVn3<4{726%s4{9*q0QS4YEXwPEQAM2R&M(P z?GcVBW~!dB52rq2JmberUof=e1BHA&jRE_!UJn{Ed; z>o}0=L)2Q@=e7${!q`9p@G5KKnHg3xu&Fq8+m84B@5Q$iA{vsTIP=%h8EkS-D zmG2xnf`Q$vGWN`8vbwH(1v3E`&?n#bK$lbeH_uj>Z1Ws@Y0|%flRY&=LklPmUN#Q5 zqT=#Ccn8{Xequ;SyuIHqc4|YBy1Te>a=x+hSExqmq@e*>1N7h-4(m;!-LT1XtI+!@ zxQSsRIH#=#$gGY6N(n!{?Y2c%F17Ou&Z&*G9Gs;JwP~5m4MTrP5x0AkciJ=*Vr15A z!%N~$@*_)S&x!(55#LBVG6pi-Zl{#?f4lB+hy6(95gYjmGHvWO_OzJkW3W96#J*QI ztEb2<`p5=g#|W7Nuj}=Y5d3(q)JouhU>%eD+{H($L$sivq2W%zOX%u|$ms!W6WnN6 z&c_X8!$aYcq7&8wDWBD0&%x|wb4$Rfx*`4>D7XyPps5y^WgyIS1vawCNwmbWkH}yl z;5Yd2-3RXPCdM3eGdmOm?r$n~vVguX@C?b4xKq?*0q7BqIpzSQf#wSWJ$dy_Jm`aT z`%vde*kV=N4-c#W0Aaf0I2cV_7^N4C4?T`aei|KE_|f$z{73ywnR|WTw_y!#+%(b< z-35{l_T(5;diip81KpK)1T?Az)bG%4uKeu{Y)1}buEgnL@ zBQYyJvggT{X$Vj@$Jf;W}AMd|8 zVXOfngdZ~7!-O1nZO4)7^e37rzm&+JAiw#>7mQMS_h+mWsv{(NcoXdBl@O)Ip1WC=2pAz+4}VZ#R8|WTpHo zoPtHeo0T!vDqeH#7d!Y#jWRTN6JQvT?Bbf{?jYiu2Pp&K3yc+ z6|Yv|aim+h$^;{4p_{%v#vZSR8qXgV=A`&$qDol#i!9W@7Y!3_zr)>*5Ey^yPlh$< zZ$68^iapa zS<%Qy*>iMEzY#PaQ5kB-Ij4^bEZms?l4@$euS>;E!adl|6%%8u_UBOe_~Dj=<~V@# zTh1w2soehr6a(x0i4a25G{2^)fe`E7!V@m$G62yFp1`km%a{m`WI||BiF$nroSW~-~7)5x#%$Ow0N@RRZ58oz{kc7h?xg?9>GMNUZd6D~}2cuUQqp2A| zjB<0YR~Teyv(BK^7j}5|TnO$?{E&}e&U=hMV1gXY)Y&;~wi3x$MWI3V$2d&}V za>~cKj9_-@sPt_{O$37zLu#D_5hvQ$S3-LCQeVj7scC*8wCJ6GMEIENpF;D8HdkRG zQ!;vt>pm}+BuPQ9iy^_gRc2uU9b&-+y|5QxwAp!Ko3uMcfn<*$;&9Z7s)*7{`TTxO z6k|asJ)R%siTX7!7xfHBMFvOb*4cxbh zh>FtGQVAm7Ex%|Ri-n|03)pUsC5S{&zOej-G%Kupe$g|+Gn|PR9sw8xG`|{% z#tiH+6po*til-6G|lfI)$_-g~MC7j@*jsTJA|n5P X2#T8*=cz#~00000NkvXXu0mjfnY>26 diff --git a/img/helado.png b/img/ice-cream.png similarity index 100% rename from img/helado.png rename to img/ice-cream.png diff --git a/img/icon-16-dark.png b/img/icon-16-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..eb2e7ca3502cc25a6ec1f97c2d2a78de909cff5c GIT binary patch literal 929 zcmV;S177@zP)V#C4whKDk4LHf7o7IK)<1b`}7AwYR~rk^X&b8p7-{C z-ik-cy*uDWNs}mQ6?lAJo6?2hz|d4zQt98^+FuiV5U(C0w+22Ek$p-n%&WXMzT5Ex z0Ck^U=300Lf%cHCY8US+9Y9+m@A01id1sOAE49AVexmU0 zKF^_3Bf5yl;O%>IDKstH4iAXC)i2loj>$`(Uy*@Z_hjp#ei@sJ%ci!A;%@aX^zOb& zO{LVUmBm>Kz?yEPAjeEgZ9Z);lrWdjNi%Asbm9E)G%cM$I^QU#%4?%!Svq3SUQ@-b z{@+Sn8Bcw4Wm4oY6P-)4 zGS@;rW^yu(OvaKIlcJg)4%6%BO+{Jp!y0PaqX{j`weVj33eMe#vj4>B_erFA^nh>n ze`y3L+Ix1brW>{c8%5!{FZU*BUFiDJ(821!gZO^|S?EN*cz%&V00000NkvXXu0mjf D2%^A` literal 0 HcmV?d00001 diff --git a/img/icon.png b/img/icon-32-dark.png similarity index 100% rename from img/icon.png rename to img/icon-32-dark.png diff --git a/index.html b/index.html deleted file mode 100644 index 9046054..0000000 --- a/index.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - - - Fedishare - - - - - - - - - - - - - - - - diff --git a/js/apiRequest.js b/js/apiRequest.js deleted file mode 100644 index 293b850..0000000 --- a/js/apiRequest.js +++ /dev/null @@ -1,48 +0,0 @@ -/** -* Basic wrapper method for api calls to a nextcloud instance. -* -* @param {string} endpoint Full URL -* @param {string} method GET|POST -* @param {mixed} data Payload -* @param {string} username -* @param {string} password -* @returns {Promise} -*/ -function apiRequest(endpoint, method, data, username, password) { - const headers = new Headers(); - headers.append('Authorization', 'Basic ' + btoa(username + ':' + password)); - headers.append('Accept', 'application/json, text/plain, */*'); - const opts = { method, headers, credentials: 'omit' }; - - if (method.toLowerCase() !== 'get') { - headers.append('Content-Type','application/json;charset=UTF-8'); - opts.body = JSON.stringify(data); - } - - const request = new Request(endpoint, opts); - - return new Promise((resolve, reject) => { - fetch(request).then(response => { - if (response.status !== 200) { - reject(response); - return; - } - - const contentType = response.headers.get('content-type'); - if (contentType && contentType.indexOf('application/json') !== -1) { - response.json().then(json => { - if (!json) { - reject({ statusText: 'Empty reply from server', status: 0 }); - return; - } - - resolve(json); - }); - } else { - reject({ statusText: 'Invalid reply from server', status: 0 }); - } - }).catch(function (e) { - reject({ statusText: e, status: 0 }); - }); - }); -} diff --git a/js/background.js b/js/background.js new file mode 100644 index 0000000..94c6830 --- /dev/null +++ b/js/background.js @@ -0,0 +1,17 @@ +const host = { + diasporaDefault: `https://joindiaspora.com`, + friendicaDefault: `https://libranet.de`, + gnusocialDefault: `https://gnusocial.net`, + hubzillaDefault: `https://demo.hubzilla.org`, + lemmyDefault: `https://dev.lemmy.ml`, + mastodonDefault: `https://mastodon.social`, + pleromaDefault: `https://blob.cat`, + socialhomeDefault: `https://socialhome.network`, + xmppDefault: `https://suchat.org`, + + // shortcut command + shortcutDefault: `Ctrl+Shift+U`, +} + + +export {host} diff --git a/js/index.js b/js/index.js index 1a7200e..724bc8e 100644 --- a/js/index.js +++ b/js/index.js @@ -1,260 +1,148 @@ /* - Original by yuvaraj - Copyright (c) 2016 - Forked by Mickie - Copyleft (ɔ) 2019 - 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 3 of the License, or - (at your option) any later version. + Copyleft (ɔ) 2021 Mickie - 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. + 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 3 of the License, or + (at your option) any later version. - You should have received a copy of the GNU General Public License - along with this program. If not, see . + 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, see . */ -; -(function () { - 'use strict'; +import {host} from './background.js' - // Send Message To Background Script - function sendMessage(tab) { - const { id } = tab; - browser.runtime.sendMessage({ - type: 'sharer-tab-id', - data: { id } - }); +window.onload = () => { + + /* + * Assign and get URLs To Respective Element + */ + + const urlAssigner = (btn = {}) => { + const { id, href } = btn + const a = document.getElementById(id) + a.href = href + a.target = '_blank' + a.addEventListener('click', e => { + window.setTimeout(() => window.close(), 10) + }) + } + + (function getCurrentTabUrl() { + const queryInfo = { + active: true, + currentWindow: true, } - /* - * Assign URLs To Respective Element - */ - function urlAssigner(btn = {}) { - const { id, href } = btn; - const a = document.getElementById(id); - a.href = href; - a.target = '_blank'; - a.addEventListener('click', event => { - console.log(id); - if(id == 'url-nextcloud') { - event.preventDefault(); - sendNextcloudBookmark(); - } - //window.setTimeout(() => window.close(), 10) - }); + chrome.tabs.query(queryInfo, (tabs = []) => { + if (tabs.length === 0) { + return + } + + const tab = (tabs[0] || {}); + const tabUrL = encodeURIComponent(tab.url) + const tabTitle = encodeURIComponent(tab.title) + mkBtns(tabUrL, tabTitle) + }) + })() + + + /* + * Make Social Button Objects + */ + + const mkBtns = (tabUrl = '', tabTitle = '') => { + + // Set post items + + const diasporaPost = `/bookmarklet?url=${tabUrl}&title=${tabTitle}&jump-doclose` + const friendicaPost = `/bookmarklet?url=${tabUrl}&title=${tabTitle}&jump-doclose` + const gnusocialPost = `/?action=newnotice&status_textarea=${tabTitle} ${tabUrl}` + const hubzillaPost = `/rpost?body=${tabTitle} &url=${tabUrl}` + const lemmyPost = `/create_post?url=${tabUrl}&title=${tabTitle}` + const mastodonPost = `/share?text=${tabTitle}&url=${tabUrl}` + const pleromaPost = `/share?message=${tabTitle} ${tabUrl}` + const socialhomePost = `/bookmarklet?url=${tabUrl}&title=${tabTitle}&jump-doclose` + const xmppPost = `?message=${tabTitle} ${tabUrl}` + + // Set social Buttons + + const socialBtns = [] + + const diaspora = {} + const friendica = {} + const gnusocial = {} + const hubzilla = {} + const lemmy = {} + const mastodon = {} + const pleroma = {} + const socialhome = {} + const xmpp = {} + + const itemBtn = (item, hostId, hostKey, hostDefault, hostPost) => { + let itemHost = browser.storage.sync.get(`${hostKey}`) + itemHost.then((res) => { + document.querySelector(`#${hostId}`) + .href = [res[hostKey] || hostDefault] + hostPost + }) + item.href = itemHost + item.id = hostId + socialBtns.push(item) } - function sendNextcloudBookmark(tabUrl) { + itemBtn(diaspora, 'url-diaspora', 'diasporaHost', host.diasporaDefault, diasporaPost) + itemBtn(friendica, 'url-friendica', 'friendicaHost', host.friendicaDefault, friendicaPost) + itemBtn(gnusocial, 'url-gnusocial', 'gnusocialHost', host.gnusocialDefault, gnusocialPost) + itemBtn(hubzilla, 'url-hubzilla', 'hubzillaHost', host.hubzillaDefault, hubzillaPost) + itemBtn(lemmy, 'url-lemmy', 'lemmyHost', host.lemmyDefault, lemmyPost) + itemBtn(mastodon, 'url-mastodon', 'mastodonHost', host.mastodonDefault, mastodonPost) + itemBtn(pleroma, 'url-pleroma', 'pleromaHost', host.pleromaDefault, pleromaPost) + itemBtn(socialhome, 'url-socialhome', 'socialhomeHost', host.socialhomeDefault, socialhomePost) + itemBtn(xmpp, 'url-xmpp', 'xmppHost', host.xmppDefault, xmppPost) + + socialBtns.forEach(urlAssigner) + } - $.support.cors = true; + + /* + * hide/show buttons + */ - console.log('Sending...'); + const enableItem = (hostKey, hostId) => { + const item = chrome.storage.sync.get(`${hostKey}`, value => { + if (value[hostKey]) { + document.getElementById(`${hostId}`).removeAttribute('hidden') + } + }) + } - var server = $('#url-nextcloud').attr('data-server'); - var username = $('#url-nextcloud').attr('data-username'); - var password = $('#url-nextcloud').attr('data-password'); - var endpoint = server + '/index.php/apps/bookmarks/public/rest/v2/bookmark'; - var tabUrL = $('#url-nextcloud').attr('data-url'); - var tabTitle = $('#url-nextcloud').attr('data-title'); + enableItem('diasporaCheck', 'url-diaspora') + enableItem('friendicaCheck', 'url-friendica') + enableItem('gnusocialCheck', 'url-gnusocial') + enableItem('hubzillaCheck', 'url-hubzilla') + enableItem('lemmyCheck', 'url-lemmy') + enableItem('mastodonCheck', 'url-mastodon') + enableItem('pleromaCheck', 'url-pleroma') + enableItem('socialhomeCheck', 'url-socialhome') + enableItem('xmppCheck', 'url-xmpp') - console.log(server); - console.log(username,password); - console.log(tabUrL,tabTitle); + + /* + * Open options page + */ + + function openOptions() { + browser.runtime.openOptionsPage() + } - $.ajax({ - url: endpoint, - method: "POST", - //basic authentication - beforeSend: function (xhr) { - xhr.setRequestHeader("Authorization", "Basic " + btoa(username + ":" + password)); - }, - data: { - url: tabUrL, - title: tabTitle, - description: '', - is_public: true - }, - dataType: 'json', - }) - .success(function(result) { - console.log(result); - $('.alerta').html('
Successfully bookmarked!
'); - }) - .error(function(XMLHttpRequest, status, errorThrown){ - $('.alerta').html('
Error, something was wrong!
'); - console.log('ajax error'); - console.log("Status: " + status); - console.log("Error: " + errorThrown); - }); - } + const el = document.getElementById('options') + el.addEventListener('click', function() {openOptions()}, false) - /* - * Make Social Button Objects - */ - - function mkBtns(tabUrl = '', tabTitle = '') { - - // Set hosts - - var gnusocialItem = browser.storage.sync.get('gnusocialHost'); - gnusocialItem.then((res) => { - document.querySelector("#url-gnusocial").href = [res.gnusocialHost || `https://gnusocial.no`] + `/?action=newnotice&status_textarea=${tabTitle} ${tabUrl}`; - }); - - var mastodonItem = browser.storage.sync.get('mastodonHost'); - mastodonItem.then((res) => { - document.querySelector("#url-mastodon").href = [res.mastodonHost || `https://mastodon.social`] + `/share?text=${tabTitle}&url=${tabUrl}`; - }); - - var hubzillaItem = browser.storage.sync.get('hubzillaHost'); - hubzillaItem.then((res) => { - document.querySelector("#url-hubzilla").href = [res.hubzillaHost || `https://start.hubzilla.org`] + `/rpost?body=${tabTitle} &url=${tabUrl}`; - }); - - var diasporaItem = browser.storage.sync.get('diasporaHost'); - diasporaItem.then((res) => { - document.querySelector("#url-diaspora").href = [res.diasporaHost || `https://diasp.eu`] + `/bookmarklet?url=${tabUrl}&title=${tabTitle}&jump-doclose`; - }); - - var friendicaItem = browser.storage.sync.get('friendicaHost'); - friendicaItem.then((res) => { - document.querySelector("#url-friendica").href = [res.friendicaHost || `https://libranet.de`] + `/bookmarklet?url=${tabUrl}&title=${tabTitle}&jump-doclose`; - }); - - var socialhomeItem = browser.storage.sync.get('socialhomeHost'); - socialhomeItem.then((res) => { - document.querySelector("#url-socialhome").href = [res.socialhomeHost || `https://socialhome.network`] + `/bookmarklet?url=${tabUrl}&title=${tabTitle}&jump-doclose`; - }); - - var lemmyItem = browser.storage.sync.get('lemmyHost'); - lemmyItem.then((res) => { - document.querySelector("#url-lemmy").href = [res.lemmyHost || `https://dev.lemmy.ml`] + `/create_post?url=${tabUrl}&title=${tabTitle}`; - }); - - var pleromaItem = browser.storage.sync.get('pleromaHost'); - pleromaItem.then((res) => { - document.querySelector("#url-pleroma").href = [res.pleromaHost || `https://pleroma-social.ml`] + `/share?message=${tabTitle} ${tabUrl}`; - }); - - var xmppItem = browser.storage.sync.get('xmppHost'); - xmppItem.then((res) => { - document.querySelector("#url-xmpp").href = `xmpp:` + [res.xmppHost] + `?message=${tabTitle} ${tabUrl}`; - }); - - var nextcloudHost = browser.storage.sync.get('nextcloudHost'); - var nextcloudUsername = browser.storage.sync.get('nextcloudUsername'); - var nextcloudPassword = browser.storage.sync.get('nextcloudPassword'); - nextcloudHost.then((res) => { - document.querySelector("#url-nextcloud").href = [res.nextcloudHost]; - document.querySelector("#url-nextcloud").dataset.server = [res.nextcloudHost]; - document.querySelector("#url-nextcloud").dataset.url = tabUrl; - document.querySelector("#url-nextcloud").dataset.title = tabTitle; - }); - nextcloudUsername.then((res) => { - document.querySelector("#url-nextcloud").dataset.username = [res.nextcloudUsername]; - }); - nextcloudPassword.then((res) => { - document.querySelector("#url-nextcloud").dataset.password = [res.nextcloudPassword]; - }); - - // Set social Buttons - - const socialBtns = []; - - const gnusocial = {}; - gnusocial.href = gnusocialItem; - gnusocial.id = 'url-gnusocial'; - socialBtns.push(gnusocial); - - const mastodon = {}; - mastodon.href = mastodonItem; - mastodon.id = 'url-mastodon'; - socialBtns.push(mastodon); - - const hubzilla = {}; - hubzilla.href = hubzillaItem; - hubzilla.id = 'url-hubzilla'; - socialBtns.push(hubzilla); - - const diaspora = {}; - diaspora.href = diasporaItem; - diaspora.id = 'url-diaspora'; - socialBtns.push(diaspora); - - const friendica = {}; - friendica.href = friendicaItem; - friendica.id = 'url-friendica'; - socialBtns.push(friendica); - - const socialhome = {}; - socialhome.href = socialhomeItem; - socialhome.id = 'url-socialhome'; - socialBtns.push(socialhome); - - const lemmy = {}; - lemmy.href = lemmyItem; - lemmy.id = 'url-lemmy'; - socialBtns.push(lemmy); - - const pleroma = {}; - pleroma.href = pleromaItem; - pleroma.id = 'url-pleroma'; - socialBtns.push(pleroma); - - const xmpp = {}; - xmpp.href = xmppItem; - xmpp.id = 'url-xmpp'; - socialBtns.push(xmpp); - - const nextcloud = {}; - nextcloud.href = nextcloudHost; - nextcloud.id = 'url-nextcloud'; - socialBtns.push(nextcloud); - - socialBtns.forEach(urlAssigner); - } - - ; - (function getCurrentTabUrl() { - const queryInfo = { - active: true, - currentWindow: true - }; - - chrome.tabs.query(queryInfo, (tabs = []) => { - if (tabs.length === 0) { - return; - } - - const tab = (tabs[0] || {}); - const tabUrL = encodeURIComponent(tab.url); - const tabTitle = encodeURIComponent(tab.title); - mkBtns(tabUrL, tabTitle); - }); - - // End - })(); - -})(); - -/* - * Make Shortcut - */ - -let gettingAllCommands = browser.commands.getAll(); -gettingAllCommands.then((commands) => { - for (let command of commands) { - console.log(command); - } -}); - -browser.commands.onCommand.addListener(function(command) { - if (command == "_execute_browser_action") { - // console.log("execute the feature!"); - } -}); + +} diff --git a/js/jquery.js b/js/jquery.js deleted file mode 100644 index a1c07fd..0000000 --- a/js/jquery.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0 { + saveHost('diaspora-host', 'diasporaHost') + saveHost('friendica-host', 'friendicaHost') + saveHost('gnusocial-host', 'gnusocialHost') + saveHost('hubzilla-host', 'hubzillaHost') + saveHost('lemmy-host', 'lemmyHost') + saveHost('mastodon-host', 'mastodonHost') + saveHost('pleroma-host', 'pleromaHost') + saveHost('socialhome-host', 'socialhomeHost') + saveHost('xmpp-host', 'xmppHost') + + saveCheckbox('diaspora-check', 'diasporaCheck') + saveCheckbox('friendica-check', 'friendicaCheck') + saveCheckbox('gnusocial-check', 'gnusocialCheck') + saveCheckbox('hubzilla-check', 'hubzillaCheck') + saveCheckbox('lemmy-check', 'lemmyCheck') + saveCheckbox('mastodon-check', 'mastodonCheck') + saveCheckbox('pleroma-check', 'pleromaCheck') + saveCheckbox('socialhome-check', 'socialhomeCheck') + saveCheckbox('xmpp-check', 'xmppCheck') + + e.preventDefault() +} + + +const saveHost = (hostId, hostKey) => { browser.storage.sync.set({ - gnusocialHost: document.querySelector("#gnusocialHost").value, - mastodonHost: document.querySelector("#mastodonHost").value, - pleromaHost: document.querySelector("#pleromaHost").value, - hubzillaHost: document.querySelector("#hubzillaHost").value, - diasporaHost: document.querySelector("#diasporaHost").value, - friendicaHost: document.querySelector("#friendicaHost").value, - lemmyHost: document.querySelector("#lemmyHost").value, - socialhomeHost: document.querySelector("#socialhomeHost").value, - xmppHost: document.querySelector("#xmppHost").value, - nextcloudHost: document.querySelector("#nextcloudHost").value, - nextcloudUsername: document.querySelector("#nextcloudUsername").value, - nextcloudPassword: document.querySelector("#nextcloudPassword").value, - shortcut: document.querySelector("#shortcut").value - }); - e.preventDefault(); + [hostKey] : document.querySelector(`#${hostId}`).value + }) } -function restoreOptions() { - - var gettingGnusocial = browser.storage.sync.get('gnusocialHost'); - gettingGnusocial.then((res) => { - document.querySelector("#gnusocialHost").value = res.gnusocialHost || 'https://gnusocial.no'; - }); - - var gettingMastodon = browser.storage.sync.get('mastodonHost'); - gettingMastodon.then((res) => { - document.querySelector("#mastodonHost").value = res.mastodonHost || 'https://mastodon.social'; - }); - - var gettingPleroma = browser.storage.sync.get('pleromaHost'); - gettingPleroma.then((res) => { - document.querySelector("#pleromaHost").value = res.pleromaHost || 'https://pleroma-social.ml'; - }); - - var gettingHubzilla = browser.storage.sync.get('hubzillaHost'); - gettingHubzilla.then((res) => { - document.querySelector("#hubzillaHost").value = res.hubzillaHost || 'https://start.hubzilla.org'; - }); - - var gettingDiaspora = browser.storage.sync.get('diasporaHost'); - gettingDiaspora.then((res) => { - document.querySelector("#diasporaHost").value = res.diasporaHost || 'https://diasp.eu'; - }); - - var gettingFriendica = browser.storage.sync.get('friendicaHost'); - gettingFriendica.then((res) => { - document.querySelector("#friendicaHost").value = res.friendicaHost || 'https://libranet.de'; - }); - - var gettingLemmy = browser.storage.sync.get('lemmyHost'); - gettingLemmy.then((res) => { - document.querySelector("#lemmyHost").value = res.lemmyHost || 'https://dev.lemmy.ml'; - }); - - var gettingSocialhome = browser.storage.sync.get('socialhomeHost'); - gettingSocialhome.then((res) => { - document.querySelector("#socialhomeHost").value = res.socialhomeHost || 'https://socialhome.network'; - }); - - var gettingXmpp = browser.storage.sync.get('xmppHost'); - gettingXmpp.then((res) => { - document.querySelector("#xmppHost").value = res.xmppHost || 'https://suchat.org'; - }); - - var gettingNextcloudHost = browser.storage.sync.get('nextcloudHost'); - gettingNextcloudHost.then((res) => { - document.querySelector("#nextcloudHost").value = res.nextcloudHost || ''; - }); - - var gettingNextcloudUsername = browser.storage.sync.get('nextcloudUsername'); - gettingNextcloudUsername.then((res) => { - document.querySelector("#nextcloudUsername").value = res.nextcloudUsername || ''; - }); - - var gettingNextcloudPassword = browser.storage.sync.get('nextcloudPassword'); - gettingNextcloudPassword.then((res) => { - document.querySelector("#nextcloudPassword").value = res.nextcloudPassword || ''; - }); - - var gettingShortcut = browser.storage.sync.get('shortcut'); - gettingShortcut.then((res) => { - document.querySelector("#shortcut").value = res.shortcut || 'Ctrl+Shift+U'; - }); +const saveCheckbox = (checkId, checkKey) => { + let checkbox = document.getElementById(`${checkId}`) + if (checkbox.checked) { + browser.storage.sync.set({ + [checkKey] : document.querySelector(`#${checkId}`).checked = true + }) + } else { + browser.storage.sync.set({ + [checkKey] : document.querySelector(`#${checkId}`).checked = false + }) + } } -/** - * Keyboard shortcut - */ -const commandShorcut = '_execute_browser_action'; +const restoreOptions = () => { + restoreHost('diasporaHost', 'diaspora-host', host.diasporaDefault) + restoreHost('friendicaHost', 'friendica-host', host.friendicaDefault) + restoreHost('gnusocialHost', 'gnusocial-host', host.gnusocialDefault) + restoreHost('hubzillaHost', 'hubzilla-host', host.hubzillaDefault) + restoreHost('lemmyHost', 'lemmy-host', host.lemmyDefault) + restoreHost('mastodonHost', 'mastodon-host', host.mastodonDefault) + restoreHost('pleromaHost', 'pleroma-host', host.pleromaDefault) + restoreHost('socialhomeHost', 'socialhome-host', host.socialhomeDefault) + restoreHost('xmppHost', 'xmpp-host', host.xmppDefault) -/** - * Update the UI: set the value of the shortcut textbox. - */ -async function updateUI() { - let commands = await browser.commands.getAll(); - for (command of commands) { - if (command.name === commandShorcut) { - document.querySelector('#shortcut').value = command.shortcut; - } + restoreCheckbox('diasporaCheck', 'diaspora-check') + restoreCheckbox('friendicaCheck', 'friendica-check') + restoreCheckbox('gnusocialCheck', 'gnusocial-check') + restoreCheckbox('hubzillaCheck', 'hubzilla-check') + restoreCheckbox('lemmyCheck', 'lemmy-check') + restoreCheckbox('mastodonCheck', 'mastodon-check') + restoreCheckbox('pleromaCheck', 'pleroma-check') + restoreCheckbox('socialhomeCheck', 'socialhome-check') + restoreCheckbox('xmppCheck', 'xmpp-check') +} + + +const restoreHost = (hostKey, hostId, hostDefault) => { + let gettingItem = browser.storage.sync.get(`${hostKey}`) + gettingItem.then((res) => { + document.querySelector(`#${hostId}`).value = res[hostKey] || hostDefault + }) +} + +const restoreCheckbox = (checkKey, checkId) => { + const checkbox = chrome.storage.sync.get(`${checkKey}`, value => { + if (value[checkKey]) { + document.getElementById(`${checkId}`).checked = true } + }) } -/** - * Update the shortcut based on the value in the textbox. - */ -async function updateShortcut() { - await browser.commands.update({ - name: commandShorcut, - shortcut: document.querySelector('#shortcut').value - }); + +document.addEventListener('DOMContentLoaded', restoreOptions, saveCheckbox) +document.querySelector("form").addEventListener("submit", saveOptions) + +// test zone +function onGot(item) { + console.log(item); } -/** - * Reset the shortcut and update the textbox. - */ -async function resetShortcut() { - await browser.commands.reset(commandShorcut); - updateUI(); +function onError(error) { + console.log(`Error: ${error}`); } -/** - * Update the UI when the page loads. -*/ +let allItems = browser.storage.sync.get() +allItems.then(onGot, onError) -document.addEventListener('DOMContentLoaded', restoreOptions, updateUI); -document.querySelector("form").addEventListener("submit", saveOptions); -document.querySelector('#update').addEventListener('click', updateShortcut); -document.querySelector('#reset').addEventListener('click', resetShortcut); +const itemValueOpt = chrome.storage.sync.get('pleromaCheck', item => { + console.log(item.pleromaCheck) +}) diff --git a/jsconfig.json b/jsconfig.json new file mode 100644 index 0000000..ab974c0 --- /dev/null +++ b/jsconfig.json @@ -0,0 +1,8 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es6", + "rootDir": "js", + }, + "exclude": ["node_modules"] +} diff --git a/manifest.json b/manifest.json index d3d5782..9b8988b 100644 --- a/manifest.json +++ b/manifest.json @@ -1,55 +1,63 @@ { - "manifest_version": 2, + "manifest_version": 2, - "name": "Share-freedom", - "description": "share the current tab on the fediverse", - "version": "2.1.2", - "author": "Mickie", + "name": "Share Freedom", + "description": "share the current tab on the fediverse", + "version": "2.1.3", + "author": "Mickie", - "browser_action": { - "default_icon": "img/icon.png", - "default_popup": "index.html", - "default_title": "Share freedom", - "theme_icons": [{ - "light": "img/icon-16-light.png", - "dark": "img/icon.png", - "size": 16 - }, { - "light": "img/icon-32-light.png", - "dark": "img/icon.png", - "size": 32 - }] - }, + "background": { + "scripts": ["js/background.js"], + "persistent": true + }, - "icons": { - "16":"img/icon.png", - "32":"img/icon.png" - }, + "browser_action": { + "default_icon": "img/icon-32-dark.png", + "default_popup": "html/index.html", + "default_title": "Share freedom", + "theme_icons": [{ + "light": "img/icon-16-light.png", + "dark": "img/icon-16-dark.png", + "size": 16 + }, { + "light": "img/icon-32-light.png", + "dark": "img/icon-32-dark.png", + "size": 32 + }] + }, - "commands": { - "_execute_browser_action": { - "suggested_key": { "default": "Ctrl+Shift+U" }, - "description": "Execute the extension" - } - }, + "icons": { + "16":"img/icon-16-dark.png", + "32":"img/icon-32-dark.png" + }, - "options_ui": { - "page": "options.html", - "browser_style": true - }, + "commands": { + "_execute_browser_action": { + "suggested_key": { + "default": "Ctrl+Shift+U" + }, + "description": "Execute the extension" + } + }, - "applications": { - "gecko": { - "id": "{c5880375-5496-4d02-ba27-7830809dbf08}", - "strict_min_version": "59.0" - } - }, + "options_ui": { + "page": "html/options.html", + "browser_style": true, + "chrome_style": true + }, - "permissions": [ - "tabs", - "activeTab", - "https://*/*", - "storage" - ] + "applications": { + "gecko": { + "id": "{c5880375-5496-4d02-ba27-7830809dbf08}", + "strict_min_version": "59.0" + } + }, + + "permissions": [ + "tabs", + "activeTab", + "https://*/*", + "storage" + ] } diff --git a/options.html b/options.html deleted file mode 100644 index 3f952e5..0000000 --- a/options.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - Share freedom settings - - - - - - - - - - - -
-
-
Fedishare
-
Wallpaper by: - yarmo [at] fosstodon.org -
-
-
-

Settings

-
-

Instances

- -

-

Gnusocial

- - -

-

-

Mastodon / Misskey

- - -

-

-

Pleroma

- - -

-

-

Hubzilla / Osada / Zap

- - -

-

-

Diaspora

- - -

-

-

Friendica

- - -

-

-

Lemmy

- - -

-

-

Socialhome

- - -

-

-

Xmpp ID

- - -

-

-

Netxcloud host

- - -

-

-

Netxcloud username

- - -

-

-

Netxcloud password

- - -

-
-
-

- - -

-
-
-

Keyboard shortcut

- -

- - -

-
-
- - - diff --git a/package-lock.json b/package-lock.json index 3ee7a27..660047a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,2034 +1,5 @@ { - "name": "Share-freedom", - "version": "2.1.2", - "lockfileVersion": 1, - "requires": true, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", - "dev": true - }, - "arr-diff": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", - "integrity": "sha1-jzuCf5Vai9ZpaX5KQlasPOrjVs8=", - "dev": true, - "requires": { - "arr-flatten": "^1.0.1" - } - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "array-differ": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz", - "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=", - "dev": true - }, - "array-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", - "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", - "dev": true - }, - "array-slice": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.0.0.tgz", - "integrity": "sha1-5zA08A3MH0CHYAj9IP6ud71LfC8=", - "dev": true - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "array-unique": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", - "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=", - "dev": true - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true - }, - "beeper": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/beeper/-/beeper-1.1.1.tgz", - "integrity": "sha1-5tXqjF2tABMEpwsiY4RH9pyy+Ak=", - "dev": true - }, - "bl": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/bl/-/bl-0.9.5.tgz", - "integrity": "sha1-wGt5evCF6gC8Unr8jvzxHeIjIFQ=", - "dev": true, - "requires": { - "readable-stream": "~1.0.26" - }, - "dependencies": { - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - } - } - }, - "bluebird": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.0.tgz", - "integrity": "sha1-eRQg1/VR7qKJdFOop3ZT+WYG1nw=", - "dev": true - }, - "brace-expansion": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", - "integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", - "integrity": "sha1-uneWLhLf+WnWt2cR6RS3N4V79qc=", - "dev": true, - "requires": { - "expand-range": "^1.8.1", - "preserve": "^0.2.0", - "repeat-element": "^1.1.2" - } - }, - "bufferstreams": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/bufferstreams/-/bufferstreams-1.1.1.tgz", - "integrity": "sha1-AWE3MGCsWYjv+ZBYcxEU9uGV1R4=", - "dev": true, - "requires": { - "readable-stream": "^2.0.2" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.0.3", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "camel-case": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", - "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", - "dev": true, - "requires": { - "no-case": "^2.2.0", - "upper-case": "^1.1.1" - } - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "clean-css": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.1.8.tgz", - "integrity": "sha1-BhRVsklKdQrJj0bY1euxfGeeqdE=", - "dev": true, - "requires": { - "source-map": "0.5.x" - } - }, - "clone": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz", - "integrity": "sha1-Jgt6meux7f4kdTgXX3gyQ8sZ0Uk=", - "dev": true - }, - "clone-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", - "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", - "dev": true - }, - "clone-stats": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz", - "integrity": "sha1-uI+UqCzzi4eR1YBG6kAprYjKmdE=", - "dev": true - }, - "cloneable-readable": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.0.0.tgz", - "integrity": "sha1-pikNQT8hemEjL5XkWP84QYz7ARc=", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "process-nextick-args": "^1.0.6", - "through2": "^2.0.1" - } - }, - "commander": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz", - "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ==", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "concat-with-sourcemaps": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.0.4.tgz", - "integrity": "sha1-9Vs74q60dgGxCi1SWcz7cP0vHdY=", - "dev": true, - "requires": { - "source-map": "^0.5.1" - } - }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true - }, - "dateformat": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-2.0.0.tgz", - "integrity": "sha1-J0Pjq7XD/CRi5SfcpEXgTp9N7hc=", - "dev": true - }, - "defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", - "dev": true, - "requires": { - "clone": "^1.0.2" - } - }, - "deprecated": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz", - "integrity": "sha1-+cmvVGSvoeepcUWKi97yqpTVuxk=", - "dev": true - }, - "detect-file": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-0.1.0.tgz", - "integrity": "sha1-STXe39lIhkjgBrASlWbpOGcR6mM=", - "dev": true, - "requires": { - "fs-exists-sync": "^0.1.0" - } - }, - "duplexer2": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", - "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", - "dev": true, - "requires": { - "readable-stream": "~1.1.9" - } - }, - "end-of-stream": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz", - "integrity": "sha1-jhdyBsPICDfYVjLouTWd/osvbq8=", - "dev": true, - "requires": { - "once": "~1.3.0" - } - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true - }, - "expand-brackets": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", - "integrity": "sha1-3wcoTjQqgHzXM6xa9yQR5YHRF3s=", - "dev": true, - "requires": { - "is-posix-bracket": "^0.1.0" - } - }, - "expand-range": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", - "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", - "dev": true, - "requires": { - "fill-range": "^2.1.0" - } - }, - "expand-tilde": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz", - "integrity": "sha1-C4HrqJflo9MdHD0QL48BRB5VlEk=", - "dev": true, - "requires": { - "os-homedir": "^1.0.1" - } - }, - "extend": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", - "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", - "dev": true - }, - "extglob": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", - "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - }, - "fancy-log": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.0.tgz", - "integrity": "sha1-Rb4X0Cu5kX1gzP/UmVyZnmyMmUg=", - "dev": true, - "requires": { - "chalk": "^1.1.1", - "time-stamp": "^1.0.0" - } - }, - "filename-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", - "integrity": "sha1-wcS5vuPglyXdsQa3XB4wH+LxiyY=", - "dev": true - }, - "fill-range": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz", - "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", - "dev": true, - "requires": { - "is-number": "^2.1.0", - "isobject": "^2.0.0", - "randomatic": "^1.1.3", - "repeat-element": "^1.1.2", - "repeat-string": "^1.5.2" - } - }, - "find-index": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz", - "integrity": "sha1-Z101iyyjiS15Whq0cjL4tuLg3eQ=", - "dev": true - }, - "findup-sync": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.4.3.tgz", - "integrity": "sha1-QAQ5Kee8YK3wt/SCfExudaDeyhI=", - "dev": true, - "requires": { - "detect-file": "^0.1.0", - "is-glob": "^2.0.1", - "micromatch": "^2.3.7", - "resolve-dir": "^0.1.0" - } - }, - "fined": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fined/-/fined-1.1.0.tgz", - "integrity": "sha1-s33IRLdqL15wgeiE98CuNE8VNHY=", - "dev": true, - "requires": { - "expand-tilde": "^2.0.2", - "is-plain-object": "^2.0.3", - "object.defaults": "^1.1.0", - "object.pick": "^1.2.0", - "parse-filepath": "^1.0.1" - }, - "dependencies": { - "expand-tilde": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", - "dev": true, - "requires": { - "homedir-polyfill": "^1.0.1" - } - } - } - }, - "first-chunk-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz", - "integrity": "sha1-Wb+1DNkF9g18OUzT2ayqtOatk04=", - "dev": true - }, - "flagged-respawn": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-0.3.2.tgz", - "integrity": "sha1-/xke3c1wiKZ1smEP/8l2vpuAdLU=", - "dev": true - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "for-own": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", - "integrity": "sha1-UmXGgaTylNq78XyVCbZ2OqhFEM4=", - "dev": true, - "requires": { - "for-in": "^1.0.1" - } - }, - "fs-exists-sync": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz", - "integrity": "sha1-mC1ok6+RjnLQjeyehnP/K1qNat0=", - "dev": true - }, - "gaze": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz", - "integrity": "sha1-QLcJU30k0dRXZ9takIaJ3+aaxE8=", - "dev": true, - "requires": { - "globule": "~0.1.0" - } - }, - "glob": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz", - "integrity": "sha1-xstz0yJsHv7wTePFbQEvAzd+4V8=", - "dev": true, - "requires": { - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^2.0.1", - "once": "^1.3.0" - } - }, - "glob-base": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", - "integrity": "sha1-27Fk9iIbHAscz4Kuoyi0l98Oo8Q=", - "dev": true, - "requires": { - "glob-parent": "^2.0.0", - "is-glob": "^2.0.0" - } - }, - "glob-parent": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", - "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", - "dev": true, - "requires": { - "is-glob": "^2.0.0" - } - }, - "glob-stream": { - "version": "3.1.18", - "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz", - "integrity": "sha1-kXCl8St5Awb9/lmPMT+PeVT9FDs=", - "dev": true, - "requires": { - "glob": "^4.3.1", - "glob2base": "^0.0.12", - "minimatch": "^2.0.1", - "ordered-read-streams": "^0.1.0", - "through2": "^0.6.1", - "unique-stream": "^1.0.0" - }, - "dependencies": { - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "through2": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", - "dev": true, - "requires": { - "readable-stream": ">=1.0.33-1 <1.1.0-0", - "xtend": ">=4.0.0 <4.1.0-0" - } - } - } - }, - "glob-watcher": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz", - "integrity": "sha1-uVtKjfdLOcgymLDAXJeLTZo7cQs=", - "dev": true, - "requires": { - "gaze": "^0.5.1" - } - }, - "glob2base": { - "version": "0.0.12", - "resolved": "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz", - "integrity": "sha1-nUGbPijxLoOjYhZKJ3BVkiycDVY=", - "dev": true, - "requires": { - "find-index": "^0.1.1" - } - }, - "global-modules": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz", - "integrity": "sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0=", - "dev": true, - "requires": { - "global-prefix": "^0.1.4", - "is-windows": "^0.2.0" - } - }, - "global-prefix": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz", - "integrity": "sha1-jTvGuNo8qBEqFg2NSW/wRiv+948=", - "dev": true, - "requires": { - "homedir-polyfill": "^1.0.0", - "ini": "^1.3.4", - "is-windows": "^0.2.0", - "which": "^1.2.12" - } - }, - "globule": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz", - "integrity": "sha1-2cjt3h2nnRJaFRt5UzuXhnY0auU=", - "dev": true, - "requires": { - "glob": "~3.1.21", - "lodash": "~1.0.1", - "minimatch": "~0.2.11" - }, - "dependencies": { - "glob": { - "version": "3.1.21", - "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz", - "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=", - "dev": true, - "requires": { - "graceful-fs": "~1.2.0", - "inherits": "1", - "minimatch": "~0.2.11" - } - }, - "graceful-fs": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz", - "integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=", - "dev": true - }, - "inherits": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz", - "integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=", - "dev": true - }, - "minimatch": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz", - "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=", - "dev": true, - "requires": { - "lru-cache": "2", - "sigmund": "~1.0.0" - } - } - } - }, - "glogg": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.0.tgz", - "integrity": "sha1-f+DxmfV6yQbPUS/urY+Q7kooT8U=", - "dev": true, - "requires": { - "sparkles": "^1.0.0" - } - }, - "graceful-fs": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz", - "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=", - "dev": true, - "requires": { - "natives": "^1.1.0" - } - }, - "gulp": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/gulp/-/gulp-3.9.1.tgz", - "integrity": "sha1-VxzkWSjdQK9lFPxAEYZgFsE4RbQ=", - "dev": true, - "requires": { - "archy": "^1.0.0", - "chalk": "^1.0.0", - "deprecated": "^0.0.1", - "gulp-util": "^3.0.0", - "interpret": "^1.0.0", - "liftoff": "^2.1.0", - "minimist": "^1.1.0", - "orchestrator": "^0.3.0", - "pretty-hrtime": "^1.0.0", - "semver": "^4.1.0", - "tildify": "^1.0.0", - "v8flags": "^2.0.2", - "vinyl-fs": "^0.3.0" - } - }, - "gulp-clean-css": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/gulp-clean-css/-/gulp-clean-css-3.8.0.tgz", - "integrity": "sha512-R96U/umCB+XfmMNQ/VOPqMYHY9m+VeDCk9iv9Y7ysOx4dlX2Zkw1xDsO0vo7AzokARtQPEY7u1xm4/x6v7oABg==", - "dev": true, - "requires": { - "clean-css": "4.1.8", - "gulp-util": "3.0.8", - "through2": "2.0.3", - "vinyl-sourcemaps-apply": "0.2.1" - } - }, - "gulp-concat": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/gulp-concat/-/gulp-concat-2.6.1.tgz", - "integrity": "sha1-Yz0WyV2IUEYorQJmVmPO5aR5M1M=", - "dev": true, - "requires": { - "concat-with-sourcemaps": "^1.0.0", - "through2": "^2.0.0", - "vinyl": "^2.0.0" - }, - "dependencies": { - "clone": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.1.tgz", - "integrity": "sha1-0hfR6WERjjrJpLi7oyhVU79kfNs=", - "dev": true - }, - "clone-stats": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", - "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", - "dev": true - }, - "replace-ext": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.0.tgz", - "integrity": "sha1-3mMSg3P8v3w8z6TeWkgMRaZ5WOs=", - "dev": true - }, - "vinyl": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.1.0.tgz", - "integrity": "sha1-Ah+cLPlR1rk5lDyJ617lrdT9kkw=", - "dev": true, - "requires": { - "clone": "^2.1.1", - "clone-buffer": "^1.0.0", - "clone-stats": "^1.0.0", - "cloneable-readable": "^1.0.0", - "remove-trailing-separator": "^1.0.1", - "replace-ext": "^1.0.0" - } - } - } - }, - "gulp-exec": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/gulp-exec/-/gulp-exec-2.1.3.tgz", - "integrity": "sha1-RgpOyN+GhB0XOLx0lYxo5XaTQtk=", - "dev": true, - "requires": { - "gulp-util": "^3.0.7", - "gulplog": "^1.0.0", - "through2": "^2.0.1" - } - }, - "gulp-html-replace": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/gulp-html-replace/-/gulp-html-replace-1.6.2.tgz", - "integrity": "sha1-HhBm+m+FOMjRmemaNENHLyu0YkI=", - "dev": true, - "requires": { - "bluebird": "^3.1.1", - "clone": "^1.0.2", - "object-assign": "^4.0.1", - "readable-stream": "^2.0.4", - "slash": "^1.0.0", - "vinyl-buffer": "^1.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.0.3", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "gulp-htmlmin": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/gulp-htmlmin/-/gulp-htmlmin-3.0.0.tgz", - "integrity": "sha1-GeqAAtEjHWsfGKEtIPKmand3D7M=", - "dev": true, - "requires": { - "bufferstreams": "^1.1.0", - "gulp-util": "^3.0.7", - "html-minifier": "^3.0.3", - "object-assign": "^4.0.1", - "readable-stream": "^2.0.2", - "tryit": "^1.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.0.3", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "gulp-rename": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-1.2.2.tgz", - "integrity": "sha1-OtRCh2PwXidk3sHGfYaNsnVoeBc=", - "dev": true - }, - "gulp-uglify-es": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/gulp-uglify-es/-/gulp-uglify-es-0.1.3.tgz", - "integrity": "sha512-5M83gIfJ/5lysQGwoEpVW6c1mVzsGwaJQA/XiyucsvI1pJ1GhTy8mQK+kxAoSCjkMAjzvDiK6EE9Dw4YghI9dA==", - "dev": true, - "requires": { - "gulp-exec": "^2.1.3", - "o-stream": "^0.1.12", - "uglify-es": "^3.0.26" - }, - "dependencies": { - "uglify-es": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/uglify-es/-/uglify-es-3.1.1.tgz", - "integrity": "sha512-oESWzXRJ5cHfxZnj1wS4WAy1Tcn4RbMhSX6lhMpzkHN+6SrO6Wmlg9dK4M+K/MXHIwndOD7wme7fEGuFcEf4BQ==", - "dev": true, - "requires": { - "commander": "~2.11.0", - "source-map": "~0.5.1" - } - } - } - }, - "gulp-util": { - "version": "3.0.8", - "resolved": "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.8.tgz", - "integrity": "sha1-AFTh50RQLifATBh8PsxQXdVLu08=", - "dev": true, - "requires": { - "array-differ": "^1.0.0", - "array-uniq": "^1.0.2", - "beeper": "^1.0.0", - "chalk": "^1.0.0", - "dateformat": "^2.0.0", - "fancy-log": "^1.1.0", - "gulplog": "^1.0.0", - "has-gulplog": "^0.1.0", - "lodash._reescape": "^3.0.0", - "lodash._reevaluate": "^3.0.0", - "lodash._reinterpolate": "^3.0.0", - "lodash.template": "^3.0.0", - "minimist": "^1.1.0", - "multipipe": "^0.1.2", - "object-assign": "^3.0.0", - "replace-ext": "0.0.1", - "through2": "^2.0.0", - "vinyl": "^0.5.0" - } - }, - "gulplog": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", - "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", - "dev": true, - "requires": { - "glogg": "^1.0.0" - } - }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "has-gulplog": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz", - "integrity": "sha1-ZBTIKRNpfaUVkDl9r7EvIpZ4Ec4=", - "dev": true, - "requires": { - "sparkles": "^1.0.0" - } - }, - "he": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", - "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", - "dev": true - }, - "homedir-polyfill": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz", - "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", - "dev": true, - "requires": { - "parse-passwd": "^1.0.0" - } - }, - "html-minifier": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.5.tgz", - "integrity": "sha512-g+1+NBycQI0fGnggd52JM8TRUweG7+9W2wrtjGitMAqc4G7maweAHvVAAjz9veHseIH3tYKE2lk2USGSoewIrQ==", - "dev": true, - "requires": { - "camel-case": "3.0.x", - "clean-css": "4.1.x", - "commander": "2.11.x", - "he": "1.1.x", - "ncname": "1.0.x", - "param-case": "2.1.x", - "relateurl": "0.2.x", - "uglify-js": "3.1.x" - } - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "ini": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz", - "integrity": "sha1-BTfLedr1m1mhpRff9wbIbsA5Fi4=", - "dev": true - }, - "interpret": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.0.4.tgz", - "integrity": "sha1-ggzdWIuGj/sZGoCVBtbJyPISsbA=", - "dev": true - }, - "is-absolute": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.2.6.tgz", - "integrity": "sha1-IN5p89uULvLYe5wto28XIjWxtes=", - "dev": true, - "requires": { - "is-relative": "^0.2.1", - "is-windows": "^0.2.0" - } - }, - "is-buffer": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz", - "integrity": "sha1-Hzsm72E7IUuIy8ojzGwB2Hlh7sw=", - "dev": true - }, - "is-dotfile": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", - "integrity": "sha1-pqLzL/0t+wT1yiXs0Pa4PPeYoeE=", - "dev": true - }, - "is-equal-shallow": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", - "integrity": "sha1-IjgJj8Ih3gvPpdnqxMRdY4qhxTQ=", - "dev": true, - "requires": { - "is-primitive": "^2.0.0" - } - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-extglob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", - "integrity": "sha1-rEaBd8SUNAWgkvyPKXYMb/xiBsA=", - "dev": true - }, - "is-glob": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", - "integrity": "sha1-0Jb5JqPe1WAPP9/ZEZjLCIjC2GM=", - "dev": true, - "requires": { - "is-extglob": "^1.0.0" - } - }, - "is-number": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", - "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.0.1" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "is-posix-bracket": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", - "integrity": "sha1-MzTceXdDaOkvAW5vvAqI9c1ua8Q=", - "dev": true - }, - "is-primitive": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", - "integrity": "sha1-IHurkWOEmcB7Kt8kCkGochADRXU=", - "dev": true - }, - "is-relative": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.2.1.tgz", - "integrity": "sha1-0n9MfVFtF1+2ENuEu+7yPDvJeqU=", - "dev": true, - "requires": { - "is-unc-path": "^0.1.1" - } - }, - "is-unc-path": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-0.1.2.tgz", - "integrity": "sha1-arBTpyVzwQJQ/0FqOBTDUXivObk=", - "dev": true, - "requires": { - "unc-path-regex": "^0.1.0" - } - }, - "is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true - }, - "is-windows": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz", - "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw=", - "dev": true - }, - "isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - } - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - }, - "liftoff": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.3.0.tgz", - "integrity": "sha1-qY8v9nGD2Lp8+soQVIvX/wVQs4U=", - "dev": true, - "requires": { - "extend": "^3.0.0", - "findup-sync": "^0.4.2", - "fined": "^1.0.1", - "flagged-respawn": "^0.3.2", - "lodash.isplainobject": "^4.0.4", - "lodash.isstring": "^4.0.1", - "lodash.mapvalues": "^4.4.0", - "rechoir": "^0.6.2", - "resolve": "^1.1.7" - } - }, - "lodash": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz", - "integrity": "sha1-j1dWDIO1n8JwvT1WG2kAQ0MOJVE=", - "dev": true - }, - "lodash._basecopy": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", - "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=", - "dev": true - }, - "lodash._basetostring": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz", - "integrity": "sha1-0YYdh3+CSlL2aYMtyvPuFVZqB9U=", - "dev": true - }, - "lodash._basevalues": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz", - "integrity": "sha1-W3dXYoAr3j0yl1A+JjAIIP32Ybc=", - "dev": true - }, - "lodash._getnative": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", - "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=", - "dev": true - }, - "lodash._isiterateecall": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", - "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=", - "dev": true - }, - "lodash._reescape": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz", - "integrity": "sha1-Kx1vXf4HyKNVdT5fJ/rH8c3hYWo=", - "dev": true - }, - "lodash._reevaluate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz", - "integrity": "sha1-WLx0xAZklTrgsSTYBpltrKQx4u0=", - "dev": true - }, - "lodash._reinterpolate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", - "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", - "dev": true - }, - "lodash._root": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz", - "integrity": "sha1-+6HEUkwZ7ppfgTa0YJ8BfPTe1pI=", - "dev": true - }, - "lodash.escape": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz", - "integrity": "sha1-mV7g3BjBtIzJLv+ucaEKq1tIdpg=", - "dev": true, - "requires": { - "lodash._root": "^3.0.0" - } - }, - "lodash.isarguments": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", - "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=", - "dev": true - }, - "lodash.isarray": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", - "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=", - "dev": true - }, - "lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", - "dev": true - }, - "lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=", - "dev": true - }, - "lodash.keys": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", - "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", - "dev": true, - "requires": { - "lodash._getnative": "^3.0.0", - "lodash.isarguments": "^3.0.0", - "lodash.isarray": "^3.0.0" - } - }, - "lodash.mapvalues": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz", - "integrity": "sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw=", - "dev": true - }, - "lodash.restparam": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", - "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=", - "dev": true - }, - "lodash.template": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz", - "integrity": "sha1-+M3sxhaaJVvpCYrosMU9N4kx0U8=", - "dev": true, - "requires": { - "lodash._basecopy": "^3.0.0", - "lodash._basetostring": "^3.0.0", - "lodash._basevalues": "^3.0.0", - "lodash._isiterateecall": "^3.0.0", - "lodash._reinterpolate": "^3.0.0", - "lodash.escape": "^3.0.0", - "lodash.keys": "^3.0.0", - "lodash.restparam": "^3.0.0", - "lodash.templatesettings": "^3.0.0" - } - }, - "lodash.templatesettings": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz", - "integrity": "sha1-+zB4RHU7Zrnxr6VOJix0UwfbqOU=", - "dev": true, - "requires": { - "lodash._reinterpolate": "^3.0.0", - "lodash.escape": "^3.0.0" - } - }, - "lower-case": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", - "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", - "dev": true - }, - "lru-cache": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", - "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=", - "dev": true - }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true - }, - "micromatch": { - "version": "2.3.11", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", - "integrity": "sha1-hmd8l9FyCzY0MdBNDRUpO9OMFWU=", - "dev": true, - "requires": { - "arr-diff": "^2.0.0", - "array-unique": "^0.2.1", - "braces": "^1.8.2", - "expand-brackets": "^0.1.4", - "extglob": "^0.3.1", - "filename-regex": "^2.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.1", - "kind-of": "^3.0.2", - "normalize-path": "^2.0.1", - "object.omit": "^2.0.0", - "parse-glob": "^3.0.4", - "regex-cache": "^0.4.2" - } - }, - "minimatch": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz", - "integrity": "sha1-jQh8OcazjAAbl/ynzm0OHoCvusc=", - "dev": true, - "requires": { - "brace-expansion": "^1.0.0" - } - }, - "minimist": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "dev": true - }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "dev": true, - "requires": { - "minimist": "0.0.8" - }, - "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - } - } - }, - "multipipe": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz", - "integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=", - "dev": true, - "requires": { - "duplexer2": "0.0.2" - } - }, - "natives": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/natives/-/natives-1.1.0.tgz", - "integrity": "sha1-6f+EFBimsux6SV6TmYT3jxY+bjE=", - "dev": true - }, - "ncname": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/ncname/-/ncname-1.0.0.tgz", - "integrity": "sha1-W1etGLHKCShk72Kwse2BlPODtxw=", - "dev": true, - "requires": { - "xml-char-classes": "^1.0.0" - } - }, - "no-case": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", - "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", - "dev": true, - "requires": { - "lower-case": "^1.1.1" - } - }, - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - }, - "o-stream": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/o-stream/-/o-stream-0.1.12.tgz", - "integrity": "sha512-3w9nFmDLnbwuQzgxFKcjeUlBfeib+g1/67A5gGiTG1W1/oUNI2qrSiV5F5+2ZbH89ZbmpWuv4jveQO9AZ/1n7A==", - "dev": true - }, - "object-assign": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", - "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=", - "dev": true - }, - "object.defaults": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", - "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", - "dev": true, - "requires": { - "array-each": "^1.0.1", - "array-slice": "^1.0.0", - "for-own": "^1.0.0", - "isobject": "^3.0.0" - }, - "dependencies": { - "for-own": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", - "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", - "dev": true, - "requires": { - "for-in": "^1.0.1" - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "object.omit": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", - "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", - "dev": true, - "requires": { - "for-own": "^0.1.4", - "is-extendable": "^0.1.1" - } - }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", - "dev": true, - "requires": { - "isobject": "^3.0.1" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "once": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz", - "integrity": "sha1-suJhVXzkwxTsgwTz+oJmPkKXyiA=", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "orchestrator": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.8.tgz", - "integrity": "sha1-FOfp4nZPcxX7rBhOUGx6pt+UrX4=", - "dev": true, - "requires": { - "end-of-stream": "~0.1.5", - "sequencify": "~0.0.7", - "stream-consume": "~0.1.0" - } - }, - "ordered-read-streams": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz", - "integrity": "sha1-/VZamvjrRHO6abbtijQ1LLVS8SY=", - "dev": true - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, - "param-case": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", - "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", - "dev": true, - "requires": { - "no-case": "^2.2.0" - } - }, - "parse-filepath": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.1.tgz", - "integrity": "sha1-FZ1hVdQ5BNFsEO9piRHaHpGWm3M=", - "dev": true, - "requires": { - "is-absolute": "^0.2.3", - "map-cache": "^0.2.0", - "path-root": "^0.1.1" - } - }, - "parse-glob": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", - "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", - "dev": true, - "requires": { - "glob-base": "^0.3.0", - "is-dotfile": "^1.0.0", - "is-extglob": "^1.0.0", - "is-glob": "^2.0.0" - } - }, - "parse-passwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", - "dev": true - }, - "path-parse": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz", - "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", - "dev": true - }, - "path-root": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", - "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", - "dev": true, - "requires": { - "path-root-regex": "^0.1.0" - } - }, - "path-root-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", - "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", - "dev": true - }, - "preserve": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", - "integrity": "sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=", - "dev": true - }, - "pretty-hrtime": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", - "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", - "dev": true - }, - "process-nextick-args": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz", - "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=", - "dev": true - }, - "randomatic": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz", - "integrity": "sha512-D5JUjPyJbaJDkuAazpVnSfVkLlpeO3wDlPROTMLGKG1zMFNFRgrciKo1ltz/AzNTkqE0HzDx655QOL51N06how==", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dev": true, - "requires": { - "resolve": "^1.1.6" - } - }, - "regex-cache": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", - "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", - "dev": true, - "requires": { - "is-equal-shallow": "^0.1.3" - } - }, - "relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", - "dev": true - }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "repeat-element": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz", - "integrity": "sha1-7wiaF40Ug7quTZPrmLT55OEdmQo=", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true - }, - "replace-ext": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz", - "integrity": "sha1-KbvZIHinOfC8zitO5B6DeVNSKSQ=", - "dev": true - }, - "resolve": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.4.0.tgz", - "integrity": "sha512-aW7sVKPufyHqOmyyLzg/J+8606v5nevBgaliIlV7nUpVMsDnoBGV/cbSLNjZAg9q0Cfd/+easKVKQ8vOu8fn1Q==", - "dev": true, - "requires": { - "path-parse": "^1.0.5" - } - }, - "resolve-dir": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz", - "integrity": "sha1-shklmlYC+sXFxJatiUpujMQwJh4=", - "dev": true, - "requires": { - "expand-tilde": "^1.2.2", - "global-modules": "^0.2.3" - } - }, - "safe-buffer": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz", - "integrity": "sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==", - "dev": true - }, - "semver": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz", - "integrity": "sha1-MAvG4OhjdPe6YQaLWx7NV/xlMto=", - "dev": true - }, - "sequencify": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz", - "integrity": "sha1-kM/xnQLgcCf9dn9erT57ldHnOAw=", - "dev": true - }, - "sigmund": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", - "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", - "dev": true - }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "sparkles": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz", - "integrity": "sha1-Gsu/tZJDbRC76PeFt8xvgoFQEsM=", - "dev": true - }, - "stream-consume": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.0.tgz", - "integrity": "sha1-pB6tGm1ggc63n2WwYZAbbY89HQ8=", - "dev": true - }, - "string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", - "dev": true - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "strip-bom": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz", - "integrity": "sha1-hbiGLzhEtabV7IRnqTWYFzo295Q=", - "dev": true, - "requires": { - "first-chunk-stream": "^1.0.0", - "is-utf8": "^0.2.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - }, - "through2": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", - "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", - "dev": true, - "requires": { - "readable-stream": "^2.1.5", - "xtend": "~4.0.1" - }, - "dependencies": { - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "readable-stream": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.3.tgz", - "integrity": "sha512-m+qzzcn7KUxEmd1gMbchF+Y2eIUbieUaxkWtptyHywrX0rE8QEYqPC07Vuy4Wm32/xE16NcdBctb8S0Xe/5IeQ==", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~1.0.6", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.0.3", - "util-deprecate": "~1.0.1" - } - }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "dev": true, - "requires": { - "safe-buffer": "~5.1.0" - } - } - } - }, - "tildify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz", - "integrity": "sha1-3OwD9V3Km3qj5bBPIYF+tW5jWIo=", - "dev": true, - "requires": { - "os-homedir": "^1.0.0" - } - }, - "time-stamp": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", - "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", - "dev": true - }, - "tryit": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tryit/-/tryit-1.0.3.tgz", - "integrity": "sha1-OTvnMKlEb9Hq1tpZoBQwjzbCics=", - "dev": true - }, - "uglify-js": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.1.1.tgz", - "integrity": "sha512-f7DpmEgt/RYAKzQzcfahn3JYZHobDwTZCa8oixC7pweVGEIizTX2kTYdNWcdk00xsMJqUhI8RDAa9HXHXGhNxA==", - "dev": true, - "requires": { - "commander": "~2.11.0", - "source-map": "~0.5.1" - } - }, - "unc-path-regex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", - "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", - "dev": true - }, - "unique-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz", - "integrity": "sha1-1ZpKdUJ0R9mqbJHnAmP40mpLEEs=", - "dev": true - }, - "upper-case": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", - "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", - "dev": true - }, - "user-home": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", - "integrity": "sha1-K1viOjK2Onyd640PKNSFcko98ZA=", - "dev": true - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "v8flags": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz", - "integrity": "sha1-qrGh+jDUX4jdMhFIh1rALAtV5bQ=", - "dev": true, - "requires": { - "user-home": "^1.1.1" - } - }, - "vinyl": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz", - "integrity": "sha1-sEVbOPxeDPMNQyUTLkYZcMIJHN4=", - "dev": true, - "requires": { - "clone": "^1.0.0", - "clone-stats": "^0.0.1", - "replace-ext": "0.0.1" - } - }, - "vinyl-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/vinyl-buffer/-/vinyl-buffer-1.0.0.tgz", - "integrity": "sha1-ygZ+oIQx1QdyKx3lCD9gJhbrwjQ=", - "dev": true, - "requires": { - "bl": "^0.9.1", - "through2": "^0.6.1" - }, - "dependencies": { - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "through2": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", - "dev": true, - "requires": { - "readable-stream": ">=1.0.33-1 <1.1.0-0", - "xtend": ">=4.0.0 <4.1.0-0" - } - } - } - }, - "vinyl-fs": { - "version": "0.3.14", - "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz", - "integrity": "sha1-mmhRzhysHBzqX+hsCTHWIMLPqeY=", - "dev": true, - "requires": { - "defaults": "^1.0.0", - "glob-stream": "^3.1.5", - "glob-watcher": "^0.0.6", - "graceful-fs": "^3.0.0", - "mkdirp": "^0.5.0", - "strip-bom": "^1.0.0", - "through2": "^0.6.1", - "vinyl": "^0.4.0" - }, - "dependencies": { - "clone": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz", - "integrity": "sha1-xhJqkK1Pctv1rNskPMN3JP6T/B8=", - "dev": true - }, - "readable-stream": { - "version": "1.0.34", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", - "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", - "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "through2": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz", - "integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=", - "dev": true, - "requires": { - "readable-stream": ">=1.0.33-1 <1.1.0-0", - "xtend": ">=4.0.0 <4.1.0-0" - } - }, - "vinyl": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz", - "integrity": "sha1-LzVsh6VQolVGHza76ypbqL94SEc=", - "dev": true, - "requires": { - "clone": "^0.2.0", - "clone-stats": "^0.0.1" - } - } - } - }, - "vinyl-sourcemaps-apply": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/vinyl-sourcemaps-apply/-/vinyl-sourcemaps-apply-0.2.1.tgz", - "integrity": "sha1-q2VJ1h0XLCsbh75cUI0jnI74dwU=", - "dev": true, - "requires": { - "source-map": "^0.5.1" - } - }, - "which": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz", - "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "xml-char-classes": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/xml-char-classes/-/xml-char-classes-1.0.0.tgz", - "integrity": "sha1-ZGV4SKIP/F31g6Qq2KJ3tFErvE0=", - "dev": true - }, - "xtend": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", - "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", - "dev": true - } - } + "name": "share-freedom", + "version": "2.1.3", + "lockfileVersion": 1 } diff --git a/package.json b/package.json index 140933a..b5023ff 100644 --- a/package.json +++ b/package.json @@ -1,30 +1,23 @@ { - "name": "Share-freedom", - "version": "2.1.2", - "description": "share the current tab on the fediverse", - "main": "gulpfile.js", - "dependencies": {}, - "devDependencies": { - "gulp": "^3.9.1", - "gulp-clean-css": "^3.8.0", - "gulp-concat": "^2.6.1", - "gulp-html-replace": "^1.6.2", - "gulp-htmlmin": "^3.0.0", - "gulp-rename": "^1.2.2", - "gulp-uglify-es": "^0.1.3" - }, + "name": "share-freedom", + "version": "2.1.3", + "description": "Share the current tab on the fediverse", + "main": "index.js", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1", - "build": "gulp" + "test": "echo \"Error: no test specified\" && exit 1" }, "repository": { "type": "git", - "url": "git+https://gitlab.com/mickie1/share-freedom-addon.git" + "url": "git+https://gitlab.com/mickie1/share-freedom-extension.git" }, + "keywords": [ + "share", + "fediverse" + ], "author": "Mickie", "license": "GPL-3.0", "bugs": { - "url": "https://gitlab.com/mickie1/share-freedom-addon/issues" + "url": "https://gitlab.com/mickie1/share-freedom-extension/issues" }, - "homepage": "https://addons.mozilla.org/en-US/firefox/addon/share-freedom/" + "homepage": "https://gitlab.com/mickie1/share-freedom-extension#readme" } From 986cffd8d19a975a65c45f4b67e3f8db26645c6e Mon Sep 17 00:00:00 2001 From: mickie Date: Thu, 7 Jan 2021 21:48:30 -0600 Subject: [PATCH 2/6] Add LICENSE and README files --- .gitignore | 3 +- LICENSE | 674 +++++++++++++++++++++++++++++++++++ README.md | 12 + img/badge-amo.png | Bin 0 -> 2827 bytes img/{icon64.png => logo.png} | Bin 5 files changed, 688 insertions(+), 1 deletion(-) create mode 100644 LICENSE create mode 100644 README.md create mode 100644 img/badge-amo.png rename img/{icon64.png => logo.png} (100%) diff --git a/.gitignore b/.gitignore index 5b96c41..bc6daae 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ web-ext-artifacts web-ext-artifacts.* -src.* \ No newline at end of file +src.* +*.org \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..9cecc1d --- /dev/null +++ b/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. 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 +them 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 prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. 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. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey 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; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If 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 convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU 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 that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + 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. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +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. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + 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 +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + {one line to give the program's name and a brief idea of what it does.} + Copyright (C) {year} {name of author} + + 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 3 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, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + {project} Copyright (C) {year} {fullname} + This program 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, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU 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. But first, please read +. diff --git a/README.md b/README.md new file mode 100644 index 0000000..98fa338 --- /dev/null +++ b/README.md @@ -0,0 +1,12 @@ + +# Table of Contents + +1. [Share Freedom - browser extension](#orgf828cd1) + +![img](/img/logo.png) + + + + +# Share Freedom - browser extension + diff --git a/img/badge-amo.png b/img/badge-amo.png new file mode 100644 index 0000000000000000000000000000000000000000..9cb49bba95ca8485ff82b38f2dc9ae35ec153c80 GIT binary patch literal 2827 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 literal 0 HcmV?d00001 diff --git a/img/icon64.png b/img/logo.png similarity index 100% rename from img/icon64.png rename to img/logo.png From f54a14c8e3d575f7ed8548d165c4d067ec3cc9e3 Mon Sep 17 00:00:00 2001 From: mickie Date: Fri, 8 Jan 2021 02:01:57 -0600 Subject: [PATCH 3/6] Update README file --- README.md | 86 ++++++++++++++++++++++++++++++++++++++++--- img/screenshot_1.png | Bin 0 -> 64176 bytes img/screenshot_2.png | Bin 0 -> 84014 bytes 3 files changed, 81 insertions(+), 5 deletions(-) create mode 100644 img/screenshot_1.png create mode 100644 img/screenshot_2.png diff --git a/README.md b/README.md index 98fa338..fd37544 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,88 @@ # Table of Contents -1. [Share Freedom - browser extension](#orgf828cd1) - -![img](/img/logo.png) +1. [/img/logo.png Share Freedom - browser extension](#org9836160) + 1. [Features](#org5374026) + 2. [Screenshots](#orgd90208f) + 3. [Build](#org005bc4f) + 4. [Contributing](#org3c92334) + 1. [Bug reports](#org73187d2) + 2. [Pull request](#orgcc46432) + 5. [Invite an ice cream](#orga3b440b) + 6. [License](#orgdc5ec85) - + -# Share Freedom - browser extension +# ![img](/img/logo.png) Share Freedom - browser extension + +Share the current tab on the [fediverse](https://fediverse.party/). + +[\![Firefox Add-on](*img/badge-amo.png)](*) + + + + +## Features + + + + +## Screenshots + + + + + + + +## Build + +You need Node.js/npm to use the command line tool web-ext +`npm install --global web-ext` +then, use the next command to generate the package (.zip file) +`web-ext build` +See [web-ext page](https://extensionworkshop.com/documentation/develop/getting-started-with-web-ext/). + +**Optional:** Add-ons Linter by Mozilla +`npm install -g addons-linter` +See [repo](https://github.com/mozilla/addons-linter). + + + + +## Contributing + +You can contribute in the following ways: + +- Finding and reporting bugs +- Contributing code to the project by fixing bugs or implementing features + + + + +### Bug reports + +Bug reports and feature suggestions can be submitted to [Gitlab Issues](https://gitlab.com/mickie1/share-freedom-extension/issues). Please make sure that you are not submitting duplicates, and that a similar report or request has not already been resolved or rejected in the past using the search function. Please also use descriptive, concise titles. + + + + +### Pull request + +Please use clean, concise titles for your pull requests. + + + + +## Invite an ice cream + + + + +## License + +This program is licensed under GPL v3 +Copyleft (ɔ) 2021 - Miguel (mickie) +See LICENSE file for more information. diff --git a/img/screenshot_1.png b/img/screenshot_1.png new file mode 100644 index 0000000000000000000000000000000000000000..6a59a89d06f919b6e477433c51ce2683c442ef91 GIT binary patch literal 64176 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 SD6JU;{N$yTr79$i1OE@KYi*eT literal 0 HcmV?d00001 diff --git a/img/screenshot_2.png b/img/screenshot_2.png new file mode 100644 index 0000000000000000000000000000000000000000..4f19a529ce8f767b0fc83415948ff9ae5af3a129 GIT binary patch literal 84014 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%0ADXS+MzHusAJ& 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 Uc%_ea1pyyr1r1oS95Uel08pY)jQ{`u literal 0 HcmV?d00001 From 8685a80162582a470f6993590de42cf571aabf7c Mon Sep 17 00:00:00 2001 From: mickie Date: Fri, 8 Jan 2021 02:50:15 -0600 Subject: [PATCH 4/6] Fix format in README file --- README.md | 58 +++++++++++++++++++++++++++++-------------------------- 1 file changed, 31 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index fd37544..5d4e9e5 100644 --- a/README.md +++ b/README.md @@ -1,55 +1,57 @@ - -# Table of Contents - -1. [/img/logo.png Share Freedom - browser extension](#org9836160) - 1. [Features](#org5374026) - 2. [Screenshots](#orgd90208f) - 3. [Build](#org005bc4f) - 4. [Contributing](#org3c92334) - 1. [Bug reports](#org73187d2) - 2. [Pull request](#orgcc46432) - 5. [Invite an ice cream](#orga3b440b) - 6. [License](#orgdc5ec85) - - - - # ![img](/img/logo.png) Share Freedom - browser extension Share the current tab on the [fediverse](https://fediverse.party/). -[\![Firefox Add-on](*img/badge-amo.png)](*) +[![Firefox Add-on](images/badge-amo.png)](https://addons.mozilla.org/en-US/firefox/addon/share-freedom/) - +# Table of Contents + + 1. [Features](#features) + 2. [Screenshots](#screenshots) + 3. [Build](#build) + 4. [Contributing](#contrib) + 1. [Bug reports](#bug) + 2. [Pull request](#pull) + 5. [Invite an ice cream](#donate) + 6. [License](#license) + + + ## Features - + ## Screenshots - - +![img](/img/screenshot_1.png) +![img](/img/screenshot_2.png) - + ## Build You need Node.js/npm to use the command line tool web-ext + `npm install --global web-ext` + then, use the next command to generate the package (.zip file) + `web-ext build` + See [web-ext page](https://extensionworkshop.com/documentation/develop/getting-started-with-web-ext/). **Optional:** Add-ons Linter by Mozilla + `npm install -g addons-linter` + See [repo](https://github.com/mozilla/addons-linter). - + ## Contributing @@ -59,30 +61,32 @@ You can contribute in the following ways: - Contributing code to the project by fixing bugs or implementing features - + ### Bug reports Bug reports and feature suggestions can be submitted to [Gitlab Issues](https://gitlab.com/mickie1/share-freedom-extension/issues). Please make sure that you are not submitting duplicates, and that a similar report or request has not already been resolved or rejected in the past using the search function. Please also use descriptive, concise titles. - + ### Pull request Please use clean, concise titles for your pull requests. - + ## Invite an ice cream - + ## License This program is licensed under GPL v3 + Copyleft (ɔ) 2021 - Miguel (mickie) + See LICENSE file for more information. From 70fd868167b750a977dc3f8b9266fa17a7afedfc Mon Sep 17 00:00:00 2001 From: mickie Date: Fri, 8 Jan 2021 09:41:56 -0600 Subject: [PATCH 5/6] Add donations --- README.md | 51 ++++++++++++++++++++++++--------------------------- 1 file changed, 24 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index 5d4e9e5..9a54cc1 100644 --- a/README.md +++ b/README.md @@ -2,27 +2,25 @@ Share the current tab on the [fediverse](https://fediverse.party/). -[![Firefox Add-on](images/badge-amo.png)](https://addons.mozilla.org/en-US/firefox/addon/share-freedom/) +[![Firefox Add-on](/img/badge-amo.png)](https://addons.mozilla.org/en-US/firefox/addon/share-freedom/) -# Table of Contents - - 1. [Features](#features) - 2. [Screenshots](#screenshots) - 3. [Build](#build) - 4. [Contributing](#contrib) - 1. [Bug reports](#bug) - 2. [Pull request](#pull) - 5. [Invite an ice cream](#donate) - 6. [License](#license) - - - - ## Features +Simplest add-on for the fediverse. Share web pages right from the toolbar button. + +Supported services/protocols: +- Gnusocial +- Mastodon / Misskey +- Hubzilla +- Diaspora +- Friendica +- Socialhome +- Lemmy +- Pleroma +- Osada / Zap / Zot6 +- XMPP - ## Screenshots @@ -30,8 +28,6 @@ Share the current tab on the [fediverse](https://fediverse.party/). ![img](/img/screenshot_2.png) - - ## Build You need Node.js/npm to use the command line tool web-ext @@ -51,8 +47,6 @@ See [web-ext page](https://extensionworkshop.com/documentation/develop/getting-s See [repo](https://github.com/mozilla/addons-linter). - - ## Contributing You can contribute in the following ways: @@ -61,26 +55,29 @@ You can contribute in the following ways: - Contributing code to the project by fixing bugs or implementing features - - ### Bug reports Bug reports and feature suggestions can be submitted to [Gitlab Issues](https://gitlab.com/mickie1/share-freedom-extension/issues). Please make sure that you are not submitting duplicates, and that a similar report or request has not already been resolved or rejected in the past using the search function. Please also use descriptive, concise titles. - - ### Pull request Please use clean, concise titles for your pull requests. - - ## Invite an ice cream +You can collaborate with __donations__ for the project :) + +__faircoins:__ fVXruVLErxawnKAchcfbMQXya8YYYPvaZN + +__Bitcoins:__ 15Y9cBeGhGmVGZxFQvQCsQhcCvxgzvKmcR + +__Liberapay__ https://liberapay.com/mickie/ + +![](/img/helado.png) +[CC-BY 4.0 by Vincent Le Moign](https://commons.wikimedia.org/wiki/File:552-soft-ice-cream-2.svg) - ## License From 6fb57fcd8652504eae96388f2b7c49e01c1628f7 Mon Sep 17 00:00:00 2001 From: mickie Date: Fri, 8 Jan 2021 09:49:48 -0600 Subject: [PATCH 6/6] add image --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9a54cc1..45ae03c 100644 --- a/README.md +++ b/README.md @@ -75,7 +75,7 @@ __Bitcoins:__ 15Y9cBeGhGmVGZxFQvQCsQhcCvxgzvKmcR __Liberapay__ https://liberapay.com/mickie/ -![](/img/helado.png) +![](/img/ice-cream.png) [CC-BY 4.0 by Vincent Le Moign](https://commons.wikimedia.org/wiki/File:552-soft-ice-cream-2.svg)