From 70de1831ff5d08b7e72adfcc6f052e61348dfcd1 Mon Sep 17 00:00:00 2001 From: sunface Date: Wed, 27 Jan 2021 13:20:18 +0800 Subject: [PATCH] first commit --- .gitignore | 1 + LICENSE | 661 ++++++++++++++++++++++++++++++++++++++ README.md | 69 ++++ docs/assets/happy-dev.jpg | Bin 0 -> 116752 bytes docs/assets/logo.png | Bin 0 -> 15910 bytes docs/contributing.md | 89 +++++ 6 files changed, 820 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 docs/assets/happy-dev.jpg create mode 100644 docs/assets/logo.png create mode 100644 docs/contributing.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..e43b0f98 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.DS_Store diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..0ad25db4 --- /dev/null +++ b/LICENSE @@ -0,0 +1,661 @@ + GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 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 Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are 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. + + 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. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + 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 Affero 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. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + 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 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 work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero 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 Affero 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 Affero 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 Affero 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. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero 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 Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +specific requirements. + + 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 AGPL, see +. diff --git a/README.md b/README.md new file mode 100644 index 00000000..fa018acc --- /dev/null +++ b/README.md @@ -0,0 +1,69 @@ +
+ im.dev Logo +

欢迎使用im.dev

+ 这里有最新的技术资讯、最好的开发教程,我们的目标是打造最优秀的开发者社区👩🏽‍💻 +
Made with ❤️ by developers for developers
+
+
+ + +## 🗞 im.dev + +> im.dev是一个开源社区,为开发者提供最新、最好的技术资讯和文章,同时我们支持通过chrome浏览器插件的方式来使用,只要打开新的标签页,就能看到最新的技术资讯👩‍💻 + +im.dev会从世界各大技术网站上收集优秀的文章,进行集中呈现,因此im.dev不是一个传统的博客平台,更类似一个技术分享社区,例如:只要你的网站积分达到了要求,就可以成为im.dev的编辑,将你喜欢的文章推荐分享给更多的用户。 + +作为一个用户,你可以阅读、收藏、自定义喜好、评论和点赞等。作为一个编辑,你可以录入外部的文章链接,这篇文章将得到用户的评判,好的评判可以帮你获取积分和奖励,差的评判会影响你的积分,甚至编辑身份。 + +在im.dev,我们最关心的: +* 🌟 **跨平台**: 支持多个平台上使用,网页、谷歌浏览器插件、手机app +* ♾ **质量**: 现在滥竽充数的技术文章太多了,有些是过时信息,有些是毫无营养的垃圾,有些甚至包含了技术上的谬误,因此内容质量是最重要的,这也是我们为啥采用分享和推荐的方式,只有优秀的精品才能在im.dev被分享,被推荐 +* 🧵 **开源**: im.dev是完全开源的,我们相信最好的开发者社区永远是广大开发者一起参与打造的,你的地盘,你说了算,因此欢迎大家参与到im.dev中来,亲自打造你想要的开发者社区! + + +## 📯 设计理念 +我们作为开发者,会花费大量时间寻找有价值的文章和博客,这些时间往往都被浪费了,本来时间就有限再加上时间的浪费,导致大多数人很难跟得上开发技术日新月异的发展速度。 + +因此im.dev想到了一个办法:那就是让一部分人分享他们看过的优秀内容,同时引入一套评价机制,确保分享出来的都是真正的精品。最终,分享者收获荣誉和奖励,普通用户节约了时间、收获了内容。 + +* 👨‍💻 推送最新的技术内容 +* ⏳ 帮用户节省时间 +* 📰 通过评价机制留下精品内容 + + +## 🗂 技术剖析 + +下面是我们在im.dev中用到的技术栈 +* 🎨 **Web端** React + next.js +* 🌳 **服务器端** Golang +* 🔍 **站内搜索** 标签、Algolia +* 🚨 **移动APP** Flutter + +为了方便扩展和社区贡献,在im.dev中大量使用了插件的形式,例如用户可以打造自己的个性化主页,编辑可以设置个性化的文章展示等。 + +## 🙌 想要参与到im.dev中来吗? + +我们欢迎所有类型的贡献,例如: +* 🤔 功能建议和反馈 +* 🐛 申请成为编辑 +* 📖 文档改进 +* 👨‍💻 代码贡献 + +在参与贡献之前,请花些时间阅读我们的[贡献者指南](docs/contributing.md)。 + + +## 🎩 核心开发者 + +来看看我们的核心开发者,喜欢的话可以给他们个follow👋: +* [@sunface](https://github.com/sunface) + + +## 📑 License +Licensed基于[AGPL-3.0](LICENSE). + + +

+ Sloan, the sloth mascot +
+ Be A Happy Dev ❤️ +

\ No newline at end of file diff --git a/docs/assets/happy-dev.jpg b/docs/assets/happy-dev.jpg new file mode 100644 index 0000000000000000000000000000000000000000..08f070450e5fe3063abafad4d9db424892b7fceb GIT binary patch literal 116752 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 }ZBn7WWH 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

o~SV0vjcsE{CFcE&)qD%Z7w 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℘LE;GNP@-bSX5)tvrF{R0JG<`xe{r0F*+^ZG>2 zw^hf`*8l_lD*PrI+OQZ-Pa`3+PA}|KOPxK##zWX-cepiVR|I_!@*)| z6U8K|L+aV?%uQhiJ=?h&YQqK8)?Tv`01HJWwy%lgFr|ZKlMv@=qRiBl--c{a?Q8x>Lf$yUsr(|_Hn%||?AG_B5eljMD3T{pjAjmlB6}AN zomug+M*(fuhB}Da6TU zZGA%Y&nn4P5hv-{V7~PsDd@18YmFnG6o@$5{5y{RQ2XoaxNJw18Bffm0Bv4yIdvfz z)}ennb<1R?CPiz(o2l##cv&+_1-Z=NVrv7?sVU!-5lVv~6~Xl^w1QLO6@FJt9;}5@ zV+x$~v4tfIPit#mnc4MsN3ENUQ+@KROi>VF;bI3+d0*92&x3K|eBkwNi5+-sTrI0i zv)`zo@Gu#e=&J{$!6mc<>0#$|oXGIV5az1dU-q4he6|hZpWPLoTA?zH8PtHJCMqiq z?T4cjO}g^6j<0vlbBE&5g{k}Cg1_6*e~J=Vf{*Z!xZVHIP!)`JCy);Sa?PLc0z9i~%+Hv#?##puhEvpR zDuk0|0gZ43Z}JB>osccxo-g#hw@PjZ`E`qixG{8*#yMKZHQ%ah56UAT;u_!GagDKC z86?_hxD2|(;Vp$+;y?S&T)zo|+2F$umAedN8R~&n1Jn{otd}XsL z2KVD}qw|(^&Y+tO5Vp2Led-^c?qB#vZ(HYNjH8=%Fe=2{vAU%5&{1pe4oP^!sEal8 z;xPKkJoxVzQ|G9n${_4ig2L@x-S8p919$p|upgX)CY&=eso2q9uPjsOl_q-2&`JbT zcZRIe6lzH39|1&KDyn-qz0@^aq~!K2qh7>g^lN=`<{F3_A*~f&e)|zFT^@LD*btW| zvBKZ$$nwGUKK@7uM0;ZJHY4zIABN;Ly`478Z86$;0P=uFx4-4~vwdFiLoi{V zUAY8WTID*aL5ZHO^#paQeE_4#Ze}}%=(+$kcyzPGMQZ;%$CJ!Ss79yI>-_-$f75Ht z%zrgBs$YDSe!FZAi`_iEqC{qiWNm@em>E?UA- z42yplW-kOACHvxFqB2(8nx)=UcqX2OM6>u%F=u{trmg$Hro6AQ=}cly+{0d4wDJ7- z4xD~Bt1t*Uvl8YP&Db|)N?12){8)r~4OZT>`V7UmhjWDDEwn(h8?n$DBb&34&PSSe zed!zuiv51M+L7;ZjPuCw=|pc#f!yB;nhrgTBz_8Mq7q{R3HFF(_FT~% zx_wHZt@RPbMfmoYD>qiIN39ZIbg^|>?LaEGG_gWqEvet#nl+y|L(@{(-L#V5zocoB zrbxO=mnmBzHLyV3u3+{I|Gmx7qdD^2KnY2~ek+#Vu?q^<@sS2;K1Xz0xC=(C?3Y*b zr0J)rcKIq;-sp8m1dOR5zgxCe*b0w=XlkPoy4f|Ic45FGEp4Y)vI_irwyo&B7t?M)pfEn^YYD$L5~5Eza698 zafPLo`+)6~(&hu^gTrCCoEKhL&9o3Q|ErjXi*1a>7@u9g;0IqY`uV+XR7CgReDcSU z+VZiYDnv}l#7JtxB(5e!G;wDXxXOnA{e502^zC&yTPi+**=0&60wZ?G zF%)6nkRAY`>je9B&2lD8uEIyAbnGnF{Y91CcJU4K3*n2ZupSaOl z=hC-*Oyi29);hVrbkm(ok*86vz(T2REmVH3f~pl%3LbPY)(6o*M$$B81*whaC`%2( zuP=I=VP=U9d?ZioxcU3MVseS-( zed)%LVbic;LP{$4!X{;}BfcxBcux)U9v`$19MH z5JE)1wnqD~h>0bCD5qZI=EDl}9ETn&we%Siq4&&c#rN~;C9~g{<1cRRg<25=)_M1O z%hfF=^On-H7*fEFY14@#6sEmWg1C%<(VWz#=EoB*jqffNqNjCOkd9Mq%+P7_xH9E7 z5EixPb{;p(j*lxN_V_8+upq1OmuvTb$Cak<&k#}Fk^)~%lLRyO#lvi!sWJm(XX;!k8VU}mK&D7lA@q9qbQylK&wCc z#NQT>K93*!{ifA&@5NiNW|_0d!Wd-PTBGlqgw%(9W7fWasgwvG;>PAn!1|3X_Uefq zCg$`^Q5u-JC@@egv}(V-&O(*qnM_X9u!60K3rHrAL27Zu+HGT&>{fMxsMPE{Leuu1 zx%bsY{%*FAdSdEt=0)56-jEh{fHR(n<(c^*{Pbgj4jR}g93WVEf;wa7Xzpk63itWbNx62@cZ+ayW%?uBLEY6;aExDu>gj zvOL@%5)z|n`lwo^I0<0`J~V6m4;y>4Z(g%b%NfjKw#sHi?`9}aAmXn$1X%9Ss*9_S zA{#KN{YMQUQ@z6dTn&kMTY5{XpsVG!KmRub)tnUC^QFc3rgb#n7-h37JfCd>IkiPn zLXKq0Bf8_1Pu4e#BZcz*lJh~e2U1qpng3pyno+98C4mW>SJnZifV1HYCzmGMdn_%G zZCUNMww}<6ZF8{lm8E%Ldy3fiWFj;8*b|nI_ZuRkB_({FfkbelppeOm&eLeCz9wMP zwyBTt+n|OexNezLl#%e;b}?4=jDYyUOIGF#%LA~_jz*`8Z>SS@5WqcWm67GFemU&N z0d*|_z-yXyf0a}2J$1uca5GPr6{?w4{-GrktunpDPL%$rSo-qx=V3-i5sqliEZOMI z;n@;6i!aE0e}mDtVBvY5;jGKXCSwT7nhCpaLeZ`-Ypu^J*FmJFRwx!YseCx7hRieW zJ*Kyg6oMKNzq*IifmoP1n`<kL=0+7_Qranu~AHeP=%)|ZQC>2eD4Ebow zZH>hi4JE(X%=D)E_f@+vNMR&3D<)nTsr&Hwv8CR%h|SrhooUCK< ziEU?7PNC5ihNIZEh37cJ1Z7pYMfl{qjAJh}&7-3>)22caDD@snaF-wLCY|uE8M7AyoDO{3nwF)~yB6cv zm2AHETSi$*SEI>zb3`qEg5Joe_}dWW8rg2%^dL5flU-zU*i+2NUYg&h?_af#a4EYY z3w;l*kpcUPIVb!BqYPO<<>HWWI~H#ag3;y|mI&((*ACZL(hwI`OK};v$$3-qo!k7` zI!-mW_t;0KJrmE1zwWZBu|@XkVJ@g}HI<1^8ZmN5GsH&ay#2zd2VunarAMdB^v(B3 zM$m`=ya#3I=%&rlA3Gpad}i(Xs2&^u%-NEBhWe_h+f_dGYTe$JBiP0(KxPhQAdJ(r zs!x3G8or<@JoST!j&r`@fDD!UJB^a~*jLS!rsyaE2`h`8vUR$sJjQFZnPRE`J*}5r znlFY738feL7$ z@?=$BF}B#2S@2tA(cslKb^SexMOQpgs@Ed=uEe;_oiHlGM;Vb5n(N^!ozeXy;xml= zs+59K^N)N&lV>tRO!|C7FW=5C5Rw;?K2OCcj8t|0>B*jpb zn*w6+&6wsU`hF$KISl)x36f*YaloBm@20h6Mx{xG#m3ED44X=!WHly-7(JMOUKPW{ zYM@-2i1eQop9gjqF4*AFPy-D*)A0&=nw5S@TNO^Od^hBfqgO4Jx0IzR7GoFsR1bridh&@`@sPDO4?i+?`J4x`7{- zx^XW|;C)wHey`vRZpG(X728vFy5{jF_K3Wt>2fdK{tdT465=Y%UqX?tl~csuEj$xW zpSzu&gkm#J055sSNpOCaRpGTfb>S^n<6ka_?!8V)L3oOlqQbWIJHSrpFFosuxA=3Z zum4N@yX-8IQj6zM3%#tTe&09xs9y<264D5p@E&?xa) zS1d8Inut4oTrkg?K72Y$^E9VQ#_07^%&%@66Dk4C+ZQ4IL9J>It^)jiA6FyCgDWu+f2mTsd@Vp7bc~A^8kcnW);c}D9=i*@% z+!eUXj5D!w(Q5n_eF`eGkg1jnv&vGJrem#PaaXGa)AuxY^uOIW?m_8=vQxzH$}|g-Kuh0!@e(KgjP4)sb7Z{IJ5 z*%UKBQ|^lw+wJWC5?G_Quw=*+3-&-k9ftsP~`fiTk`+7EZQ z6_*9ViFVZwLrx6f2^)1iS+6l=5{!h_j4z`H7$#~?ikgA4a*EKVcb<|x-8FJ)eE=Df z61tsDQYFHyMUWCLQ&}|z4usv2j@p{%QYHV1uv}~Yuh^lbbUAtNRT)Wno0p`}&2V73 zdrKonRL@W0z^E*vKECw{13r6$zvxnudcmXKH(0;0qR8DTY2U;hnFponFVg(-vQ!=n zoPLrsbRodGu+{ygf&AH&`3J1w2EEw*wKpp3$)7ufO%>j0J3p-XN?o2UKSK6g`Th>Z z5$}-T=!e7dIBdO;EDbaNjV{xk&Wh@}B_}*zq3+JUbE~rZHam?5_1#tg$@3m^c|ey* zUkPe5D9EO&6abMX(AME{PTcx&lkAyyDgxQJfF}I2(qdsOo1856@oFrap+A5)d+I59 zn5*rBC{&m5SQZ8#_)GHJn_x+UEM%U{fl>H|3OzQC42Yv~N#^&De@6RULHx;-&qI&W%@`J{BL`fA* zwIb%q^x>)tnpe#P#4|=ap{s``b8_qOnz${e8mm{|VxL1LcfW+|zWrJgXOM0grazqb z$U`;Ht*G9!I@VfwvmYr1}lj~N}Zc1T7FNSPH==OblU{4KTOHY#Qk z9*pPn0y(cvB^!bZfKNviu$8=GQ{T!I8EIB1~Ub6cqJ0^;;#)1c#RCcid-z^YUqbo`KxZyda>Z34y!Flok#-z%Z*^MY| zlMD0|K2)ZC;Y6+(;)UHHg}kZYGW)Ak*}OakaI4q_{cOsXJ?7kh#UuU_OV?q^@8;kq zQ6(O3|5LVuO)?f=XJF*jTK|?%pD|tkk3sxAJQwU`+WZC4?GS-@7|Y99dHBnDf~h=& z=j6=yXXKCNzB`6mU(TcTY(}hfcUx|o{7^T(%OHU*#T@!#vzebnhEAjiggD-XBN&;! zJzFyM6Xd44`3T0^#h4z-rco zdm-~Ves4}5*Xc(nnCGa2oTR=+ukRl7+sDh8$M>pGmqPAE`}5VV+4wzj<_9o821kM0 zN7{2tw+1|9=W4!hZf^YZoA@Mi2>GGKD)}$wRBClvILz6beq5vcs)>^Hf7-k6cQ)U* z58yXJY_UqM7^U`JHDgnIYwc0B*9WzQ*n5_mvDK!E*4|2oma0{I78QHzH_yNE9LX>F z{dHW&abM#+&-ZOlox^5I3GR}hAbkS8;fS>1Tjx+t5NNo`uGX=s%O7icjouMam^)M>g6FU`vH82b--GJbcD5bLc?t4XMm0=z}?O~THMq;KX z$;Y$@CY?{G(}@LSa4V_;R+Ev=9R~2#Y3xe^;qf6DvhEiX>sB8}W`9p!n&5(k?c9-~R z;{9D;#io$(^p7n?*k!;=62fQZrJx}$X1@LYcDvt={%|0z#Mj~l0>Q!nus23ZqkwlRz-O_ zwn$N1L-NUaMqRQ1yQEp;64MVW=%Lg{-OoDQCc4RZ9h)n&BYP(EmA5=i_oy_C!#?7+ zDJXkM8?De-0(}pr))UiSaUarq7v5b^PX5r2#hQt7wNd%~dRDr7Wt++A9Jf|6n{8;M zLN21H>0^jvLUfcUzE10iG-WU;jvYOC+C@t0Q600ku6*VJ{-U=H$3_MX;3fOwWyRx$ zCEmraI&oex+jkFH(h43@m6-5UMm0D?tMEt!__KV;3iRlJjO2(gr7x!gOH?nfr{_)V za+l0`bzy%XGVl0#;_F+pS_J$~I3BxG8c^0GK^~0R8d4ijjyuU|p0rLk`AQ1dD-RHg z7`*dsT;HElt2%DhsVQj8)P(+utS+?Ga2@cIR+KC8kQ)=S-yJ7r@ys52E-^ zJcz7`;&aO= zf-|HbnvMmBwdHF_M^yAaUtzh}m(&T-`0ywc&#{kR71ccP?X* z+=h_?y|zv*!XiBz*6?3pEL`hejddP0ajB-r+YMRaWcbF8&a|%R4oxtl6X2y}i(0g( zZA$p89ka9A9LikIj66^wYVj-C;@^TqbBJ~ytm;Ne#6uNuly{o_mp%pSEKfu;Q~Tlx zo%LY{xyvQo+Fet+U+EM(g}lU`#X6-M`J#D}G`SIwP>frgGs7k%tEy0-DjICUF<x!I;Y^`ZeAoU)$ZrQIamrE8V zv@>0AH>YT~z2XIxg`je#jVf0o#nu12EguYT{cAhR)8}=A^^@4>V^Y+xQ+C68TBUb( z1_hNKG`V|Cy7|$DdwSO9>ksBVwpPe>tE?*UL-pV?rGDNZX_WzI8nVIg~4qs9fXEVd)y^#WlkKwE+*Odc|qN1>tO=@ zbMkhrTj400;^ADxk1Jz5YCdRQGbD70n0aOlq(_UqG_@fD;%r6I{cQV)g--UKi~fbf zURi5Bcmoh=@i=}rh73I^R}R8SLvk`Y3^+$);&BP=6fCb-S8@;#vKk;9YZylU53o5Y5>jM?*(9XN zaaCWw!<(?EKte*8TaR@mb$f~gvS&hu4R#YD(o^POXtZtQ#B6GY(MY)@19t(*_f)&D z6H|PWkp!pezcsdb6f>5nu8(_Ub2-l)X}&)JsuUP2kO4O%!k=fcY7O3Re-cbPQq4Th zxzEMXeFsNGJsMo~4->>?V6M4Uxvf2l6pb_VqOwXOkm#DTeW>WAf;fs|G%H!#DXGsX z?9hulKsQ(daap?a?rIS;sZkdQA2Da~NGd6Z-)banrfg+&h^l~50o*?R(z!!(|Ef()e(TyUFY=3VJX)8TlQ5#%R=8l z=q;MGm!ziV?dyyix+ZJMMGoCED=nb}vcGyiH5Qj zyem@A9^BzwnGQ^|OxODZ)$eMEj=gTa%2m&}elf(TP@ob$q^HIXH zG$Z}^Fq`O^Y4diO&f8SE$9t!n#AxNiI97aZ+?i_vohJjuv$>j9C7& z0`gTi{u$GJ&Zj5u`i`LK37ehe)~^k!FBzJZgwn(@&Nh66-@5PjE75UvcJ$&s*{6OQDL#~fgTl;wGKThkBR^k&Bo^jh!Z{ys=#WuzqhtEs4-FsyJ)ltYw2 zNRm<$&E zLOd}-1ZuO1Gsd!GwG{xwS8Jf!jRiTelS zKVZqOn;TS?n*AW~n%LObWt}bNZm$p7(TxPp=aFtj#{2lo1)+0^0xtn(1~Ty8V5%v4 z^)Gq<11`atF54 zbd>I%m>V{|0XLtxTlqVD?uJh!uS^tf4k?8GN?)Zb@2p|H5~;*S?jHq7n$XdWF>*%x zyRX)nmjk6@_;rbgJA=pmwGVE3OVwSe5dB(pMgqI6C|fKiBVCR z4=+B=FZiV(NbyZ3!H-n8AX*9~eV%y6^pCjDyx1NMwLdpUhzqYd^CeSjSI?+&aPmI0V!eAg>?{_KFH5?7^{E0*^}l z{Lc91th}GdN8Asb+AIIIjsEM@@4**WfpX?Y$>{0qo4u3nMl4XJ%Hy*?wsk6+Y-3mF ztyh8C@Su~2}dL<9iC_Pq{qi?; zR-~XoQLaxtzZa^e!gjX=zmu2*kxwfA%1c6NbAY9(@}sS)K8jc6`y}A_*5!AU#_LxI z3+DYOxAPR%?nps6-mu@4j;*d0Vd+nm7i}}A|G_SJb|fxohfm&wQ~d~OIpaF0I{F8+ zQ-YR;ua!~-yRxJ`>M$!5t**`( zpLrKT@pQ?k{@XQ~bwgZ0pFr98E%iXT%Rhk6yn8U#wPyNTR^!T1oQ>|ZgvLBBsz_}k zK30_Djnb-(Rc`32#^>2a-FK_6*8BRak+9kt6jdY%BQ-w=e|dHDUyu^ z)0!FUz<)&NWO`tI^gE9~xUur$7j5k`%VfFaxK3f6IOe2a+;hotJo;YQI=jW4%)~~J z?2gqUu@UX_SCWUmYxZai0ET)l_By^6#T9B1Slk(*uT8rL(0TFJfE<2EcqEA@K-lr6 zu_U^8wFe#``Snx!!l&DnM9yFn@I>mk*Y_;7S65614Y2FF=5Aa{Yq1y4uE}3=4x*&) z`GwvV$~*amj(8EnZ*|pX?i#pjYC6&h8yex(lUu)WEva^|ps6UqA4HWtmj5w@>@@F=l%B;Ia!G5UT>U@g%swI&y)48{~Dc&R}Ob38DEU&TW}v z^tMwS43ikVTRgBfe#@rQuhSK%`%hhV?Kr)5>0`nj1wF9iB=@H(12EHfo4L(2e992Y^V?EPA|#%gw%kHXBB zGDVNxrIl)|-F8vhw5F!^z3G`E>nUv<`F!!fVgtnl_$+=urmh669CrrpG8oV6SrjSB zK32FNrA8WWC`{LIKR{y$^$$qE2Vlt4RNW;05MKSzQI!5s-m_@)tKZN9 za~NBa(oJ#4xYlF4p&za(GzJ;i9TL$g3a;*4{jE?b-x=a4`j|&SS|dD^S3_z(yofYB zyR)hMV-{rWM)n&8qbc0MM4}a?eHeibpT1V|uX%FXgcU-ic(8Ld?{C65hhHEnB~ZT9 zlDFz-3TIHXr8!^JrK~vYFUderd6gd()%Q#L@>;QBl{0mw!!BGKo}E$K;i}71d9Jvj zl#=dP(^U}?k80cyG4oFII6WvZKqZ7}FC~}3gq}X#IfLhN$}od8kO1$6{pzTnP^;i6 z-CIkG+a!v8nHlr7WSYLX!g!r{_1e-$OoXljL2L?9`g`7gB_qjPimKGPep$xuBt9qT z+>*EwS(n3WgZ5w3;poHYO($P?d#2y7?uecbs@u=P2w*-!GFm8yp*R5p1ge9I81zA8 zdde_ocAC0n5|qZOP5frSt*m4k8GyBi{?3979-uoYmMy)pxt6%@LwZj}s?>q27~H8K zGVHYbBU}K&$%MXEjQR4DX(4vyWL>OAMd8pUC>*-(i1I9f(#uzoZl-z0-|F9F5;1OpKJ1K^M!T;hc(y9OdfsduqI@;RF##Y^B(9`CMqxsKiAqff ze{|G_R}iYQU>;6`YZ1_`@gXlEO4JKr!5eokB5#j;W`6fo6sGkl4@U_Hf!8KZ39 z-~d;bcjCA9jS%3H9ZnE$r$|6JyBC{Qo|O6$R65N09gTGRg( zx#u^8uk-W2d>y&?E3B&#>zAZ{`qiVyaI$a2Hg72ApH;jZBQy~NaZjk*BJ*4OYx6cz zZQg2|)b$A++_L=YsLGsybPlQu|1w#2mAHj+EQ|an@a!h6Rerqq*;o`US^ssX@grk@ zdDi34KvQv|ta2i%k&%Yalqc>A8vYhc%kvM|-QCRxw(=z^mZN_$7Pgk{U+S{G`?l+; zpKzrwZ9utI`Gn7ZyiuL<=%!2|flrHL8sbI0wvv$F^){#Z4wwH(Us*H$uM?c)3$1t2 zGLJ+CcBFPSP6c6)zo#nK>Pf6+TDsjr^*b$8sxxb-(hou2tQdR*>4zK=KG+U&O%|UbdUsp^DXF7zoh1lMt{WsN{z85$7lR*7T(fjN-_>-Nm-;6PL(lLmr zjJ3zQzrGro%oiVpQf{o=m_x!$%T}RXIdLfT>?28<)XIl6Kh?I;0SS2UyGbWu?6}MS zzLUgcQGp1_bm&=W!uD;~8$L z$?;Hf+_bHf&j|TB0^$wSHbqdoy-xfp$*P^|=4(l3>CP|D%zz?GQm@)&=>kG)kz=h@ z$lx%hUb-PSC(jW7UIn3P>+Ig$IQ;mbk-AfOef8e*8C#OR&He5{h!hR=`QhqD5QiYa=!jxAd*d@9c&al%G|jw={)Q zO2uj-DzTH<{Qc{}votFBqd4bUKqS^m!QsFsLoZg|Vv4TI4z^{p-G_wNQIE>I9m#Jy z-fjj@q2wcmS<9Iv6VXG1@z6V-ZqqYhuW{r z@usC_jFbDO6$y>!v*!>OFH$0uA)IOvS+7ODI1j*SMpkbBn5}o0v%SzXIH6pyKT~o8 zEs@WYv!=%Ocj5buf4wf#!ilA5w1jIrK4%}0a*QM)-aY7anrkz!+^Q7(yc?WuiC*9r zU6)tw=O*0abu9PHKNoJl-G4&?dTV;3E@X2{#=_F+>FyoObLBnt|tK9Y~D zhIm8(j1(*7kre5ToMiYLn{-S3URKavSToz|we#&iAen0GF$*6s--sL|L#Y=o@Dv+w zU$k-hzxRk45S6G4qPCX|p1x%Nld$G?=mLnwfz!Nvs9*JWN;PabCn927=nZ#%r+E>r zG76jJwMP=LDj*dF4c8*lais>mo$X7t1fCDy z@)uTWKR2}R7J#?nrU@wc#9uwq6+CyKU-&*}kMWh{I zS?lmYOQz3Y%GGGaDLP+IUrqnYQa3w%;4OWh+4EcID4o3_cy9I1K$6CZADq3%J5n1P zE__=c8debFa!s+ynwsSAfs4K7#u%SG=yj;6(4`*=+X!^5?^R z!_*`WndC^ZRQDDm+1V~nxefNh&V#{W|NR4SXjqaDZT7kL;Y)ZvP96~wSHr&BnFO_G z8+su`OKdl$I=p1(@{PEb58H3?uy1td!Sd&x_Y62#6l|m7Ty5OJ#d^14@kZ!~n%i8r zN_I2ek0iZ=c%DQHBjG?ez|SglCn@W{$%SMe)Duo=KySA%{{gXmZCr@F+b5n(ZM2{9 zZ_z2OA;I5XBCk}@0~O^|lA>h$B_@NoZd+t$0-J6F@0Zav_5F~5_^E9wGMTTVN`>#` zKg2#aS1-9uy_JoI8#0praA;l|Rru1_S}dL0>YLpr@3h-E$Ws|a|ols*EYU{#*vM%4hl;IuM1c~)y&92EeWS7qpQMr@>Y$T{{RY4A0PvL zSiD%(W}|PfCPod`mzwRr836Z<@@%i4F4h-}YAMhpmjr?SLzmf%RUsFBdc39U3P`|( zgIl_nZ;qR3gQd|6D%Pnpo{?tx)UUt3rhr;SVw?He)<{c=g=~{GB#9bt9h?IBOJDx? zmV`{{H7mu9>v6K2>8%OMNn0T4&+5-Wv5ZZdqT=x#eG&h{6kxwB11cu?yc6{n6elxz%8MKIVzKzho)`U`UWN0+ z;X7!o7wCN^jHDL~qhs>v0?;7>+TA{N>6fnt^5g#jr|tjdm@z+$07d{KfDyn5U<5D% z7y*m`MgSv#5x@vw1TX>^0gM1f03(1AzzARjFaj6>i~vReBY+XW2w(&-0vG{|07d{K zfDyn5U<5D%7y*m`MgSv#5x@vw1TX>^0gM1f03(1AzzARjFaj6>i~vReBY+XW2w(&- z0vG{|07d{KfDyn5U<5D%7y*m`MgSv#5x@vw1TX>^0gM1f03(1AzzARjFaj8X|9=Ai E1BTzu$^ZZW literal 0 HcmV?d00001 diff --git a/docs/assets/logo.png b/docs/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..1381f1758bf36ba790fbe3bad3aaf3283e875e11 GIT binary patch literal 15910 zcmch;d010P@HTn^2solKf&&T|B_iSis2~J{L}gJKfe{tQ1yIKYRCWQ`P8?h!>o79n z5*8Q49Tk;Tg36`{sGulYFhK$+LI5E^lJnI`U_^iSKF|H`{hrG|n$xGN-+HUMy1S~+ zDJKWJ$-m6}1woL>Yu8wBKoAA^uN+-j5&lvASM4qQL-5~Vw+gvarPYBTmMv?oS8fch z?`jJDn-dhy85!gcZhQXE!#s^``6JtIAB^0yeX8$7MWw46-qU&(Z=dG;?L@ z^Yf#B4tWd?idnQjKP`OL4HZ57Q2+uI;IsbUtXG`Xv10FC-={h<*iHL#6Bj%E z!r8N1P|uwoll3!D4N_1W%W&aaM|XWoGWBcp-movd6$bg<-OZ1yM{W>ac~}H}-9FM^ zWA}B@rC>Cw|0}C+_#d$&D_(8T^pfB;^QM)5OVKmE@VAIOa(6C;qH1cZhWW>FzcSx% zNx(joQPSg0YtD1dB{vN+Gj))gCRSDv&sJGrd#eP6%!2f3wJnNFLMD>VPbABP^H$BUr^b4Iy3(j zr=@Z$5}&L#wG}mEVRZ8i8cMqS z)KN3(da{m0oOk#D8pwFWHgB)@z2?x0_( z;dA)~Z#`Ijsx1fC#k#HVaUV8hDbmFcx8C0NYdv_yijT&>qN{(i+YpEP^|ZXq&{C}3 zRzsqPHwDzJKTuBl_*?BDpJsKZaJX|}ipAk!)rg6W|FFpsp`g-%kdR^h41yw(CO2>1ygM{Y zc25b5w>9J5t<-5`?<)_p$!0yz^pYpgza0Wfc12tiA7|~(sM+#v@R_)>^t{F1eS?XR(XuH22^wk7i#V&&~!II&bUkcL#or%Axr+e>L9RJ9&xrsl6eC z7dtvKEmW=%QBC@_goMqX2XxBZqOgA}NV|^|id){lU+!o_xG^mD`LkhLy-nB-QD&Rw zu0oxMed>00WgMPSnw4lC!%6k>WnOo+jij1%ugc?A{T`B_PjmSp(bwmydWC#5ALlbK6o!Dm=22xj02N##&S}WMvZe{;X!OEB#elxX~sZpCP4k{qm zHi$S|Tl+g$eV-gI@19BR%{QImect?t-`5Lq@+t@&<6)GD6+!&fj;%Qj%81iBA;uDR zMDZ&@2{4poi~mfRByc=u#}Ml|R)tsi7L{17kmIH<(0tJ)O10g3d(ixsv`_(U z$seuUEN14KVLjyajfg3RB>v5_`~KnUR2IVKI_>*)F~?eMj;7XzZ{dp=A|W zjUaGr3Z4jjE9yvsy6WF<4;x{hO+tG7Rw)(JzP0Lt)vq5G*;%u?2hb(Z#f~=nFQGbC z`)?9Zm+?q|-fO^03KSSg%Co@dGMWn%0MWx}jA_r27`EvmEU~*XxTJHCD{z{+wFKMX zjj4nB$B0}`JVEieRLrje^1TA7oFb)FQ!%6YQYrt&WB)cvg+%^_%#rN8E5*4$6C*8T zi``z@BZ`BOvze%dv8x;dAZ=VKaS4@zSJ9bsOnCAMfM=rDHj3;5+N9Vu3W$u^lATUR zCW3VrsA9-v>FGoPaS^Z$GV}!G-|xtT43pdGB6)ir z&QyDdC`lkC>e^DmaiP+gXZFZ^8MF*Dofwn-B_pKMHnMugTZh0*x>b^%xt9CTD zBR|lD-_Vuq(pB96ovodq^IK`>TjmnVjUXwH8~Kr%(CIMVDPHKdN#ycP22^e*05yMt zE6c>D-|UqsD{G;^7c@6pKt5vCx*J{}t>rbSM}NZ({G z`l9cNN-^!#4p+INH(c~_jk^;Ub&}b2=~P#cr7n|&zMd`fFEK_})es4UnN^NB{?R7mz;= zV0Pf6-82Tc#xR(*n5N<+$`{jUhJ<$Al^}W;M8iY6$Sz0B2A^tgQZfXU&?6JU7tfcm z8!&tDMAxZ%0kKMf0{H%V9t~{10mKf{d_e3AFhVh{)<^7wr`4k+jlRy{`*4pYS_iBi^1$6Vn zbt6uXL$k5ukGe?m-1h+MoD|kCrRcE+%%OK0qbmHaoPd~kAqk)FTR^ey6`+E`M^NlW z5e{qPTnVL75>#<135lJx8 zKDKTgrkssEZqY>+VzVc3$=80B0(~P48sS*D%H5r|YKnlkF##WY{vQx1wJZX^=+)a4 zJa@TdTA<)QL{5Vl_7=PjLVy}(*eGE?bGeiaEmQ?cjzOHITjKQFiGmUuFwdT8j1q-Z{Au#&(^CytCp=BEf;d@1 zbMls9)ovSLhZHExK9(vRtV4`uxcHb zT@NWI9ndNJ{8&Nb3X#r48L%?IvM*q(^Bq?Q4;q(DJK<*AcMzD4>X`nwmV6bZe1jw%U=^kYe& zPBC^QS4>{yDpz}fu7OgA;p>&m#4+&vwF+*|(76^B*>MajGY^zM;~PGv+h2=O~bsp5T8w9XDk!AmS0 zr=mH`Sk;fZ^d@Cn0nsuZ%YqpxSD*lq<8M52q$UMVbjlzuht8`-so)^fah*>djfNR1 znr}$xTxk}Cwr?BXbPAs^_<)2G3NX;WPSA`i)J5Uu9$utkQ1 zYltBMLI;HVMv1?NtK7z+NEMhYQ!xn2^a;TeftE)QD^k;Yr=^`gc13vdP4Rb$*LJ|1 zTj4JfRvvFa&j7g#A{Z-0t50#qNnRk`*{Eb=i-4E6I`d0ti3XBt2pqrkOoLFim(!08dV4dIAAfx*d70kOw8#9YjOlcdjQ#8D6QIZj*z0l@b= z4|XD#H+OdApI-vVVJS*$RJaPr%f2HoMn6e$+W^T`f@x_l$r~X69u?9m?2!c!wqWLE z0_K3|B;?av;}Y7&dEYTpBnzK((VALy=`(0)0D099kUhPyjtPc@7dAdo=(X+RAtjw@ zKtoFG8B4>BfTRiIm0<@oN@@PBa+bfWCNY&yY;L1Pg?!%+xAh zq*`}pJ}Zl7KkuUL0k@=C!Jh4+txRxH5zJxjrhytT42Oo#-nOBELxpb=A-+AQdE}g+ zb3fB;576qZ>B2`^r*zl`I{#!^ z?cwP%V8xDvQ`c+=drZtB7AcE&oIx;>)4(?;CWdJ#_d&fbslx-1tJUYUt0@$M~!%=JWH;xwvg{uUN z0Sds2YmBQjTZ&>TCIf}5B<+olgP$8^D&ePE={UO;ij;AcC~(Nc`N9uq(s6sVx zzDq|a^hzZ>K9ngJZQ#;ucsrEfpobr7-S65m>W|$AOYT;1pCQ1egAssQm3n2T=q>+S zV^eG)(UL-uX=Nl=>p$j7m^u$zCc_+qJk-KH7eQC=W5LZPF!jFjU!K>c^fX()y6xC@VdPn2b|ECzYSA*Fp@Y4F3i z?U?ebxAXCU0J`D!t(I~3s+yE`VCUGo{9?=;HPHcCh**n|H;peNZ&Y)JUo4_c43H8t zW)Aw0EhEl0??+553cYOAjvp{NHIvdP_pHp#B@(S6T9i~VMXDtG(bgdAI7gYHX)%=L@%6 z3-98FD596K_er&+tJ^UidhC=uynXK;n;ItUxt>BqR8>{$3?K9*`Nu6Tgfr@QI|ukG zl=}`n6+NBo9mZSFX@rdQs%k~XfjhZZ4|n#9VnZ;Faf5S#vTzLf`L8fCwK!C0K-RmU4ku27anJnVQ?%dPHe zgUM7}OZi!tm(*emN%@k9k~5WMZEbA>L5C0xNaEj|&m9!c#*|xeBAjF z(mg3(gvj0SkpaQ+z(ShNax+gUP^k;j-Ao!Lb$#~A`S=zK-@AA3S~i)!TOWP(wJBe- zIyD75&Fb4!r6C|jeuTt+=9T>g%hLN<(uG4~W7fzZHduPT4P8h2;Ni5qi?z+!Ig6Ix zTH+1@C>->Q3x)6IUjSRaMfOJ~_N)@I?O`&U%!6Im(u#y^@8$=-oKvcLDTTG<(C6w1 zo*lEP!s_qoNOl_S_@Y~MNr>HtRfu>P4jy|ptN9MLwzj@Xm*m(NB3sa*o^IPJv^oJ^ z_DSy6Et*}7m6r=GbWVZm_?&>P?WVXK(K*UVzGGFTQZnf{?cL7rAsAoIvI}mbOjR6Q0P&n zUz;C~u-a(+K_o}i8ylof#s0dCzZ;L5f_iD&L@7vO@g9!kg16-oQ`5nhA5bpKB(1z; zB$>n|Plb)b(YFHdk1bouy|;+s-L#N9j|b`(lYBEMAO&_7_&`&7V^5zxz1mO{NeTVh z-$dnCXibG=)63i`$9dUn!QY( zp0Ay4{_FP^e(iN`p1KlJje!W9TMfds3|52TWCSXqaj^TXeF6oNWISNP8ZAJ2o=#%C zeywS0UDcpH5y0mqBnX1ksNowR6c8xLqM3-!BL@eEDJH$ImRV>i!5gbZ`9o6NX5Gl& zDIuNLU5x$m!yoe?w=l{}p+gFbQ_p1K`#Gr>fbq88d-$4p5YoS6FTLx1XB(GOzY>^^ zD#iBUVctltD1Ew3!6gz&QyWijxQozv{DOBLv!zHrhB{|$;V{=ci-QcyM#%1rBK$Vu z>~KJnv~!&7(y00GOzyiu_7XD3OteUu{+R9f>A@osHIz`~sig|c*uf4Gp67l_G&pc2 zQDjs6g4Sbg?7YtEZvY4j$x(x?rpEnSt{C&@ZYfcCwcomUqSBKnY+96tS9TvC3Q3C{ z#g|TxX?XP=kY>wmE>`AxJ^mW+A6;%HYg@@r; zQV-Jk3de9@I2z3pgfAi=ur{6*q^3b&6qd0sz*NB3*&Q`8Z5M4l|CE=ODZslRlP-xH z2%yxjANT0t@_=hgj5mIv)_8#Q5DkpS%fP-vuJeTAu{4IBG3 zbwPI0u^&d%}a%sw4EGXl z>OWzeijGhsP1N&z(i9k>G7;tf7I_q2JD(sBG(@qi^znEBt6}1^S56^4c33VT$;!&& z#I~Bs7b_!+EM=1g+*-e8u&`8e{rdGX11e%|ePu6imfZ;%P9K`B?tAIOZ$XtWUxrnB z&{KJA*d0aXxZo7w!zP(j_V25yso~@lnfXLOWs&(7;l}qXIhypO_3<^%TiZS~wG#GOH2up_Gu# zZT|!N;wDMZ^x;Ez{B~}9ZqB#Qb>hHv9e?vciu8OS1@&q0Nnm}>$7bCa1@&yWYj9cr z4cq661{``UCd-^(SLAxOMm{TaV0$mO@LnQz_rr(ln1#*oU%N{{kj%MO%p@sg=6P1A zCke|8IxZaWGVV3BDURWNe?yHkN&Vd&?cs7t{0hIk-STwn;xAvmz_gTHX3p1IW(y7v zAx=OPo76HLY2Rv{YwX3m3l&2|8dQ3pPkyFZXItE$Wup6FIsg4bkDAiVR5RaQsXYAH zr37JQ6Xgx3s>%TkIfA9^IUm-r4NFq%_#Ag(DI}~n&%kcK>%yZwKG8bZR!HlS;tabv_$4L#kBM~W|(K?`HLJ5 z8^vmSvBwLIEG@+WS-u~-KAKLraz$1*z@hYv>-mSHkUA4XIEfgceC2+AnW2K zZi+F|lR1RfJfYY~hrf6Dv>0x|{Lz8h?l!^Xr8dkWb+6S=?)?NIag<$)6X!clpS*fi zveyKg5&KpWe-@IAo~`|Tq$S<<5D}!6b%U`WBPZZ64S#cV%p5l5IVKO2jhDU|&ea-n zr0j|{B&LgIcbF<3ONyup?2|GFX{>#F_kQhmQa#)wpAILN(KvkaO$l121V8_?%%^DV zjtczzPlXrLu^pQ56L%JAR87>AO50LSIRSMF77?+(P4?ihLe>=Y(t|H9mx{j&_d8$LB(&AyJL*BEw40Tf+1<6D+ z2zXZAo5%K+3BWg$cnl(zj}3{(G7=`gbQGjCJQZV%F||k-e*CA+{{N%9>;x#SD*Y){ zN_Je3K1S&>rDT*u3dw)VD3XylTcR}9LrOanBg~MRVRQ;{|988mdu$X(`{0*iHe4CB zDK22o)xWH@q|u9Cjo+SOK>m#p_}8=9 zr5JsR)Q!PC*!X6Ei@xHb?lND;(a(Dj`VgXe{OEaLNCQW(Z?v5uaq@jw- zf&WA5O6KcRG2CWW<(jY@%C>x_Asnxi^UjN+5QPKg#erZ zhff*fDDKOUNRh^A$V~oUDj=H&v@xfXQSeX>pX+0DNK;Ddc+K%?J@%U|H#5%t)0A1P zp^Z`fh0L=-GZTN0`@TzDE!!o$jl-@A-MaX{*xe0*62wt*J6?pq=V%63z=n%5qu`jR zG@CZc?hoL`X24`Ax8GI9BglA_$N$Fu*>CpOSL*-ZI?nWzbjyiThHsCb@toFe!`A#q z9JoN|qB1NHzf6cHiE#O*04l9e@OwjpH0gxz((vG6cJpdBCYvUZo&+^|HZW>?2k`tc zxC57r8{yZAp_IHP37$W}opCo1T9ixjo1dP5;yGjdOu#093mx8^^`r3MBh1>)A7xc# z*#0=4k3{2oWfz_^h7DJ-)RNoRtoOq3{gX7W3w*UaUAZCpN6|TFXEy$bsO0jM-k(J4 zPiKqqjLw)*81^UErhES&+FgG^*a%(%#N%f?csgPqefmZ7527^)TW&;+e^jJg^hQ4Y zpYfx?l)JU=Id;|ar-ub=sENJh?ctMTi2mKin?i#`7$XjMbPYngLuF#yI9~+c&r@BNp8F$;uhZA-|0F7OrE}CzqP*Vri+>WOX%ar( z*Fd4KN$cHyQfOpnP2EqT);INc{U|C#)igZ+2UJDMukxRERE#IlNUq<&XV`B%IWfrN z+brVX@OWt&gb+=tBY$CLd&f_`3j?ge+7s*?#sX11OkjHW>Wqx>7KMRR>pMRD)KxDq zB=E<9#S2qX#`_tF!v4z8`$-h1vt#%tQKlhz5&wxI;>T{WVd|Y`Njw};b;s5a)CfXX zySFgl+W>Z4h+X+_^>_kvD2@HC=HYiv@mFE*7BG%e-1sk?={vq#S_yZWUIizY@0ON| zvi4htJ*pW)ef`8m+r9{h2?(Xg-TGCH@2Bb5Nqp>pcd@3;IUjTR4&hEB=e;mnxi4Qz z49zCuBPr4|WJaI8i(i#|fT(5OztEZBgJ2#m)0%{r9<9XvAJOe< zzOglF1p-b13WwiHTKL-lh5m-;r}YYH1v_~`I^3`In8}CzqMNH7tprJUz! z=HhBQbPm7ZIplbx1pfB>gHD+(w)BVl?&9kCFObBYhSdjmuIsl3WP`fi$FsHelTcS;%rGctytRnm&aO}$?h8KIi`d~I!n#5&QxyECt0^Mcjj~FWx!rg9!d06 z*z!Wg%c3UmjCoPa+cGu*yU*xKv?V3bLVVUa%~8-DG*X6-G3i8&jm+uYC&<$c0?j52 zPsJj#A?&&<9mO2MG`gdm@05DWrjbLVDFRjdnj0`4Yh#uR#-Fo+f+Yta_wE>Pz= zz?obTnO~yp(>8!jXG_=kWD_bi_YPAdP-+sozAb}1>RMI7U+$GXGM9-{qZGx<)_c0% z?c5hLa5qKLH3+|QATk{qnSr0`+OHfjgrmPZ!jQxx(cV~fF)ElSZD0jj+zI$4V2*@6 zAMaN&lTbA(tnOBjLV%fsZETT`^*P9?Aa`3yEnj4W2RJ%BA9OL-25SByAZJYFTA65F zSX=vT>0GZ&E&GMD8)|$oTr89w_RUO4QNvx-0NZ}1W~%nKI;}g&lEaNH{au@ir&e)qhck*N_T+)@@o^72 zzb2ta>Ru;qXn+}W(LQyFHX)#@e9dRRUn?z^Y2pAEN$-Y11&_VSde-4-tWzj@lh!`h z5J`)~FMi42swZj__Hj9!PU6^bgZ!rtD=i%e)i_0Poq$HKocw7$&F2^VG6DgD3#fX& zfsG|R(@($b0Cj`^pq<`5@C(TN?>FJ_{`TK9jP?sSqJLyGz}+(Ww(jjgO`NNVzp{$c zirJhla>xL$l0^4rtvJFRd8WBMLQm)Gz-~u4+c73JKmzh<>Bm@A>aJQ3l~s_VKj|uv zLqgyZS~0EYjap^@`V3$NXBb4AWQQO8k{?^1!8!()R)xE(N%ZcaPq2YyL|-^}PXEM7 z)7Vz#AqOZ3C4ZcN^uwJNXtF=HYgu8N8r&g$LXM0>hRfiJ46*1qev6UZoHMkEG_)=Q zzcSk=hYZ7&XuNH*Nv{j*FQL*HV~zd&{g?Gk1}xwT@R((DFP8r80`jHK0R9q078YT` zuD$DOaLR6qZgncBg~8_$v?L1VVSURNZfG)?@Y#&pps3@xThKHvc}q$BdOPG3uX_q; zXjUiSmBp)g*PBhFZpAfN$V)=#Yh~K`PtJ71&L#GF=mF5_5{<(OPOkVl3~}{?nCbj% z+j9Q)R=67vC8<<(#K}+A)_eYQCg!=$_Y~X9twg;uQWLkJ< zzoYfKLcJ&yK4Xx&!VYb#FyV*T%pC3(FLhd*F;t8oUO}(4QU@)X)nnh_nt!RgF4RoL zirxqT%T(y(BT-7R08 z@0>Z?#m}zn{qNFb2jGx4<4{??vrFyI{H80-}W=`Qd>R zU*AKzGO-4^R)~8`&~X1#Lv`2E#rBlm>wB{VWsr@IH=le>ovna)wilmLExYsn{?P6& zon|dkomoP9F*+PwQJ0zT58sHLWGT`uwP+Ed@`bLxC4=?*B6ia$MQ;kpv&f!TY3Jc% z!lxc|v9T7Rwx+hWcG>Cd!fzQHE(}ger*b^^+jqcoE2(7+1Mx)3ODt2aj{cc zG@h}}hIOf1gFc)`?|X9!DbPQyknH81-DfzRsKAese*;vDgc6Iki82S~nF9y^{E*qkJf+@7+S|+eN!s)Q_2R$Rlr#l|u|a0Tme;v>Jd+f=(C~jr`gaY zbczcL+BoQ~S|6u|KDzoLXCHjMwyp36vZ$;o*`jV1)vvWJuEt`|-AYes}xGez+l$Rp`keAY1O8I(6#Xq)9_NY!bSoHa4F3-`y|Ta~$3=h1-4FeRlbR_L|tUARAf%V4+@fv?=Q zkr|H+7qxDqlr;DiZ=>+FN%yWk!%X`0)5|E_1Nv_wSFi4P0>vq@1DUZj=i>>@<+H4O zxp@~a0$ezMo}S*xSx`l*Z+rUm zTUX=z*G%rPR!1kZV2REN|0}V+ZAnvA*gdDKw_CHA<$6^j%)`J=WV9h<#fIk7Cr->_ zf2;Iv{#<7u=QQ2>NX52yw4v6Q`)_%8#}0*UB2C&xG09wKBZy+X*+b=DjE*pJ^qBK0 zY(Yk8f>u|?g(U&=-(6X~gtOwop@x5zq@~bg{KF}P@lV6!&>)^(k@7}iiiEs9h uNL0Qve9l^1TwLsN*%V&-?{6vzqdmWLYTvU7PbT0G*V;H(-&y7U*Z%@Kpg|b` literal 0 HcmV?d00001 diff --git a/docs/contributing.md b/docs/contributing.md new file mode 100644 index 00000000..063bf93a --- /dev/null +++ b/docs/contributing.md @@ -0,0 +1,89 @@ +# Contributing to Daily + +:wave: Hi there! The Daily team is excited that you are reading this and willing to contribute. +No need to think big, even a typo fix might save our day and make you a hero. +Every contribution counts! :fire: + + +## Code of Conduct + +We have written some ground rules to keep discussion open and inclusive. +Please take your time to read and follow our [Code of Conduct][coc]. + + +## Where to Contribute? + +Daily is made out of several repositories, it helps us keep the different services decoupled and deliver quickly new features. +A full list of these repositories can be found [here][projects] with short explanation about each one. +If you are still not sure where is the right place to contribute, ask here by [submitting an issue][submit-issue]. + + +## Found a Bug? + +If you find a bug (sorry for that :sweat_smile:), you can contribute by [submitting an issue][submit-issue]. +If you are really into it, [submit a Pull Request][submit-pr] with your fix, we will be grateful forever. + +## Documentation Never Ends + +When it comes to documentation there is also a room for improvement. Together we can make sure everything is up-to date and nothing is missing. +You can feel free to [submit a Pull Request][submit-pr] with your documentation changes or even just [submit an issue][submit-issue]. + + +## Have a Great Idea? + +Feel like you know what feature is missing, share you thoughts with us by [submitting an issue][submit-issue]. +Do you Want to make sure your feature is implemented? submit an issue with your implementation proposal. +This will allow us to prevent duplication of work, discuss the details of the implementation and even provide design if necessary. +Discussing about your proposal will make sure that your work will be accepted into the project. + + +## Contribution Guideline + +### Submitting an Issue + +Before submitting your issue, please check that it was not reported already (open or closed). +Please provide as many details as possible so we can act as soon as possible. + + +### Submitting a Pull Request + +Before submitting a pull request consider the following guidelines: + +1. To prevent duplication of work, please search for existing PR (open or closed) that relates to yours. +1. Make sure there is an issue describing your submission, whether it is a bug fix or a feature. Discussing the issue up front will make the review process much faster. +1. Please sign our [Contributor License Agreement (CLA)][cla]. Unfortunately, we cannot accept any contribution without this. Make sure you sign and contribute with the same GitHub account. +1. Make sure your pull request is addressing only a single concern. + +How to submit a pull request? + +1. Fork the relevant repository. +1. Checkout a topic branch for your submission. +1. Apply your work there, it's fine to have multiple commits. We will make sure to squash it before merging. +1. Make sure to add appropriate tests which cover your work. +1. Follow our [Coding Rules](#coding-rules). +1. Run the test suite of the repository. +1. Push your new branch to GitHub. +1. Submit a pull request to the master branch. + +Once everything is done, your work will be live and available to all Daily users. + +## Coding Rules + +Each repository has its own coding rules and formatters to automatically enforce it when running the tests. +As a general rule of thumb we use [Airbnb JavaScript style guide][style] for most JavaScript projects. + +### Commit Messages + +We follow [Angular's commit message guidlines][commit]. This leads to more readable messages and automatic change log generation. + + +Once again, thank you for joining our journey and good luck contributing :pray: + + +[coc]: https://github.com/dailydotdev/.github/blob/master/CODE_OF_CONDUCT.md +[projects]: https://github.com/dailydotdev/daily#projects +[submit-issue]: #submitting-an-issue +[submit-pr]: #submitting-a-pull-request +[cla]: https://cla-assistant.io/dailydotdev/daily +[style]: https://github.com/airbnb/javascript +[commit]: https://github.com/angular/angular/blob/master/CONTRIBUTING.md#-commit-message-guidelines