35 |
36 |
37 |
38 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | WARN: This project has been superseded by "TXT World Domination".
2 | The new version defaults to markdown (vs HTML). With all the goodies,
3 | but much faster and confortable to use for everyone.
4 | * GitHub project:
5 | * GitHub Pages:
6 |
7 | (https://github.com/earizon/txt_world_domination)
8 | > Please support the project by simply putting a Github star.
9 | Share this library with friends on Reddit, Twitter, Facebook or
10 | everywhere else you can.
11 |
12 | > If you notice a bug, some interesting new feature or any other
13 | remark, please report an (informal) issue. We'll try to fix it
14 | or document an alternative solution if no fix is available.
15 |
16 | > If you notice a bug, some interesting new feature or any other
17 |
18 | # Single page Book Project
19 |
20 | Super cheat-sheets of IT notes (Java, Linux, Cryptography, cloud,
21 | architecture, ...) using the [SPB](https://github.com/SinglePageBookProject/SPB) project.
22 |
23 | - [online version (newest version)](http://ww.oficina24x7.com/index.html)
24 | - [online version (stable version)](https://github.com/SinglePageBookProject/IT_notes)
25 |
26 | - Clone and execute next line to launch local web server.
27 |
28 | ```
29 | $ ./httpServer.py
30 | ```
31 |
32 | The server is only needed to avoid troubles with browsers disabling script loading from file-system paths. Any other (light) web server will work.
33 | ([TinyWeb](https://www.ritlabs.com/en/products/tinyweb/download.php), ...)
34 |
35 | - Related projects:
36 | - [Learn X in Y minutes](https://learnxinyminutes.com/).
37 | - [TLDR (Too Long Don't Read)](https://github.com/tldr-pages/tldr)
38 | - [Undergroundwires Bullet Points](https://github.com/undergroundwires?tab=repositories&q=bullet&type=&language=)
39 |
--------------------------------------------------------------------------------
/TODO.txt:
--------------------------------------------------------------------------------
1 | ----------------------
2 | BUG: soft_arch -> ha.* -> *.hardware
3 | BUG: ethereum -> token -> standardss
4 | BUG: dev_ops -> notifications.jenkins must also appear as jenkins.notifications
5 | ____________________
6 | BUG: Google search points to:
7 | www.oficina24x7.com/Blockchain/ethereum_map.html?showSearchMenu?topics=101,solidity
8 | Topic solidity has been moved to dev_language.solidity so it doesn't exists anymore
9 | - New searches fail since it will always try to filter by non-existing topics.
10 |
11 | -----------------------------------
12 | https://yyhh.org/blog/2020/04/how-to-enable-saml-sso-with-self-hosted-gotrue-and-git-gateway/
13 |
14 | https://github.com/netlify/git-gateway
15 |
16 | git-gateway enables people to commit content in git without knowing about git <--- !!!!!!
17 | -----------------------------------
18 | - Allow to easily C&P all topics (in order to help classifying new content)
19 | ---------------------------------
20 | - Allow proper search for "topic.*".
21 | Each time a new topic. is detected the search engine must add the possibility
22 | to search by any sub-topic and show automatically the "*" option.
23 | When executing search, once detected search by "*" any match by prefix will work.
24 | ---------------------------------
25 | - Allow for inverted indexes for topics when the inverted index, seen as a topic
26 | is "important" enough. e.g:
27 | automatically created
28 | jvm.monitoring, -> monitoring.*
29 | app.monitoring,
30 | spring.monitoring,
31 | ...
32 |
33 | - Question: What about non-symetric topics like:
34 |
35 | async/reactive.testing <-> qa.testing.async/reactive
36 | ---------------------------------
37 | - When selecting a label in search, automatically mark related ones. (those topics
38 | who match selected label in one or more cells)
39 | ---------------------------------
40 | Add warning:
41 | " This page is designed to be used offline and contains
42 | hundred of classified and linked documentation inside.
43 | (Some pages can contain a full text book)
44 |
45 | When using mobile devices, give your web browser a
46 | few seconds to download all the content and process
47 | all metadata before start navigating.
48 |
49 | Once pre-setup is finished, use the search menu to
50 | filter by topic or free-text!
51 |
52 | Thanks for your patience,
53 | The SPB project team!"
54 | ----------------------------------------------
55 | - Allow plugin/extension-point to highly others than TODO, for example
56 | "billion-dolar-mistake", ...
57 | ----------------------------------------------
58 | https://handshake.org/
59 | https://github.com/tldr-pages/tldr/blob/master/pages/common/hsd-cli.md
60 | https://github.com/tldr-pages/tldr/blob/master/pages/common/hsw-cli.md
61 | Decentralized naming and certificate authority
62 | ----------------------------------------------
63 | • text description for topics.
64 | ______________________________________________
65 | Remove xsmall by something more meaningful (h1, ...)
66 | ---------------------------------------
67 | Add visual "component" diagram:
68 | SPB CMS:
69 | Brower -> docs@A Brower -> Web Server -> DDBB
70 | Brower -> docs@B Brower -> Web Server -> DDBB
71 |
72 | ______________________________________________
73 | https://github.com/tldr-pages/tldr/blob/master/pages/common/browser-sync.md
74 | Starts local web server that updates browser on file changes. More information: https://browsersync.io/docs/command-line.
75 | ______________________________________________
76 | graph JS rendering:
77 | https://en.wikipedia.org/wiki/DOT_%28graph_description_language%29#JavaScript
78 | ______________________________________________________
79 | https://www.saltycrane.com/blog/2020/04/how-width-set-css/
80 | https://www.saltycrane.com/blog/2021/01/how-height-set-css/
81 | ______________________________________________________
82 | https://aws.amazon.com/getting-started/hands-on/host-static-website/
83 | ______________________________________________________
84 | schema.org related types that can help search engines:
85 | · https://schema.org/TechArticle
86 | How-to (task) topics, step-by-step, procedural troubleshooting, specifications, etc.
87 | · https://schema.org/Code
88 | Computer programming source code.
89 | Example: Full (compile ready) solutions, code snippet samples, scripts, templates.
90 | · https://schema.org/Course
91 | A description of an educational course which may be offered as
92 | distinct instances at which take place at different times or take
93 | place at different locations, or be offered through different media
94 | or modes of study. An educational course is a sequence of one or more
95 | educational events and/or creative works which aims to build
96 | knowledge, competence or ability of learners.
97 | · https://schema.org/LearningResource
98 | LearningResource is expected to be used as an addition to a primary type such as Book, VideoObject, Product etc.
99 | · https://schema.org/Map
100 | · https://schema.org/Thesis
101 | ·
102 | ·
103 | ______________________________________________________
104 | - Check escalability → scalability
105 | ______________________________________________________
106 | - Review demo links.
107 | - Change also UUIDs
108 | ______________________________________________________
109 | SPB Doc: add doc. about "patchy" solution ˂˃ (vs >/<)
110 | ______________________________________________________
111 | - Add Support for Mermaid Graphs:
112 | https://mermaid-js.github.io/mermaid/#/
113 |
114 |
115 |
116 | - Doing so will command the mermaid parser to look for the
40 | double-click (mouse) or long-press (touch-screen) on a cell to zoom into highlighted content
41 |
42 |
Searching for content
43 |
44 |
Click on the "telescopic sight" icon to open the search/filter menu.
45 |
46 |
Label Navigating hints:
47 |
48 |
Content addressing newcomers is tagged with the "101" label. If you are not in US, this number can look arbitrary. Some more info is available here.
49 |
50 |
"TODO" tag means incomplete content. You can skip it or try to contribute with a pull request or opening a new issue.
51 |
52 |
Other common labels or topics include:
53 |
54 |
qa: Quality assurance related topic. Things that help you do better thing in no more time.
55 |
low_code: Things that let you create working stuff with minimal coding or work (ussually it also mean better "QA").
56 |
testing: Information on how to test things work the way you expected
Search for matching text in any "zoom-able" element by filling the regex text input.
63 | The "single-line" checkbox can be chequed to search only matching text in a single-line and
64 | the "case-match" checkbox to match only if Upper/lower case match.
65 | NOTE: user-input is interpreted as a regular expression.
66 | Advanced users can profit from this feature to create powerful queries
67 | Normal users can ignore this feature or, if curious, learn about the magic of regular expression
68 | by clicking
69 | [here].
70 | Just some regex simple examples:
71 |
72 | Ex.1:
73 | city.*Paris ← Search for city then any character (.) repeated zero or more times (*) then Paris
74 | Ex.2:
75 | year.20\d\d ← Search for year followed by any character (:,-,white space,...) followed by 20 and two more digits
76 | Ex.3:
77 | [<][^>]+@[^>]+\.[^>]+[>] ← Search email likes <alice@mail.com>
78 | └─┴──────────────────────── Search for <
79 | ┊ ┊┊ ┊┊┊ ┊┊ ┊
80 | └───┴─────────────────── followed by any character except ">" ([^>]) one or more times (.+)
81 | ┊┊ ┊┊┊ ┊┊ ┊
82 | └────────────────── followed by "@"
83 | ┊ ┊┊┊ ┊┊ ┊
84 | └───┴───────────── followed by any character except ">" ([^>]) one or more times (.+)
85 | ┊┊ ┊┊ ┊
86 | └┴─────────── followed by dot character (\.)
87 | ┊ ┊┊ ┊
88 | └───┴────── followed by any character except ">" ([^>]) one or more times (.+)
89 | ┊ ┊
90 | └─┴─── followed by >
91 |
92 |
93 |
94 |
Optionally click on any topic to filter out/in any non/related topics. The AND/OR checkbox let's
95 | to choose whether content must contain ALL or ANY selected topic.
96 | Only zoomable contant that has been previously tagged or labeled with matching topics will be searched for.
97 |
98 |
Finally click on the "Search Now!" button (or Press "Enter" key) to execture the search
99 |
Matching zoomable content will be highlighted while non-matching zoomable elements will be
100 | hidden by default.
101 |
Browse visually around the highlighted content to see if the context matches with the search.
102 |
Press the "ESC" key shortcut in your keyboard or the [show all] link
103 | to show again all cells and their relation in the context of the matched content (the "neighborhood"
104 | of matching elements)
111 |
112 | NOTE: When just a single zoomable element match the search its content will automatically be zoomed-in
113 | This behaviour allows to create external links to you page that automatically opens the
114 | desired cell/content using a link similar to:
115 |
116 | [this example link]
117 | Otherwise the different zoomable elements will be highlighted and the user will choose which one to zoom-in.
118 | Once you click on one of the the left/right arrows icons can be clicked to move to previous/next search match,
119 | or you can close the zoom and click on another zoomable element.
120 |
121 |
Sharing content
122 |
123 |
The full page book can be shared as a normal web page by sharing its URL (Universal Resource Locator)
200 | If your system has basic unix utilities instaled (Linux, Mac, BSD, or
201 | Windows Git Bash), you can use the beautify.sh
202 | script as well. This scripts will also fix problem with conflictive html
203 | characterers ( < > , & ) replacing with equivalent but
204 | non-conflictive ones
205 |
editors with block/column edit mode and macro-support that will walk with you in your feat:
212 |
213 |
Vim: (Love him and it will love you for the rest of your life!)
214 |
UltraEdit
215 |
gedit
216 |
Notepad++
217 |
Eclipse
218 |
...
219 |
220 |
221 |
222 |
223 |
224 |
Provide Feedback:
225 |
226 |
If you find some bug, or something difficult to use, or a missing feature comes to your mind,
227 | please, follow [this link]
228 | to create a new issue.
229 |
230 |
If you want to actively contribute with new features or add new recipes or IT_notes, please,
231 | clone the https://github.com/singlepagebookproject/IT_notes
232 | repository, edit at will and submit a pull request.
233 |
"
599 | + ""
601 | + " (⏏ )"
602 | )
603 | // 1st) replace External link
604 | H = H.replace(/@\[(http.?[^\]]*)\]/g," [$1]")
605 | // 2nd) replace relative (to page) link
606 | H = H.replace(/@\[([^\]]*)\]/g," [$1]")
607 |
608 | // Add support for inner links: '@[#internalId]'
609 | H = H.replace(/@\[#([^\]]*)\]/g, "
[$1]
")
610 |
611 | H = H.replace(/Gº([^º\n]*)º/g, " $1 ")
612 | H = H.replace(/Rº([^º\n]*)º/g, " $1 ")
613 | H = H.replace(/Bº([^º\n]*)º/g, " $1 ")
614 | H = H.replace(/Oº([^º\n]*)º/g, " $1 ")
615 | H = H.replace(/Qº([^º\n]*)º/g, " $1 ")
616 | H = H.replace(/Yº([^º\n]*)º/g, " $1 ")
617 | H = H.replace(/[$]º([^º\n]*)º/g, " $1 ")
618 | H = H.replace(/_º([^º\n]*)º/g, "$1 ")
619 | H = H.replace(/^º([^º\n]*)º/g, "$1 ")
620 | H = H.replace( /º([^º\n]*)º/g, " $1 ")
621 | H = H.replace( /[˂]/g, "<")
622 | H = H.replace( /[˃]/g, ">")
623 | H = H.replace( /[⅋]/g, "&")
624 | // Some utf-8 hand icons do not work properly while editing in vim/terminal
625 | // but looks much better in the final HTML. Replace icons:
626 | H = H.replace(/☜/g, "👈")
627 | H = H.replace(/☝/g, "👆")
628 | H = H.replace(/☞/g, "👉")
629 | H = H.replace(/☟/g, "👇")
630 | // H = H.replace(/[.]\n/g, ". ")
631 | // H = H.replace(/[:]\n/g, ": ")
632 | // H = H.replace(/\n\s*\n/g, "
")
633 | N.innerHTML = H
634 | // TODO:(enhancement) Add markdown table parser.
635 | // REF: https://github.com/blattmann/mdtablesparser/blob/master/js/parser.js
636 | }
637 |
638 | },
639 | }
640 |
641 | const MB = { // Menu Bar
642 | renderMenuBar : function (){
643 | const searchDiv = document.createElement('div');
644 | searchDiv.setAttribute("id", "upper_bar")
645 | searchDiv.classList.add("noprint")
646 | searchDiv.innerHTML = ''
647 | + ''
648 | + '❓'
649 | + 'Print'
650 | + '🔍︎'
651 | + ''
653 | + ' '
654 | document.body.insertBefore(searchDiv,document.body.children[0])
655 | document.getElementById("idLabelsFilter").addEventListener("click", SF.showSearchForm)
656 | document.getElementById("idLabelsFilter").addEventListener("click", SF.showSearchForm)
657 | ZC.slider = document.getElementById("zoomSlider" )
658 | ZC.slider.addEventListener("input", ZC.onZoom )
659 | {
660 | // https://stackoverflow.com/questions/27116221/prevent-zoom-cross-browser
661 | const meta = document.createElement('meta')
662 | meta.setAttribute("name", "viewport")
663 | meta.setAttribute("content", "width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no")
664 | document.head.insertBefore(meta,document.head.children[0])
665 | }
666 | document.getElementById("printButton").addEventListener("click", MB.spbQuickPrint )
667 | },
668 | spbQuickPrint : function() {
669 | if (window.confirm('Use browser [print...] for print-previsualization.-')) {
670 | window.print()
671 | }
672 | },
673 | onZoomClosed : function() { },
674 | }
675 |
676 | function switchLinksToBlankTarget() {
677 | // Change default a.target to blank.
678 | const nodeList = document.querySelectorAll('a')
679 | const thisDoc=document.location.origin+document.location.pathname;
680 | for (let idx in nodeList) {
681 | const nodeHref = nodeList[idx].href
682 | if (!nodeHref) { continue }
683 | if (! (nodeHref.startsWith("http")) ) continue
684 | if ( nodeHref.startsWith(thisDoc)) continue
685 | nodeList[idx].target='_blank'
686 | }
687 | }
688 |
689 | function pageLoadedEnd() {
690 | let id=window.location.hash.replace("#","")
691 | if (id=="") {
692 | id = getParameterByName("id") || ""
693 | }
694 | if (!!id) {
695 | const targetDom = document.getElementById(id)
696 | if (!!targetDom) {
697 | ZW.doOpenZoom(targetDom);
698 | return;
699 | }
700 | }
701 |
702 |
703 | // Parse query parameters
704 | let csvLabels = getParameterByName("topics") || ""
705 | csvLabels = csvLabels.toLowerCase()
706 | let label_l = (!!csvLabels) ? csvLabels.split(",") : []
707 | label_l.forEach(label => {
708 | const bLabelExists = LM.getDomListForLabelPrefix(label).length > 0
709 | if (! bLabelExists) {
710 | alert ("topic:" +label +" has been \n dropped/renamed")
711 | return;
712 | }
713 | LM.onLabelClicked({ target : {value : label} });
714 | })
715 | let query = getParameterByName("query")
716 | if (!!query) { SF.regexQuery = query; }
717 | if (!!query || !!label_l) {
718 | SE.executeSearch()
719 | }
720 |
721 | let doShowSearchMenu = getParameterByName("showSearchMenu") || ""
722 | if (["0","false"].indexOf(doShowSearchMenu.toLowerCase())<0) {
723 | SF.showSearchForm();
724 | }
725 | try {
726 | postLoad();
727 | } catch(err) {console.dir(err)}
728 | }
729 |
730 | function onPageLoaded() {
731 | if ( window.spbLoaded ) {
732 | console.log("Already loaded")
733 | return
734 | }
735 | console.log("Initializing SPB")
736 | window.spbLoaded = true
737 | try { preLoad(); } catch(err) {console.dir(err)}
738 |
739 | IC.initInputControl();
740 | switchLinksToBlankTarget();
741 |
742 | TPP.doTextPreProcessing()
743 | ZC.initCSSIndexes()
744 | LM.createLabelIndex()
745 |
746 | ZW.renderZoomBox();
747 | SF.renderSearchForm()
748 | MB.renderMenuBar();
749 |
750 | pageLoadedEnd()
751 | }
752 |
753 | window.addEventListener('load', onPageLoaded )
754 |
755 | function getParameterByName(name, url) {
756 | if (!url) url = window.location.href;
757 | name = name.replace(/[\[\]]/g, '\\$&');
758 | const regex = new RegExp('[?&]' + name + '(=([^]*)|&|#|$)'),
759 | results = regex.exec(url);
760 | if (!results) return null;
761 | if (!results[2]) return '';
762 | return decodeURIComponent(results[2].replace(/\+/g, ' '));
763 | }
764 |
765 | Array.prototype.union = function(a)
766 | {
767 | var r = this.slice(0);
768 | a.forEach(function(i) { if (r.indexOf(i) < 0) r.push(i); });
769 | return r;
770 | };
771 | Array.prototype.intersection = function(a)
772 | {
773 | var r = [];
774 | var ref = this.slice(0);
775 | a.forEach(function(i) { if (ref.indexOf(i) >= 0) r.push(i); });
776 | return r;
777 | };
778 |
779 | const SE = { // (S)earch (E)ngine
780 | searchAndMark : function (node, finalRegex) {
781 | const htmlContent = (SF.singleLineMode)
782 | ? node.innerHTML
783 | : node.innerHTML.replace(/\n/gm, ' ')
784 | const searchFound = finalRegex.test(htmlContent)
785 | // reset after search:
786 | // REF: https://stackoverflow.com/questions/11477415/why-does-javascripts-regex-exec-not-always-return-the-same-value
787 | finalRegex.lastIndex = 0;
788 | node.setAttribute("textFound", searchFound?"true":"false")
789 | if (searchFound) {
790 | for (
791 | let nodeI = node.parentElement ;
792 | nodeI != null && nodeI != document.body ;
793 | nodeI = nodeI.parentElement ) {
794 | nodeI.setAttribute("textFound", "true")
795 | }
796 | NAV.visited.push(node)
797 | window.lastElementFound = node
798 | }
799 | return searchFound
800 | },
801 | executeSearch : function(query) {
802 | const unhideButton = document.getElementById("unhide");
803 | unhideButton.setAttribute("hidden","");
804 |
805 | if (typeof query != "string") query = "";
806 | if (!!query) { SF.regexQuery = query; }
807 | let finalQueryRegex = SF.regexQuery.replace(/ +/g,".*");
808 | SE.resetTextFoundAttr(false);
809 | const isEmptyQuery = /^\s*$/.test(finalQueryRegex)
810 |
811 | if (SF.fullWordMode) {
812 | finalQueryRegex = "\\b"+finalQueryRegex+"\\b"
813 | }
814 |
815 | if ((!LM.isAnyLabelSelected()) && isEmptyQuery) { return false; /* Nothing to do */ }
816 |
817 | [document.querySelectorAll('div[group]' ),
818 | document.querySelectorAll('div[groupv]')].forEach(nodeList => {
819 | nodeList.forEach(node => {
820 | node.setAttribute("textFound", "false")
821 | })
822 | })
823 | // If some label has been selected then choose only those with matching labels
824 | document.querySelectorAll('*[zoom]').forEach(node => {
825 | node.setAttribute("textFound", "false")
826 | })
827 | var innerZoom_l = []
828 | if (LM.isAnyLabelSelected()) {
829 | let label_l=Object.keys(LM.state.labelMapSelected)
830 | innerZoom_l = LM.getDomListForLabelPrefix(label_l[0]);
831 | for (let idx=0; idx;]?(" + finalQueryRegex + ")", regexFlags)
846 |
847 | var numberOfMatches = 0
848 |
849 | NAV.visited=[]
850 |
851 | var foundElement = false
852 | for (let idx2 in innerZoom_l) {
853 | const node = innerZoom_l[idx2]
854 | if (false/* true => change node background in debug mode */) {
855 | node.setAttribute("textFound", "debug")
856 | }
857 | if (node.innerHTML == null) continue
858 | if (!node.setAttribute ) continue
859 | if (SE.searchAndMark(node,finalRegex)) {
860 | numberOfMatches++
861 | foundElement = true
862 | }
863 | }
864 | if (numberOfMatches == 1) {
865 | ZW.doOpenZoom(lastElementFound);
866 | }
867 | let sMatchText = "no matches"
868 | if (numberOfMatches > 0) {
869 | sMatchText = numberOfMatches + " found"
870 | document.getElementById("searchForm").setAttribute("resultFound","true")
871 | SF.hideFormTimer = setTimeout(()=> { SF.hideSearchForm() }, 3000 ) // @ma
872 | setTimeout(()=>{
873 | document.getElementById("searchForm").removeAttribute("resultFound")
874 | } , 3500 ) // @ma
875 |
876 | }
877 | document.getElementById("matchNumber").innerHTML = sMatchText
878 | unhideButton.removeAttribute("hidden","");
879 | return false // avoid event propagation
880 | },
881 | resetTextFoundAttr : function(bKeepHighlightedSearch) {
882 | /*
883 | * bKeepHighlightedSearch = true: => Do not reset textFound== true attribute
884 | * (keep highlighted content in the context of the full page)
885 | * Just remove textFound=false to 'unhide' non-matching zoomable content
886 | * (textFound==false is assigned to display none in css)
887 | * bKeepHighlightedSearch = false => Reset all (remove any textFound attribute)
888 | */
889 | const removeNodeList = document.querySelectorAll('*[textFound]');
890 | if (removeNodeList.length == 0) return; // Nothing to do.
891 | for (let idx in removeNodeList) {
892 | if (!removeNodeList[idx].setAttribute) continue; // <- Umm: works fine at page-load, fails in following searchs
893 | if (bKeepHighlightedSearch && removeNodeList[idx].getAttribute("textFound") == "true") continue;
894 | removeNodeList[idx].removeAttribute("textFound");
895 | }
896 | }
897 | }
898 |
--------------------------------------------------------------------------------
/source-code-pro/EOT/SourceCodePro-Regular.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/earizon/IT_notes/470985e57e5c85b719ae0dab867c4df20044d2e4/source-code-pro/EOT/SourceCodePro-Regular.eot
--------------------------------------------------------------------------------
/source-code-pro/LICENSE.txt:
--------------------------------------------------------------------------------
1 | Copyright 2010, 2012 Adobe Systems Incorporated (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe Systems Incorporated in the United States and/or other countries.
2 |
3 | This Font Software is licensed under the SIL Open Font License, Version 1.1.
4 |
5 | This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL
6 |
7 |
8 | -----------------------------------------------------------
9 | SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
10 | -----------------------------------------------------------
11 |
12 | PREAMBLE
13 | The goals of the Open Font License (OFL) are to stimulate worldwide
14 | development of collaborative font projects, to support the font creation
15 | efforts of academic and linguistic communities, and to provide a free and
16 | open framework in which fonts may be shared and improved in partnership
17 | with others.
18 |
19 | The OFL allows the licensed fonts to be used, studied, modified and
20 | redistributed freely as long as they are not sold by themselves. The
21 | fonts, including any derivative works, can be bundled, embedded,
22 | redistributed and/or sold with any software provided that any reserved
23 | names are not used by derivative works. The fonts and derivatives,
24 | however, cannot be released under any other type of license. The
25 | requirement for fonts to remain under this license does not apply
26 | to any document created using the fonts or their derivatives.
27 |
28 | DEFINITIONS
29 | "Font Software" refers to the set of files released by the Copyright
30 | Holder(s) under this license and clearly marked as such. This may
31 | include source files, build scripts and documentation.
32 |
33 | "Reserved Font Name" refers to any names specified as such after the
34 | copyright statement(s).
35 |
36 | "Original Version" refers to the collection of Font Software components as
37 | distributed by the Copyright Holder(s).
38 |
39 | "Modified Version" refers to any derivative made by adding to, deleting,
40 | or substituting -- in part or in whole -- any of the components of the
41 | Original Version, by changing formats or by porting the Font Software to a
42 | new environment.
43 |
44 | "Author" refers to any designer, engineer, programmer, technical
45 | writer or other person who contributed to the Font Software.
46 |
47 | PERMISSION & CONDITIONS
48 | Permission is hereby granted, free of charge, to any person obtaining
49 | a copy of the Font Software, to use, study, copy, merge, embed, modify,
50 | redistribute, and sell modified and unmodified copies of the Font
51 | Software, subject to the following conditions:
52 |
53 | 1) Neither the Font Software nor any of its individual components,
54 | in Original or Modified Versions, may be sold by itself.
55 |
56 | 2) Original or Modified Versions of the Font Software may be bundled,
57 | redistributed and/or sold with any software, provided that each copy
58 | contains the above copyright notice and this license. These can be
59 | included either as stand-alone text files, human-readable headers or
60 | in the appropriate machine-readable metadata fields within text or
61 | binary files as long as those fields can be easily viewed by the user.
62 |
63 | 3) No Modified Version of the Font Software may use the Reserved Font
64 | Name(s) unless explicit written permission is granted by the corresponding
65 | Copyright Holder. This restriction only applies to the primary font name as
66 | presented to the users.
67 |
68 | 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
69 | Software shall not be used to promote, endorse or advertise any
70 | Modified Version, except to acknowledge the contribution(s) of the
71 | Copyright Holder(s) and the Author(s) or with their explicit written
72 | permission.
73 |
74 | 5) The Font Software, modified or unmodified, in part or in whole,
75 | must be distributed entirely under this license, and must not be
76 | distributed under any other license. The requirement for fonts to
77 | remain under this license does not apply to any document created
78 | using the Font Software.
79 |
80 | TERMINATION
81 | This license becomes null and void if any of the above conditions are
82 | not met.
83 |
84 | DISCLAIMER
85 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
86 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
87 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
88 | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
89 | COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
90 | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
91 | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
92 | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
93 | OTHER DEALINGS IN THE FONT SOFTWARE.
94 |
--------------------------------------------------------------------------------
/source-code-pro/OTF/SourceCodePro-Regular.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/earizon/IT_notes/470985e57e5c85b719ae0dab867c4df20044d2e4/source-code-pro/OTF/SourceCodePro-Regular.otf
--------------------------------------------------------------------------------
/source-code-pro/README.SPB.md:
--------------------------------------------------------------------------------
1 | Source: https://github.com/adobe-fonts/source-code-pro/
2 |
--------------------------------------------------------------------------------
/source-code-pro/README.md:
--------------------------------------------------------------------------------
1 | # Source Code Pro
2 |
3 | Source Code Pro is a set of OpenType fonts that have been designed to work well
4 | in user interface (UI) environments. In addition to a functional OpenType font, this open
5 | source project provides all of the source files that were used to build this OpenType font
6 | by using the AFDKO makeotf tool.
7 |
8 | ## Font installation instructions
9 |
10 | * [macOS](https://support.apple.com/en-us/HT201749)
11 | * [Windows](https://www.microsoft.com/en-us/Typography/TrueTypeInstall.aspx)
12 | * [Linux/Unix-based systems](https://github.com/adobe-fonts/source-code-pro/issues/17#issuecomment-8967116)
13 | * Bower
14 | `bower install git://github.com/adobe-fonts/source-code-pro.git#release`
15 | * npm 2.x
16 | `npm install --fetch-only git://github.com/adobe-fonts/source-code-pro.git#release`
17 | * npm 3.x
18 | `npm install git://github.com/adobe-fonts/source-code-pro.git#release`
19 |
20 | ## Getting Involved
21 |
22 | Send suggestions for changes to the Source Code OpenType font project maintainer, [Paul D. Hunt](mailto:opensourcefonts@adobe.com?subject=[GitHub]%20Source%20Code%20Pro), for consideration.
23 |
24 | ## Further information
25 |
26 | For information about the design and background of Source Code, please refer to the [official font readme file](https://www.adobe.com/products/type/font-information/source-code-pro-readme-file.html).
27 |
--------------------------------------------------------------------------------
/source-code-pro/TTF/SourceCodePro-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/earizon/IT_notes/470985e57e5c85b719ae0dab867c4df20044d2e4/source-code-pro/TTF/SourceCodePro-Regular.ttf
--------------------------------------------------------------------------------
/source-code-pro/WOFF/OTF/SourceCodePro-Regular.otf.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/earizon/IT_notes/470985e57e5c85b719ae0dab867c4df20044d2e4/source-code-pro/WOFF/OTF/SourceCodePro-Regular.otf.woff
--------------------------------------------------------------------------------
/source-code-pro/WOFF/TTF/SourceCodePro-Regular.ttf.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/earizon/IT_notes/470985e57e5c85b719ae0dab867c4df20044d2e4/source-code-pro/WOFF/TTF/SourceCodePro-Regular.ttf.woff
--------------------------------------------------------------------------------
/source-code-pro/WOFF2/OTF/SourceCodePro-Regular.otf.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/earizon/IT_notes/470985e57e5c85b719ae0dab867c4df20044d2e4/source-code-pro/WOFF2/OTF/SourceCodePro-Regular.otf.woff2
--------------------------------------------------------------------------------
/source-code-pro/WOFF2/TTF/SourceCodePro-Regular.ttf.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/earizon/IT_notes/470985e57e5c85b719ae0dab867c4df20044d2e4/source-code-pro/WOFF2/TTF/SourceCodePro-Regular.ttf.woff2
--------------------------------------------------------------------------------
/source-code-pro/bower.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "source-code-pro",
3 | "version": "1.017",
4 | "main": "source-code-pro.css",
5 | "homepage": "https://github.com/adobe-fonts/source-code-pro",
6 | "repository": {
7 | "type": "git",
8 | "url": "https://github.com/adobe-fonts/source-code-pro.git"
9 | },
10 | "authors": [
11 | { "name": "Paul D. Hunt" }
12 | ],
13 | "description": "Source Code Pro font family by Adobe",
14 | "license": "SIL OFL 1.1"
15 | }
16 |
--------------------------------------------------------------------------------
/source-code-pro/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "source-code-pro",
3 | "version": "2.30.1",
4 | "description": "Source Code Pro is a set of OpenType fonts that have been designed to work well in user interface (UI) environments.",
5 | "keywords": [
6 | "font",
7 | "sans-serif",
8 | "monospace",
9 | "Adobe",
10 | "OpenType",
11 | "otf",
12 | "ttf",
13 | "woff",
14 | "woff2",
15 | "eot"
16 | ],
17 | "homepage": "https://adobe-fonts.github.io/source-code-pro",
18 | "bugs": {
19 | "url": "https://github.com/adobe-fonts/source-code-pro/issues"
20 | },
21 | "license": "OFL-1.1",
22 | "author": {
23 | "name": "Paul D. Hunt"
24 | },
25 | "contributors": [
26 | {
27 | "name": "Teo Tuominen"
28 | },
29 | {
30 | "name": "Frank Grießhammer"
31 | },
32 | {
33 | "name": "Miguel Sousa"
34 | }
35 | ],
36 | "repository": {
37 | "type": "git",
38 | "url": "git+https://github.com/adobe-fonts/source-code-pro.git#release"
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/source-code-pro/source-code-pro.css:
--------------------------------------------------------------------------------
1 | @font-face{
2 | font-family: 'Source Code Pro';
3 | font-weight: 400;
4 | font-style: normal;
5 | font-stretch: normal;
6 | src: url('./EOT/SourceCodePro-Regular.eot') format('embedded-opentype'),
7 | url('./WOFF2/TTF/SourceCodePro-Regular.ttf.woff2') format('woff2'),
8 | url('./WOFF/OTF/SourceCodePro-Regular.otf.woff') format('woff'),
9 | url('./OTF/SourceCodePro-Regular.otf') format('opentype'),
10 | url('./TTF/SourceCodePro-Regular.ttf') format('truetype');
11 | }
12 |
--------------------------------------------------------------------------------
/testing/manual_testing.txt:
--------------------------------------------------------------------------------
1 | Open demo.html:
2 |
3 | (in parallel check that no exceptions are raised in JS console)
4 |
5 | - Test on firefox / Google Chrome
6 |
7 | - Check search by regex.
8 | - It must open the cell when just one cell found
9 |
10 | - Check search by id.
11 | http://127.0.0.1:8001/IT_notes/WebTechnologies/map.html#angular_summary
12 | - It must open the cell
13 |
14 | - The button "see all" must appear.
15 |
16 | - Check bookmarks with filters work:
17 | - http://127.0.0.1:8001/IT_notes/JAVA/java_map.html?topics=async/reactive
18 | - http://127.0.0.1:8001/IT_notes/JAVA/java_map.html?topics=async/reactive&query=vert.x
19 |
20 | - Open Math and check that it works
21 | (by default css room '#zoomDiv [zoom]' hides