From e9a8e2471b60ed993f64fca20c07bed5631fc977 Mon Sep 17 00:00:00 2001 From: Aitzol Date: Thu, 6 Jun 2024 19:53:10 +0200 Subject: [PATCH] first commit --- .gitignore | 1 + CHANGELOG.md | 4 + Cargo.lock | 348 +++++++++++++++++ Cargo.toml | 10 + LICENSE | 675 ++++++++++++++++++++++++++++++++ README.md | 24 ++ assets/images/sample.jpg | Bin 0 -> 110574 bytes assets/res/buttons.html | 46 +++ assets/res/css/buttons.css | 41 ++ assets/res/css/sidebar.css | 62 +++ assets/res/css/theme.css | 665 ++++++++++++++++++++++++++++++++ demo/demo.gif | Bin 0 -> 54497 bytes demo/index.html | 770 +++++++++++++++++++++++++++++++++++++ src/lib.rs | 20 + src/main.rs | 268 +++++++++++++ 15 files changed, 2934 insertions(+) create mode 100644 .gitignore create mode 100644 CHANGELOG.md create mode 100644 Cargo.lock create mode 100644 Cargo.toml create mode 100644 LICENSE create mode 100644 README.md create mode 100644 assets/images/sample.jpg create mode 100644 assets/res/buttons.html create mode 100644 assets/res/css/buttons.css create mode 100644 assets/res/css/sidebar.css create mode 100644 assets/res/css/theme.css create mode 100644 demo/demo.gif create mode 100644 demo/index.html create mode 100644 src/lib.rs create mode 100644 src/main.rs diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ea8c4bf --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/target diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..8d2f648 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,4 @@ +# changelog + +## v0.1.0 +* Initial version diff --git a/Cargo.lock b/Cargo.lock new file mode 100644 index 0000000..468eb64 --- /dev/null +++ b/Cargo.lock @@ -0,0 +1,348 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "bitflags" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "colorize" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc17e449bc7854c50b943d113a98bc0e01dc6585d2c66eaa09ca645ebd8a7e62" + +[[package]] +name = "dirs" +version = "5.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44c45a9d03d6676652bcb5e724c7e988de1acad23a711b5217ab9cbecbec2225" +dependencies = [ + "dirs-sys", +] + +[[package]] +name = "dirs-sys" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c" +dependencies = [ + "libc", + "option-ext", + "redox_users", + "windows-sys 0.48.0", +] + +[[package]] +name = "dokugile" +version = "0.1.0" +dependencies = [ + "colorize", + "dirs", + "pandoc", + "walkdir", +] + +[[package]] +name = "either" +version = "1.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3dca9240753cf90908d7e4aac30f630662b02aebaa1b58a3cadabdb23385b58b" + +[[package]] +name = "getrandom" +version = "0.2.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" +dependencies = [ + "cfg-if", + "libc", + "wasi", +] + +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + +[[package]] +name = "libc" +version = "0.2.155" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" + +[[package]] +name = "libredox" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" +dependencies = [ + "bitflags", + "libc", +] + +[[package]] +name = "option-ext" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d" + +[[package]] +name = "pandoc" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "463d53d1a77a4291203dbf9d461365609e6857c95bd7d807098bffdc0a02a65c" +dependencies = [ + "itertools", +] + +[[package]] +name = "proc-macro2" +version = "1.0.84" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec96c6a92621310b51366f1e28d05ef11489516e93be030060e5fc12024a49d6" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.36" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "redox_users" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bd283d9651eeda4b2a83a43c1c91b266c40fd76ecd39a50a8c630ae69dc72891" +dependencies = [ + "getrandom", + "libredox", + "thiserror", +] + +[[package]] +name = "same-file" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "93fc1dc3aaa9bfed95e02e6eadabb4baf7e3078b0bd1b4d7b6b0b68378900502" +dependencies = [ + "winapi-util", +] + +[[package]] +name = "syn" +version = "2.0.66" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "1.0.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.61" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "unicode-ident" +version = "1.0.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" + +[[package]] +name = "walkdir" +version = "2.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29790946404f91d9c5d06f9874efddea1dc06c5efe94541a7d6863108e3a5e4b" +dependencies = [ + "same-file", + "winapi-util", +] + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "winapi-util" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" +dependencies = [ + "windows-sys 0.52.0", +] + +[[package]] +name = "windows-sys" +version = "0.48.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" +dependencies = [ + "windows-targets 0.48.5", +] + +[[package]] +name = "windows-sys" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" +dependencies = [ + "windows-targets 0.52.5", +] + +[[package]] +name = "windows-targets" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" +dependencies = [ + "windows_aarch64_gnullvm 0.48.5", + "windows_aarch64_msvc 0.48.5", + "windows_i686_gnu 0.48.5", + "windows_i686_msvc 0.48.5", + "windows_x86_64_gnu 0.48.5", + "windows_x86_64_gnullvm 0.48.5", + "windows_x86_64_msvc 0.48.5", +] + +[[package]] +name = "windows-targets" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" +dependencies = [ + "windows_aarch64_gnullvm 0.52.5", + "windows_aarch64_msvc 0.52.5", + "windows_i686_gnu 0.52.5", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.5", + "windows_x86_64_gnu 0.52.5", + "windows_x86_64_gnullvm 0.52.5", + "windows_x86_64_msvc 0.52.5", +] + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" + +[[package]] +name = "windows_aarch64_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" + +[[package]] +name = "windows_aarch64_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" + +[[package]] +name = "windows_i686_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" + +[[package]] +name = "windows_i686_gnu" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" + +[[package]] +name = "windows_i686_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" + +[[package]] +name = "windows_i686_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" + +[[package]] +name = "windows_x86_64_gnu" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" + +[[package]] +name = "windows_x86_64_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.48.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" + +[[package]] +name = "windows_x86_64_msvc" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..4ad0eb4 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,10 @@ +[package] +name = "dokugile" +version = "0.1.0" +edition = "2021" + +[dependencies] +walkdir = "2.5" +pandoc = "0.8.11" +colorize = "0.1.0" +dirs = "5.0.1" diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..53d1f3d --- /dev/null +++ b/LICENSE @@ -0,0 +1,675 @@ + 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. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 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: + + Copyright (C) + 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..3108308 --- /dev/null +++ b/README.md @@ -0,0 +1,24 @@ +# dokugile +Simple document generator from Markdown to Html. + +# demo +![demo](demo/demo.gif) + +# how to use +These steps are indicated for _Debian_ based distros. +* _Pandoc_ is required. To install it run +```bash +sudo apt-get install pandoc +``` +* Download and execute _dokugile_ binary +```bash +sudo chmod +x dokugile +./dokugile +``` +* or execute _cargo run_ from source +```bash +git clone https://git.lainoa.eus/aitzol/dokugile.git +cd dokugile +cargo run +``` +* Once you have created your document edit it as many times as you need to keep it up to date. diff --git a/assets/images/sample.jpg b/assets/images/sample.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e67d62c18d483f862be39e3cba027d422e1e3d6c GIT binary patch literal 110574 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�Q6x&?JUV8#2N9ABZZ6NfI5m z%MnGAO0q*RN!s8;@f8bTrnZ)C zK`@4&lwCx8>%Cnbj}&$clxHJ<$yCbwPzg1$vCL-@{Im)3XeO0+9&NzOc z`~q>5v#EkeN@JX_#E_dPPpV)(uSxRieA)%4wA#ENeN<|7sBO?`<=R4M^33YGEa>mi z+x1E?{D5zL6HM0qsD8-~(0aFi#LlfjTHj+gRi#>=1}`Wou4f=(#jEOL(3+{W^^*>e zSc3*H+}p5>h8r%n{)UZiMqTc6wL^n%-nHnff(ZAWanWp7)*+ODm=(|XHRQVwiA52X~WZoL6(%--6z4*pR9 zY2%=SqTaP{bOf`g?Ii?`-$2JD*YBQXT_?#I_%B_Cpfjgg-9T&oIj0_ibPLTIm|7!g#7lI8MkIISQz-pu%3jS2WkOLu^`FuIb=5?l}JPG

Cm9BrP`U3L;9Ap3x|h|tdge1!?RX1V-X|! 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 wUb!phas40V(RS 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

R;SFHq7s8)8Z^hF_@Sz9_$ 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 aK&-%=)3&2}5@uxar0FS8h}3ebkN?@m7vq%x literal 0 HcmV?d00001 diff --git a/assets/res/buttons.html b/assets/res/buttons.html new file mode 100644 index 0000000..8ef6f72 --- /dev/null +++ b/assets/res/buttons.html @@ -0,0 +1,46 @@ +

🡄
+ + + diff --git a/assets/res/css/buttons.css b/assets/res/css/buttons.css new file mode 100644 index 0000000..f11b01e --- /dev/null +++ b/assets/res/css/buttons.css @@ -0,0 +1,41 @@ +.back{ + position: fixed; + top: 20px; + right: 30px; + display: none; + z-index: 99; + font-size: 20px; + border: none; + outline: none; + background-color: #04AA6D ; + color: white; + cursor: pointer; + border-radius: 20px; + height: 40px; + width: 40px; + font-weight: bolder; + text-align: center; + line-height: 40px; +} + +#topBtn { + display: none; + position: fixed; + bottom: 20px; + right: 30px; + z-index: 99; + font-size: 20px; + border: none; + outline: none; + background-color: #04AA6D ; + color: white; + cursor: pointer; + border-radius: 20px; + height: 40px; + width: 40px; + font-weight: bolder; +} + +#topBtn:hover, .back:hover { + background-color: #555; +} diff --git a/assets/res/css/sidebar.css b/assets/res/css/sidebar.css new file mode 100644 index 0000000..febec2c --- /dev/null +++ b/assets/res/css/sidebar.css @@ -0,0 +1,62 @@ + /* The side navigation menu */ +nav { + margin: 0; + padding-top:0; + padding-right:5px; + width: auto; + background-color: #f1f1f1; + position: fixed; + height: 100%; + overflow: auto; + left: 0; + top: 0; +} + +/* Sidebar links */ +nav a { + display: block; + /*color: green;*/ + padding: 1px; + text-decoration: none; +} + +/* Active/current link */ +nav a.active { + background-color: #04AA6D; + color: white; +} + +/* Links on mouse-over */ +nav a:hover:not(.active) { + background-color: #555; + color: white; + text-decoration: none; +} + +/* Page content. The value of the margin-left property should match the value of the sidebar's width property */ +div.content { + margin-left: 200px; + padding: 1px 16px; + height: 1000px; +} + +/* On screens that are less than 700px wide, make the sidebar into a topbar */ +@media screen and (max-width: 700px) { + nav { + width: 100%; + height: auto; + position: relative; + background-color: transparent; + } + nav a {float: left;} + div.content {margin-left: 0;} +} + +/* On screens that are less than 400px, display the bar vertically, instead of horizontally */ +@media screen and (max-width: 400px) { + nav a { + text-align: left; + float: none; + } +} + diff --git a/assets/res/css/theme.css b/assets/res/css/theme.css new file mode 100644 index 0000000..6c19570 --- /dev/null +++ b/assets/res/css/theme.css @@ -0,0 +1,665 @@ +@font-face { + font-family: octicons-link; + src: url(data:font/woff;charset=utf-8;base64,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) format('woff'); +} + +body { + -webkit-text-size-adjust: 100%; + text-size-adjust: 100%; + color: #333; + font-family: "Helvetica Neue", Helvetica, "Segoe UI", Arial, freesans, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-size: 16px; + line-height: 1.6; + word-wrap: break-word; + width: 728px; + max-width: 99%; + box-sizing: border-box; + padding: 30px 30px 8rem 30px; + margin-left: auto; + margin-right: auto; +} + +body a { + background-color: transparent; +} + +body a:active, +body a:hover { + outline: 0; +} + +body strong { + font-weight: bold; +} + +body h1 { + font-size: 2em; + margin: 0.67em 0; +} + +body img { + border: 0; +} + +body hr { + box-sizing: content-box; + height: 0; +} + +body pre { + overflow: auto; +} + +body code, +body kbd, +body pre { + font-family: monospace, monospace; + font-size: 1em; +} + +body input { + color: inherit; + font: inherit; + margin: 0; +} + +body html input[disabled] { + cursor: default; +} + +body input { + line-height: normal; +} + +body input[type="checkbox"] { + box-sizing: border-box; + padding: 0; +} + +body table { + border-collapse: collapse; + border-spacing: 0; +} + +body td, +body th { + padding: 0; +} + +body * { + box-sizing: border-box; +} + +body input { + font: 13px / 1.4 Helvetica, arial, nimbussansl, liberationsans, freesans, clean, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; +} + +body a { + color: #4078c0; + text-decoration: none; +} + +body a:hover, +body a:active { + text-decoration: underline; +} + +body hr { + height: 0; + margin: 15px 0; + overflow: hidden; + background: transparent; + border: 0; + border-bottom: 1px solid #ddd; +} + +body hr:before { + display: table; + content: ""; +} + +body hr:after { + display: table; + clear: both; + content: ""; +} + +body h1, +body h2, +body h3, +body h4, +body h5, +body h6 { + margin-top: 15px; + margin-bottom: 15px; + line-height: 1.1; +} + +body h1 { + font-size: 30px; +} + +body h2 { + font-size: 21px; +} + +body h3 { + font-size: 16px; +} + +body h4 { + font-size: 14px; +} + +body h5 { + font-size: 12px; +} + +body h6 { + font-size: 11px; +} + +body blockquote { + margin: 0; +} + +body ul, +body ol { + padding: 0; + margin-top: 0; + margin-bottom: 0; +} + +body ol ol, +body ul ol { + list-style-type: lower-roman; +} + +body ul ul ol, +body ul ol ol, +body ol ul ol, +body ol ol ol { + list-style-type: lower-alpha; +} + +body dd { + margin-left: 0; +} + +body code { + font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; + font-size: 12px; +} + +body pre { + margin-top: 0; + margin-bottom: 0; + font: 12px Consolas, "Liberation Mono", Menlo, Courier, monospace; +} + +body .select::-ms-expand { + opacity: 0; +} + +body .octicon { + font: normal normal normal 16px/1 octicons-link; + display: inline-block; + text-decoration: none; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +body .octicon-link:before { + content: '\f05c'; +} + +body:before { + display: table; + content: ""; +} + +body:after { + display: table; + clear: both; + content: ""; +} + +body>*:first-child { + margin-top: 0 !important; +} + +body>*:last-child { + margin-bottom: 0 !important; +} + +body a:not([href]) { + color: inherit; + text-decoration: none; +} + +body .anchor { + display: inline-block; + padding-right: 2px; + margin-left: -18px; +} + +body .anchor:focus { + outline: none; +} + +body h1, +body h2, +body h3, +body h4, +body h5, +body h6 { + margin-top: 1em; + margin-bottom: 16px; + font-weight: bold; + line-height: 1.4; +} + +body h1 .octicon-link, +body h2 .octicon-link, +body h3 .octicon-link, +body h4 .octicon-link, +body h5 .octicon-link, +body h6 .octicon-link { + color: #000; + vertical-align: middle; + visibility: hidden; +} + +body h1:hover .anchor, +body h2:hover .anchor, +body h3:hover .anchor, +body h4:hover .anchor, +body h5:hover .anchor, +body h6:hover .anchor { + text-decoration: none; +} + +body h1:hover .anchor .octicon-link, +body h2:hover .anchor .octicon-link, +body h3:hover .anchor .octicon-link, +body h4:hover .anchor .octicon-link, +body h5:hover .anchor .octicon-link, +body h6:hover .anchor .octicon-link { + visibility: visible; +} + +body h1 { + padding-bottom: 0.3em; + font-size: 1.75em; + line-height: 1.2; +} + +body h1 .anchor { + line-height: 1; +} + +body h2 { + padding-bottom: 0.3em; + font-size: 1.5em; + line-height: 1.225; +} + +body h2 .anchor { + line-height: 1; +} + +body h3 { + font-size: 1.25em; + line-height: 1.43; +} + +body h3 .anchor { + line-height: 1.2; +} + +body h4 { + font-size: 1em; +} + +body h4 .anchor { + line-height: 1.2; +} + +body h5 { + font-size: 1em; +} + +body h5 .anchor { + line-height: 1.1; +} + +body h6 { + font-size: 1em; + color: #777; +} + +body h6 .anchor { + line-height: 1.1; +} + +body p, +body blockquote, +body ul, +body ol, +body dl, +body table, +body pre { + margin-top: 0; + margin-bottom: 16px; +} + +body hr { + height: 4px; + padding: 0; + margin: 16px 0; + background-color: #e7e7e7; + border: 0 none; +} + +body ul, +body ol { + padding-left: 2em; +} + +body ul ul, +body ul ol, +body ol ol, +body ol ul { + margin-top: 0; + margin-bottom: 0; +} + +body li>p { + margin-top: 16px; +} + +body dl { + padding: 0; +} + +body dl dt { + padding: 0; + margin-top: 16px; + font-size: 1em; + font-style: italic; + font-weight: bold; +} + +body dl dd { + padding: 0 16px; + margin-bottom: 16px; +} + +body blockquote { + padding: 0 15px; + color: #777; + border-left: 4px solid #ddd; +} + +body blockquote>:first-child { + margin-top: 0; +} + +body blockquote>:last-child { + margin-bottom: 0; +} + +body table { + display: block; + width: 100%; + overflow: auto; + word-break: normal; + word-break: keep-all; +} + +body table th { + font-weight: bold; +} + +body table th, +body table td { + padding: 6px 13px; + border: 1px solid #ddd; +} + +body table tr { + background-color: #fff; + border-top: 1px solid #ccc; +} + +body table tr:nth-child(2n) { + background-color: #f8f8f8; +} + +body img { + max-width: 100%; + box-sizing: content-box; + background-color: #fff; +} + +body code { + padding: 0; + padding-top: 0; + padding-bottom: 0; + margin: 0; + font-size: 85%; + background-color: rgba(0,0,0,0.04); + border-radius: 3px; +} + +body code:before, +body code:after { + letter-spacing: -0.2em; + content: "\00a0"; +} + +body pre>code { + padding: 0; + margin: 0; + font-size: 100%; + word-break: normal; + white-space: pre; + background: transparent; + border: 0; +} + +body .highlight { + margin-bottom: 16px; +} + +body .highlight pre, +body pre { + padding: 16px; + overflow: auto; + font-size: 85%; + line-height: 1.45; + background-color: #f7f7f7; + border-radius: 3px; +} + +.sourceCode { + background-color: #f7f7f7; +} + +body .highlight pre { + margin-bottom: 0; + word-break: normal; +} + +body pre { + word-wrap: normal; +} + +body pre code { + display: inline; + max-width: initial; + padding: 0; + margin: 0; + overflow: initial; + line-height: inherit; + word-wrap: normal; + background-color: transparent; + border: 0; +} + +body pre code:before, +body pre code:after { + content: normal; +} + +body kbd { + display: inline-block; + padding: 3px 5px; + font-size: 11px; + line-height: 10px; + color: #555; + vertical-align: middle; + background-color: #fcfcfc; + border: solid 1px #ccc; + border-bottom-color: #bbb; + border-radius: 3px; + box-shadow: inset 0 -1px 0 #bbb; +} + +body .pl-c { + color: #969896; +} + +body .pl-c1, +body .pl-s .pl-v { + color: #0086b3; +} + +body .pl-e, +body .pl-en { + color: #795da3; +} + +body .pl-s .pl-s1, +body .pl-smi { + color: #333; +} + +body .pl-ent { + color: #63a35c; +} + +body .pl-k { + color: #a71d5d; +} + +body .pl-pds, +body .pl-s, +body .pl-s .pl-pse .pl-s1, +body .pl-sr, +body .pl-sr .pl-cce, +body .pl-sr .pl-sra, +body .pl-sr .pl-sre { + color: #183691; +} + +body .pl-v { + color: #ed6a43; +} + +body .pl-id { + color: #b52a1d; +} + +body .pl-ii { + background-color: #b52a1d; + color: #f8f8f8; +} + +body .pl-sr .pl-cce { + color: #63a35c; + font-weight: bold; +} + +body .pl-ml { + color: #693a17; +} + +body .pl-mh, +body .pl-mh .pl-en, +body .pl-ms { + color: #1d3e81; + font-weight: bold; +} + +body .pl-mq { + color: #008080; +} + +body .pl-mi { + color: #333; + font-style: italic; +} + +body .pl-mb { + color: #333; + font-weight: bold; +} + +body .pl-md { + background-color: #ffecec; + color: #bd2c00; +} + +body .pl-mi1 { + background-color: #eaffea; + color: #55a532; +} + +body .pl-mdr { + color: #795da3; + font-weight: bold; +} + +body .pl-mo { + color: #1d3e81; +} + +body kbd { + display: inline-block; + padding: 3px 5px; + font: 11px Consolas, "Liberation Mono", Menlo, Courier, monospace; + line-height: 10px; + color: #555; + vertical-align: middle; + background-color: #fcfcfc; + border: solid 1px #ccc; + border-bottom-color: #bbb; + border-radius: 3px; + box-shadow: inset 0 -1px 0 #bbb; +} + +body .task-list-item { + list-style-type: none; +} + +body .task-list-item+.task-list-item { + margin-top: 3px; +} + +body .task-list-item input { + margin: 0 0.35em 0.25em -1.6em; + vertical-align: middle; +} + +body :checked+.radio-label { + z-index: 1; + position: relative; + border-color: #4078c0; +} + diff --git a/demo/demo.gif b/demo/demo.gif new file mode 100644 index 0000000000000000000000000000000000000000..1562ee06992d7d52df96ca603da13a938a0db7d2 GIT binary patch literal 54497 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 EI|PWeZU6uP literal 0 HcmV?d00001 diff --git a/demo/index.html b/demo/index.html new file mode 100644 index 0000000..ffa4ba5 --- /dev/null +++ b/demo/index.html @@ -0,0 +1,770 @@ + + + + + + + Demo + + + + + + +
+

Title

+
+ +

1 Section

+

Lorem ipsum dolor sit amet,consectetur adipiscing elit, sed do +eiusmod temporincididunt ut labore et dolore magna aliqua. Conguenisi +vitae suscipit tellus. Aenean pharea magna…

+

1.1 Content

+

Ullamcorper eget nulla facilisi etiam.Elit at imperdiet dui accumsan +sit amet nulla facilisimorbi. Non diam phasellus vestibulum lorem…

+
+sample-image + +
+

1.1.1 Sub-content

+
    +
  • Item 1

  • +
  • Item 2

  • +
  • Item 3

  • +
+

2 Section

+

Lorem ipsum dolor sit amet,consectetur adipiscing elit, sed do +eiusmod temporincididunt ut labore et dolore magna aliqua. Conguenisi +vitae suscipit tellus. Aenean pharetra magna…

+

2.1 Content

+

Ullamcorper eget nulla facilisi etiam.Elit at imperdiet dui accumsan +sit amet nulla facilisimorbi. Non diam phasellus vestibulum lorem…

+

2.1.1 Sub-content

+
    +
  • Item 1

  • +
  • Item 2

  • +
  • Item 3

  • +
+
🡄
+ + + + + diff --git a/src/lib.rs b/src/lib.rs new file mode 100644 index 0000000..a54dbf4 --- /dev/null +++ b/src/lib.rs @@ -0,0 +1,20 @@ +pub fn template() -> String { + let index = "# Title\n## Section\nLorem ipsum dolor sit amet,\ + consectetur adipiscing elit, sed do eiusmod tempor\ + incididunt ut labore et dolore magna aliqua. Congue\ + nisi vitae suscipit tellus. Aenean pharea magna...\ + \n\n### Content\nUllamcorper eget nulla facilisi etiam.\ + Elit at imperdiet dui accumsan sit amet nulla facilisi\ + morbi. Non diam phasellus vestibulum lorem...\n\n\ + ![sample-image](images/sample.jpg)\n\n\ + #### Sub-content\n\n* Item 1\n\n* Item 2\n\n* Item 3\n\n\ + ## Section\nLorem ipsum dolor sit amet,\ + consectetur adipiscing elit, sed do eiusmod tempor\ + incididunt ut labore et dolore magna aliqua. Congue\ + nisi vitae suscipit tellus. Aenean pharetra magna...\ + \n\n### Content\nUllamcorper eget nulla facilisi etiam.\ + Elit at imperdiet dui accumsan sit amet nulla facilisi\ + morbi. Non diam phasellus vestibulum lorem...\n\n\ + #### Sub-content\n\n* Item 1\n\n* Item 2\n\n* Item 3\n"; + index.to_string() +} diff --git a/src/main.rs b/src/main.rs new file mode 100644 index 0000000..cca6874 --- /dev/null +++ b/src/main.rs @@ -0,0 +1,268 @@ +use std::io; +use std::fs; +use std::path::Path; +use std::env; +use walkdir::WalkDir; +use std::process::Command; +use std::ffi::OsStr; +use colorize::AnsiColor; +use dirs; +use pandoc::PandocError; +use dokugile::template; + +struct Project { + wiki_path: String, + doc_path: String, + doc_title: String, + output_dir: String, +} + +impl Project { + fn new(wiki_path: String, doc_path: String, doc_title:String, output_dir: String) -> Project { + Project { + wiki_path, + doc_path, + doc_title, + output_dir, + } + } +} + +fn main() { + let mut wiki_path = String::new(); + let mut doc_path = String::new(); + let mut doc_title = String::new(); + let mut output_dir = String::new(); + let mut attempts: i8 = 0; + + while !Path::new(&doc_path).exists() || doc_title.trim().is_empty(){ + doc_path = String::new(); + let mut input = String::new(); + println!("Proiektuaren izena: "); + io::stdin().read_line(&mut input).expect("Failed to read line"); + let root = env::var("HOME").unwrap().to_string()+"/"; + let user_documents_path = dirs::document_dir().unwrap().display().to_string(); + let user_doc_dir = user_documents_path.split("/").collect::>().last().unwrap().to_string(); + + while !Path::new(&wiki_path).exists() { + let mut project_dir = String::new(); + println!("Proiektuaren kokapena:[{}/Wiki] ", &user_doc_dir); + io::stdin().read_line(&mut project_dir).expect("Failed to read line"); + if project_dir.trim().is_empty() { project_dir = String::from(user_doc_dir.clone()+"/Wiki") }; + wiki_path = root.clone()+project_dir.trim(); + + if !Path::new(&wiki_path).exists(){ + let mut ans = String::new(); + println!("{} dokumentuentzako kokapen berria sortu nahi duzu?(y/n)[Y]", &project_dir.trim().to_owned().green().bold()); + io::stdin().read_line(&mut ans).expect("Failed to read line"); + if ans.trim().is_empty() { ans = String::from("Y") }; + match ans.trim() { + "y" | "yes" | "Y" | "B" | "Bai" => { //let _ = fs::create_dir(&wiki_path); + let _ = mkdir(&wiki_path); + println!("{} kokapena sortu da.", &project_dir.trim().to_owned().green().bold()); + }, + _ => continue, + }; + } + } + + if input.trim().is_empty(){ + attempts += 1; + } + if attempts == 3 { + break + }; + + doc_title = input.to_string(); + output_dir = input.trim_end().to_owned()+"_html"; + doc_path.push_str(&wiki_path); + doc_path.push_str("/"); + doc_path.push_str(&doc_title.trim_end()); + //doc_path.push_str(&capitalize_first_letter(&doc_title.trim_end())); + let res_path = wiki_path.clone()+"/res"; + if !Path::new(&doc_path).exists() || !Path::new(&res_path).exists(){ + let mut ans = String::new(); + if !Path::new(&doc_path).exists() { + println!("{} proiektua ez da aurkitu. Sortu egin nahi duzu?(y/n)[Y]", &input.trim().to_owned().green().bold()); + io::stdin().read_line(&mut ans).expect("Failed to read line"); + } + if ans.trim().is_empty() { ans = String::from("Y") }; + match ans.trim() { + "y" | "yes" | "Y" | "B" | "Bai" => { + let _ = mkdir(&doc_path); + // create resources + for entry in WalkDir::new("assets").into_iter().filter_map(|e| e.ok()) { + let input_entry = String::from(entry.path().strip_prefix("assets").expect("Path not found").display().to_string()); + let subdirs = wiki_path.to_string()+"/"+&input_entry; + let images = wiki_path.to_string()+"/"+&doc_title.trim()+"/"+&input_entry; + + if entry.path().is_dir(){ + match Path::new(&input_entry).to_str() { + Some("images") => { //create images directory + let _ = mkdir(&images); + }, + Some(..) => { //create resources and its subdirectories + let _ = mkdir(&subdirs); + }, + _ => continue + }; + }else if entry.path().is_file(){ + let source = String::from(entry.path().display().to_string()); + match Path::new(&input_entry).to_str() { + Some(d) if d.contains("images/")=>{ //copy sample-image to images folder + let _ = copy(&source, &images); + }, + Some(..) => { //copy files from all other directories + let _ = copy(&source, &subdirs); + }, + _ => continue + }; + } + } + println!("{} proiektua sortu da. Orain index.md fitxategia editatu eta edukiak \ + sor ditzakezu", &input.trim().to_owned().green().bold()); + }, + _ => continue, + }; + } + + let index = doc_path.to_string()+"/index.md"; + if !Path::new(&index).exists(){ + let _ = touch(&index, &template()); + }; + } + + let res = processing(Project::new(wiki_path.clone(), doc_path.clone(), doc_title, output_dir)); + match res { + Err(e) => println!("The operation failed with error: {}", e), + Ok(e) => println!("{}", e) + }; +} + +fn mkdir(dir: &String) -> std::io::Result<()>{ + let _ = fs::create_dir(dir)?; + Ok(()) +} + +fn touch(file: &String, content: &String) -> std::io::Result<()>{ + fs::write(file, content)?; + Ok(()) +} + +fn copy(source: &String, dest: &String) -> std::io::Result<()> { + fs::copy(source, dest)?; + Ok(()) +} +/* +fn capitalize_first_letter(s: &str) -> String { + s[0..1].to_uppercase() + &s[1..] +} +*/ + +fn processing(project: Project) -> Result{ + let mut md_count :i32 = 0; + let mut error = String::new(); + for entry in WalkDir::new(&project.doc_path).into_iter().filter_map(|e| e.ok()) { + if entry.path().is_dir(){ + let input_entry = String::from(entry.path().display().to_string()); + let doc_title: String = "/".to_string()+&project.doc_title.trim_end(); + let output_dir: String = "/".to_string()+ &project.output_dir.trim_end(); + //replace project-directory to project-directory_html(e.g. "Test" to "Test_html") + let new_entry = input_entry.replace(&doc_title, &output_dir); + //create output _html directory and subdirectories except images dir + match &entry.path().file_name() { + Some(p) if *p != "images"=> { + let _ = mkdir(&new_entry); + }, + _ => continue, + }; + }else if entry.path().is_file(){ + if let Some(extension) = entry.path().extension().and_then(OsStr::to_str) { + //filter md files + match extension { + "md" => { + //md_count += 1; + println!("found: {}", entry.path().display()); + let conv = md_to_html(entry.path(), &project.doc_title, &project.output_dir, &project.wiki_path); + match conv { + Ok(()) => md_count += 1, + Err(e) => { //println!("{}", e); + error = e.to_string(); + break; + }, + }; + }, + _ => (), + }; + }; + }; + }; + + if error.is_empty() { + if md_count == 0 { + println!("No markdown files found!"); + println!("Pleade edit first your documents in markdown format and come back to convert them to html. Bye!"); + }else{ + println!("Processed {} markdown files.", md_count); + } + let mut index = project.wiki_path.to_owned()+"/"+&project.output_dir.trim_end(); + index.push_str("/index.html"); + sanitize(Path::new(&index)); + //Ok("Success") + let link = String::from("file://".to_owned()+&index).cyan(); + let message:String = String::from("Congrats! Check your documentation at.. ".to_owned()+&link); + Ok(message) + }else{ + //Err(std::stringify!(error)) + Err(error) + } +} + +fn md_to_html(input_file: &Path, doc_title: &String, output_dir: &String, wiki_path: &String) -> Result<(), PandocError>{ + let page_title: String = "pagetitle=".to_string()+*&doc_title.trim_end(); + let doc_title: String = "/".to_string()+*&doc_title.trim_end(); + let output_dir: String = "/".to_string()+ *&output_dir.trim_end(); + let output_file = input_file.display().to_string().replace(&doc_title, &output_dir).replace(".md", ".html"); + let base_path = wiki_path.to_owned()+&doc_title; + let res_path = wiki_path.to_owned()+&"/res:".to_string(); + let mut pandoc = pandoc::new(); + pandoc.add_input(&input_file); + pandoc.arg("resource-path", &res_path); //for css and javascript resources + pandoc.arg("resource-path", &base_path); //for image search + pandoc.arg("include-after-body", "buttons.html"); + pandoc.arg("css", "css/theme.css"); + pandoc.arg("css", "css/sidebar.css"); + pandoc.arg("css", "css/buttons.css"); + pandoc.arg("embed-resources", "true"); + pandoc.arg("standalone", "true"); + pandoc.arg("shift-heading-level-by", "-1"); + pandoc.set_number_sections(); + pandoc.set_toc(); + pandoc.arg("toc-depth", "4"); + pandoc.arg("metadata", &page_title); + pandoc.set_output(pandoc::OutputKind::File(output_file.into())); + //pandoc.execute().unwrap(); + + match pandoc.execute() { + Ok(..) => Ok(()), + Err(PandocError::PandocNotFound) => Err(PandocError::PandocNotFound), + Err(PandocError::IoErr(e)) => Err(PandocError::IoErr(e)), + Err(PandocError::Err(e)) => Err(PandocError::Err(e)), + Err(PandocError::NoInputSpecified) => Err(PandocError::NoInputSpecified), + Err(PandocError::BadUtf8Conversion(e)) => Err(PandocError::BadUtf8Conversion(e)), + Err(PandocError::NoOutputSpecified) => Err(PandocError::NoOutputSpecified) + } +} + +fn sanitize(index: &Path){ + if index.exists(){ + //convert page links from ".md" to ".html" in the index.html file + Command::new("sed") + .args(["-i", r"-e s/\.md/\.html/g", &index.display().to_string()]) + .status() + .expect("sed command failed start"); + }else{ + println!("Please consider renaming your main page to index.md and restart the document conversion again. See you later!") + }; +} +