From bc30d160944ca487c952e1011a5a25e990ba2f4b Mon Sep 17 00:00:00 2001 From: Chengmin Date: Mon, 24 Feb 2025 19:09:36 -0500 Subject: [PATCH 1/5] Added license and readme file --- LICENSE | 674 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 37 +++ 2 files changed, 711 insertions(+) create mode 100644 LICENSE create mode 100644 README.md 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..c7d72c7 --- /dev/null +++ b/README.md @@ -0,0 +1,37 @@ +# FUxt API Plugin + +## Description + +The FUxt API Plugin is a custom WordPress plugin designed to extend the functionality of your WordPress site by providing additional API endpoints. This plugin is tailored to meet the specific needs of the Funkhaus project. + +## Installation + +1. Download the plugin files. +2. Upload the `fuxt-api` folder to the `/wp-content/plugins/` directory. +3. Activate the plugin through the 'Plugins' menu in WordPress. + +## Usage + +Once activated, the plugin will automatically add new API endpoints to your WordPress site. You can access these endpoints via the WordPress REST API. + +## Endpoints + +- `/wp-json/fuxt/v1/endpoint1` - Description of endpoint1. +- `/wp-json/fuxt/v1/endpoint2` - Description of endpoint2. + +## Contributing + +1. Fork the repository. +2. Create a new branch (`git checkout -b feature-branch`). +3. Make your changes. +4. Commit your changes (`git commit -am 'Add new feature'`). +5. Push to the branch (`git push origin feature-branch`). +6. Create a new Pull Request. + +## License + +This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details. + +## Contact + +For any questions or issues, please contact the development team at support@funkhaus.com. From 56a08b8e622e7c6a00f4fe0ee945377ab582207c Mon Sep 17 00:00:00 2001 From: Chengmin Date: Mon, 24 Feb 2025 19:44:34 -0500 Subject: [PATCH 2/5] Add files via upload --- fuxt-api.png | Bin 0 -> 99589 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 fuxt-api.png diff --git a/fuxt-api.png b/fuxt-api.png new file mode 100644 index 0000000000000000000000000000000000000000..74600672902603651249be270bd9e3697461cb00 GIT binary patch literal 99589 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≤vRdp3-l19w!3ok4tTy-@a(O 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%0Die;5AdxExiaTm>6W&tOVG!%qbWv5 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 UeC)T2A-&GGZm7s-%ij0?KXV$4rT_o{ literal 0 HcmV?d00001 From f16c19fbcd4cabc19a43859ba1d35d92a0c3014a Mon Sep 17 00:00:00 2001 From: Chengmin Date: Mon, 24 Feb 2025 19:51:04 -0500 Subject: [PATCH 3/5] updated readme --- README.md | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index c7d72c7..b87cf53 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ -# FUxt API Plugin +# Fuxt API Plugin ## Description -The FUxt API Plugin is a custom WordPress plugin designed to extend the functionality of your WordPress site by providing additional API endpoints. This plugin is tailored to meet the specific needs of the Funkhaus project. +The Fuxt API Plugin is a custom WordPress plugin designed to extend the functionality of your WordPress site by providing additional API endpoints. This plugin is tailored to meet the specific needs of the Funkhaus project. ## Installation @@ -16,8 +16,16 @@ Once activated, the plugin will automatically add new API endpoints to your Word ## Endpoints -- `/wp-json/fuxt/v1/endpoint1` - Description of endpoint1. -- `/wp-json/fuxt/v1/endpoint2` - Description of endpoint2. +- `/wp-json/fuxt/v1/post?uri={post_uri}` - Get post data by post uri. +- `/wp-json/fuxt/v1/posts` - Get posts. +- `/wp-json/fuxt/v1/user` - Get current user data. +- `/wp-json/fuxt/v1/menus?name={menu_name}` - Get menu by name. +- `/wp-json/fuxt/v1/settings` - Get site settings. +- `/wp-json/fuxt/v1/acf-options?name={option_name}` - Get acf option by name. + +You can install the [WP OpenAPI](https://wordpress.org/plugins/wp-openapi/) plugin. This will allow you to get the endpoint details (request parameters and response data schema) at /wp-admin/admin.php?page=wp-openapi. + +![screenshot](fuxt-api.png) ## Contributing @@ -34,4 +42,4 @@ This project is licensed under the MIT License. See the [LICENSE](LICENSE) file ## Contact -For any questions or issues, please contact the development team at support@funkhaus.com. +For any questions or issues, please contact the development team at [support@funkhaus.com](mailto:support@funkhaus.com). From 8afc8d672e9b56b5d9d158a60eae4d94fb5cf694 Mon Sep 17 00:00:00 2001 From: Chengmin Date: Mon, 24 Feb 2025 19:52:08 -0500 Subject: [PATCH 4/5] added required to api request fields --- includes/class-rest-acf-controller.php | 1 + includes/class-rest-menu-controller.php | 1 + 2 files changed, 2 insertions(+) diff --git a/includes/class-rest-acf-controller.php b/includes/class-rest-acf-controller.php index eb8c012..674811e 100644 --- a/includes/class-rest-acf-controller.php +++ b/includes/class-rest-acf-controller.php @@ -79,6 +79,7 @@ public function get_collection_params() { 'name' => array( 'description' => __( 'ACF option name', 'fuxt-api' ), 'type' => 'string', + 'required' => true, ), ); } diff --git a/includes/class-rest-menu-controller.php b/includes/class-rest-menu-controller.php index aa52593..b1369da 100644 --- a/includes/class-rest-menu-controller.php +++ b/includes/class-rest-menu-controller.php @@ -153,6 +153,7 @@ public function get_collection_params() { 'name' => array( 'description' => __( 'Menu name', 'fuxt-api' ), 'type' => 'string', + 'required' => true, ), ); } From 203d00d1fe80c3c2b80060f4e7e7a40c4f6b6fed Mon Sep 17 00:00:00 2001 From: Chengmin Date: Mon, 24 Feb 2025 19:53:50 -0500 Subject: [PATCH 5/5] updated link from com to us --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b87cf53..1b5ca58 100644 --- a/README.md +++ b/README.md @@ -42,4 +42,4 @@ This project is licensed under the MIT License. See the [LICENSE](LICENSE) file ## Contact -For any questions or issues, please contact the development team at [support@funkhaus.com](mailto:support@funkhaus.com). +For any questions or issues, please contact the development team at [support@funkhaus.us](mailto:support@funkhaus.us).