mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Edit Book: Add in-context help for HTML and CSS
Now, you can right click on any HTML/OPF/NCX tag name or CSS property and the editor will open some help for that item in your browser.
This commit is contained in:
parent
d78c2b1b57
commit
c5e05cdb2e
340
resources/editor-help/css.json
Normal file
340
resources/editor-help/css.json
Normal file
@ -0,0 +1,340 @@
|
|||||||
|
{
|
||||||
|
"::after": "https://developer.mozilla.org/docs/Web/CSS/::after",
|
||||||
|
"::before": "https://developer.mozilla.org/docs/Web/CSS/::before",
|
||||||
|
"::choices": "https://developer.mozilla.org/docs/Web/CSS/::choices",
|
||||||
|
"::first-letter": "https://developer.mozilla.org/docs/Web/CSS/::first-letter",
|
||||||
|
"::first-line": "https://developer.mozilla.org/docs/Web/CSS/::first-line",
|
||||||
|
"::repeat-index": "https://developer.mozilla.org/docs/Web/CSS/::repeat-index",
|
||||||
|
"::repeat-item": "https://developer.mozilla.org/docs/Web/CSS/::repeat-item",
|
||||||
|
"::selection": "https://developer.mozilla.org/docs/Web/CSS/::selection",
|
||||||
|
"::value": "https://developer.mozilla.org/docs/Web/CSS/::value",
|
||||||
|
":active": "https://developer.mozilla.org/docs/Web/CSS/:active",
|
||||||
|
":checked": "https://developer.mozilla.org/docs/Web/CSS/:checked",
|
||||||
|
":default": "https://developer.mozilla.org/docs/Web/CSS/:default",
|
||||||
|
":dir": "https://developer.mozilla.org/docs/Web/CSS/:dir",
|
||||||
|
":disabled": "https://developer.mozilla.org/docs/Web/CSS/:disabled",
|
||||||
|
":empty": "https://developer.mozilla.org/docs/Web/CSS/:empty",
|
||||||
|
":enabled": "https://developer.mozilla.org/docs/Web/CSS/:enabled",
|
||||||
|
":first": "https://developer.mozilla.org/docs/Web/CSS/:first",
|
||||||
|
":first-child": "https://developer.mozilla.org/docs/Web/CSS/:first-child",
|
||||||
|
":first-of-type": "https://developer.mozilla.org/docs/Web/CSS/:first-of-type",
|
||||||
|
":focus": "https://developer.mozilla.org/docs/Web/CSS/:focus",
|
||||||
|
":fullscreen": "https://developer.mozilla.org/docs/Web/CSS/:fullscreen",
|
||||||
|
":hover": "https://developer.mozilla.org/docs/Web/CSS/:hover",
|
||||||
|
":in-range": "https://developer.mozilla.org/docs/Web/CSS/:in-range",
|
||||||
|
":indeterminate": "https://developer.mozilla.org/docs/Web/CSS/:indeterminate",
|
||||||
|
":invalid": "https://developer.mozilla.org/docs/Web/CSS/:invalid",
|
||||||
|
":lang": "https://developer.mozilla.org/docs/Web/CSS/:lang",
|
||||||
|
":last-child": "https://developer.mozilla.org/docs/Web/CSS/:last-child",
|
||||||
|
":last-of-type": "https://developer.mozilla.org/docs/Web/CSS/:last-of-type",
|
||||||
|
":left": "https://developer.mozilla.org/docs/Web/CSS/:left",
|
||||||
|
":link": "https://developer.mozilla.org/docs/Web/CSS/:link",
|
||||||
|
":not": "https://developer.mozilla.org/docs/Web/CSS/:not",
|
||||||
|
":nth-child": "https://developer.mozilla.org/docs/Web/CSS/:nth-child",
|
||||||
|
":nth-last-child": "https://developer.mozilla.org/docs/Web/CSS/:nth-last-child",
|
||||||
|
":nth-last-of-type": "https://developer.mozilla.org/docs/Web/CSS/:nth-last-of-type",
|
||||||
|
":nth-of-type": "https://developer.mozilla.org/docs/Web/CSS/:nth-of-type",
|
||||||
|
":only-child": "https://developer.mozilla.org/docs/Web/CSS/:only-child",
|
||||||
|
":only-of-type": "https://developer.mozilla.org/docs/Web/CSS/:only-of-type",
|
||||||
|
":optional": "https://developer.mozilla.org/docs/Web/CSS/:optional",
|
||||||
|
":out-of-range": "https://developer.mozilla.org/docs/Web/CSS/:out-of-range",
|
||||||
|
":read-only": "https://developer.mozilla.org/docs/Web/CSS/:read-only",
|
||||||
|
":read-write": "https://developer.mozilla.org/docs/Web/CSS/:read-write",
|
||||||
|
":required": "https://developer.mozilla.org/docs/Web/CSS/:required",
|
||||||
|
":right": "https://developer.mozilla.org/docs/Web/CSS/:right",
|
||||||
|
":root": "https://developer.mozilla.org/docs/Web/CSS/:root",
|
||||||
|
":scope": "https://developer.mozilla.org/docs/Web/CSS/:scope",
|
||||||
|
":target": "https://developer.mozilla.org/docs/Web/CSS/:target",
|
||||||
|
":valid": "https://developer.mozilla.org/docs/Web/CSS/:valid",
|
||||||
|
":visited": "https://developer.mozilla.org/docs/Web/CSS/:visited",
|
||||||
|
"<basic-shape>": "https://developer.mozilla.org/docs/Web/CSS/<basic-shape>",
|
||||||
|
"@charset": "https://developer.mozilla.org/docs/Web/CSS/@charset",
|
||||||
|
"@counter-style": "https://developer.mozilla.org/docs/Web/CSS/@counter-style",
|
||||||
|
"@document": "https://developer.mozilla.org/docs/Web/CSS/@document",
|
||||||
|
"@font-face": "https://developer.mozilla.org/docs/Web/CSS/@font-face",
|
||||||
|
"@font-feature-values": "https://developer.mozilla.org/docs/Web/CSS/@font-feature-values",
|
||||||
|
"@import": "https://developer.mozilla.org/docs/Web/CSS/@import",
|
||||||
|
"@keyframes": "https://developer.mozilla.org/docs/Web/CSS/@keyframes",
|
||||||
|
"@media": "https://developer.mozilla.org/docs/Web/CSS/@media",
|
||||||
|
"@namespace": "https://developer.mozilla.org/docs/Web/CSS/@namespace",
|
||||||
|
"@page": "https://developer.mozilla.org/docs/Web/CSS/@page",
|
||||||
|
"@supports": "https://developer.mozilla.org/docs/Web/CSS/@supports",
|
||||||
|
"@viewport": "https://developer.mozilla.org/docs/Web/CSS/@viewport",
|
||||||
|
"align-content": "https://developer.mozilla.org/docs/Web/CSS/align-content",
|
||||||
|
"align-items": "https://developer.mozilla.org/docs/Web/CSS/align-items",
|
||||||
|
"align-self": "https://developer.mozilla.org/docs/Web/CSS/align-self",
|
||||||
|
"all": "https://developer.mozilla.org/docs/Web/CSS/all",
|
||||||
|
"angle": "https://developer.mozilla.org/docs/Web/CSS/angle",
|
||||||
|
"animation": "https://developer.mozilla.org/docs/Web/CSS/animation",
|
||||||
|
"animation-delay": "https://developer.mozilla.org/docs/Web/CSS/animation-delay",
|
||||||
|
"animation-direction": "https://developer.mozilla.org/docs/Web/CSS/animation-direction",
|
||||||
|
"animation-duration": "https://developer.mozilla.org/docs/Web/CSS/animation-duration",
|
||||||
|
"animation-fill-mode": "https://developer.mozilla.org/docs/Web/CSS/animation-fill-mode",
|
||||||
|
"animation-iteration-count": "https://developer.mozilla.org/docs/Web/CSS/animation-iteration-count",
|
||||||
|
"animation-name": "https://developer.mozilla.org/docs/Web/CSS/animation-name",
|
||||||
|
"animation-play-state": "https://developer.mozilla.org/docs/Web/CSS/animation-play-state",
|
||||||
|
"animation-timing-function": "https://developer.mozilla.org/docs/Web/CSS/animation-timing-function",
|
||||||
|
"attr": "https://developer.mozilla.org/docs/Web/CSS/attr",
|
||||||
|
"auto": "https://developer.mozilla.org/docs/Web/CSS/auto",
|
||||||
|
"backface-visibility": "https://developer.mozilla.org/docs/Web/CSS/backface-visibility",
|
||||||
|
"background": "https://developer.mozilla.org/docs/Web/CSS/background",
|
||||||
|
"background-attachment": "https://developer.mozilla.org/docs/Web/CSS/background-attachment",
|
||||||
|
"background-blend-mode": "https://developer.mozilla.org/docs/Web/CSS/background-blend-mode",
|
||||||
|
"background-clip": "https://developer.mozilla.org/docs/Web/CSS/background-clip",
|
||||||
|
"background-color": "https://developer.mozilla.org/docs/Web/CSS/background-color",
|
||||||
|
"background-image": "https://developer.mozilla.org/docs/Web/CSS/background-image",
|
||||||
|
"background-origin": "https://developer.mozilla.org/docs/Web/CSS/background-origin",
|
||||||
|
"background-position": "https://developer.mozilla.org/docs/Web/CSS/background-position",
|
||||||
|
"background-repeat": "https://developer.mozilla.org/docs/Web/CSS/background-repeat",
|
||||||
|
"background-size": "https://developer.mozilla.org/docs/Web/CSS/background-size",
|
||||||
|
"blend-mode": "https://developer.mozilla.org/docs/Web/CSS/blend-mode",
|
||||||
|
"border": "https://developer.mozilla.org/docs/Web/CSS/border",
|
||||||
|
"border-bottom": "https://developer.mozilla.org/docs/Web/CSS/border-bottom",
|
||||||
|
"border-bottom-color": "https://developer.mozilla.org/docs/Web/CSS/border-bottom-color",
|
||||||
|
"border-bottom-left-radius": "https://developer.mozilla.org/docs/Web/CSS/border-bottom-left-radius",
|
||||||
|
"border-bottom-right-radius": "https://developer.mozilla.org/docs/Web/CSS/border-bottom-right-radius",
|
||||||
|
"border-bottom-style": "https://developer.mozilla.org/docs/Web/CSS/border-bottom-style",
|
||||||
|
"border-bottom-width": "https://developer.mozilla.org/docs/Web/CSS/border-bottom-width",
|
||||||
|
"border-collapse": "https://developer.mozilla.org/docs/Web/CSS/border-collapse",
|
||||||
|
"border-color": "https://developer.mozilla.org/docs/Web/CSS/border-color",
|
||||||
|
"border-image": "https://developer.mozilla.org/docs/Web/CSS/border-image",
|
||||||
|
"border-image-outset": "https://developer.mozilla.org/docs/Web/CSS/border-image-outset",
|
||||||
|
"border-image-repeat": "https://developer.mozilla.org/docs/Web/CSS/border-image-repeat",
|
||||||
|
"border-image-slice": "https://developer.mozilla.org/docs/Web/CSS/border-image-slice",
|
||||||
|
"border-image-source": "https://developer.mozilla.org/docs/Web/CSS/border-image-source",
|
||||||
|
"border-image-width": "https://developer.mozilla.org/docs/Web/CSS/border-image-width",
|
||||||
|
"border-left": "https://developer.mozilla.org/docs/Web/CSS/border-left",
|
||||||
|
"border-left-color": "https://developer.mozilla.org/docs/Web/CSS/border-left-color",
|
||||||
|
"border-left-style": "https://developer.mozilla.org/docs/Web/CSS/border-left-style",
|
||||||
|
"border-left-width": "https://developer.mozilla.org/docs/Web/CSS/border-left-width",
|
||||||
|
"border-radius": "https://developer.mozilla.org/docs/Web/CSS/border-radius",
|
||||||
|
"border-right": "https://developer.mozilla.org/docs/Web/CSS/border-right",
|
||||||
|
"border-right-color": "https://developer.mozilla.org/docs/Web/CSS/border-right-color",
|
||||||
|
"border-right-style": "https://developer.mozilla.org/docs/Web/CSS/border-right-style",
|
||||||
|
"border-right-width": "https://developer.mozilla.org/docs/Web/CSS/border-right-width",
|
||||||
|
"border-spacing": "https://developer.mozilla.org/docs/Web/CSS/border-spacing",
|
||||||
|
"border-style": "https://developer.mozilla.org/docs/Web/CSS/border-style",
|
||||||
|
"border-top": "https://developer.mozilla.org/docs/Web/CSS/border-top",
|
||||||
|
"border-top-color": "https://developer.mozilla.org/docs/Web/CSS/border-top-color",
|
||||||
|
"border-top-left-radius": "https://developer.mozilla.org/docs/Web/CSS/border-top-left-radius",
|
||||||
|
"border-top-right-radius": "https://developer.mozilla.org/docs/Web/CSS/border-top-right-radius",
|
||||||
|
"border-top-style": "https://developer.mozilla.org/docs/Web/CSS/border-top-style",
|
||||||
|
"border-top-width": "https://developer.mozilla.org/docs/Web/CSS/border-top-width",
|
||||||
|
"border-width": "https://developer.mozilla.org/docs/Web/CSS/border-width",
|
||||||
|
"bottom": "https://developer.mozilla.org/docs/Web/CSS/bottom",
|
||||||
|
"box-decoration-break": "https://developer.mozilla.org/docs/Web/CSS/box-decoration-break",
|
||||||
|
"box-shadow": "https://developer.mozilla.org/docs/Web/CSS/box-shadow",
|
||||||
|
"box-sizing": "https://developer.mozilla.org/docs/Web/CSS/box-sizing",
|
||||||
|
"break-after": "https://developer.mozilla.org/docs/Web/CSS/break-after",
|
||||||
|
"break-before": "https://developer.mozilla.org/docs/Web/CSS/break-before",
|
||||||
|
"break-inside": "https://developer.mozilla.org/docs/Web/CSS/break-inside",
|
||||||
|
"calc": "https://developer.mozilla.org/docs/Web/CSS/calc",
|
||||||
|
"caption-side": "https://developer.mozilla.org/docs/Web/CSS/caption-side",
|
||||||
|
"clear": "https://developer.mozilla.org/docs/Web/CSS/clear",
|
||||||
|
"clip": "https://developer.mozilla.org/docs/Web/CSS/clip",
|
||||||
|
"clip-path": "https://developer.mozilla.org/docs/Web/CSS/clip-path",
|
||||||
|
"color": "https://developer.mozilla.org/docs/Web/CSS/color",
|
||||||
|
"color_value": "https://developer.mozilla.org/docs/Web/CSS/color_value",
|
||||||
|
"column-count": "https://developer.mozilla.org/docs/Web/CSS/column-count",
|
||||||
|
"column-fill": "https://developer.mozilla.org/docs/Web/CSS/column-fill",
|
||||||
|
"column-gap": "https://developer.mozilla.org/docs/Web/CSS/column-gap",
|
||||||
|
"column-rule": "https://developer.mozilla.org/docs/Web/CSS/column-rule",
|
||||||
|
"column-rule-color": "https://developer.mozilla.org/docs/Web/CSS/column-rule-color",
|
||||||
|
"column-rule-style": "https://developer.mozilla.org/docs/Web/CSS/column-rule-style",
|
||||||
|
"column-rule-width": "https://developer.mozilla.org/docs/Web/CSS/column-rule-width",
|
||||||
|
"column-span": "https://developer.mozilla.org/docs/Web/CSS/column-span",
|
||||||
|
"column-width": "https://developer.mozilla.org/docs/Web/CSS/column-width",
|
||||||
|
"columns": "https://developer.mozilla.org/docs/Web/CSS/columns",
|
||||||
|
"content": "https://developer.mozilla.org/docs/Web/CSS/content",
|
||||||
|
"counter": "https://developer.mozilla.org/docs/Web/CSS/counter",
|
||||||
|
"counter-increment": "https://developer.mozilla.org/docs/Web/CSS/counter-increment",
|
||||||
|
"counter-reset": "https://developer.mozilla.org/docs/Web/CSS/counter-reset",
|
||||||
|
"cross-fade": "https://developer.mozilla.org/docs/Web/CSS/cross-fade",
|
||||||
|
"cursor": "https://developer.mozilla.org/docs/Web/CSS/cursor",
|
||||||
|
"custom-ident": "https://developer.mozilla.org/docs/Web/CSS/custom-ident",
|
||||||
|
"cycle": "https://developer.mozilla.org/docs/Web/CSS/cycle",
|
||||||
|
"direction": "https://developer.mozilla.org/docs/Web/CSS/direction",
|
||||||
|
"display": "https://developer.mozilla.org/docs/Web/CSS/display",
|
||||||
|
"element": "https://developer.mozilla.org/docs/Web/CSS/element",
|
||||||
|
"empty-cells": "https://developer.mozilla.org/docs/Web/CSS/empty-cells",
|
||||||
|
"filter": "https://developer.mozilla.org/docs/Web/CSS/filter",
|
||||||
|
"flex": "https://developer.mozilla.org/docs/Web/CSS/flex",
|
||||||
|
"flex-basis": "https://developer.mozilla.org/docs/Web/CSS/flex-basis",
|
||||||
|
"flex-direction": "https://developer.mozilla.org/docs/Web/CSS/flex-direction",
|
||||||
|
"flex-flow": "https://developer.mozilla.org/docs/Web/CSS/flex-flow",
|
||||||
|
"flex-grow": "https://developer.mozilla.org/docs/Web/CSS/flex-grow",
|
||||||
|
"flex-shrink": "https://developer.mozilla.org/docs/Web/CSS/flex-shrink",
|
||||||
|
"flex-wrap": "https://developer.mozilla.org/docs/Web/CSS/flex-wrap",
|
||||||
|
"float": "https://developer.mozilla.org/docs/Web/CSS/float",
|
||||||
|
"font": "https://developer.mozilla.org/docs/Web/CSS/font",
|
||||||
|
"font-family": "https://developer.mozilla.org/docs/Web/CSS/font-family",
|
||||||
|
"font-feature-settings": "https://developer.mozilla.org/docs/Web/CSS/font-feature-settings",
|
||||||
|
"font-kerning": "https://developer.mozilla.org/docs/Web/CSS/font-kerning",
|
||||||
|
"font-language-override": "https://developer.mozilla.org/docs/Web/CSS/font-language-override",
|
||||||
|
"font-size": "https://developer.mozilla.org/docs/Web/CSS/font-size",
|
||||||
|
"font-size-adjust": "https://developer.mozilla.org/docs/Web/CSS/font-size-adjust",
|
||||||
|
"font-stretch": "https://developer.mozilla.org/docs/Web/CSS/font-stretch",
|
||||||
|
"font-style": "https://developer.mozilla.org/docs/Web/CSS/font-style",
|
||||||
|
"font-synthesis": "https://developer.mozilla.org/docs/Web/CSS/font-synthesis",
|
||||||
|
"font-variant": "https://developer.mozilla.org/docs/Web/CSS/font-variant",
|
||||||
|
"font-variant-alternates": "https://developer.mozilla.org/docs/Web/CSS/font-variant-alternates",
|
||||||
|
"font-variant-caps": "https://developer.mozilla.org/docs/Web/CSS/font-variant-caps",
|
||||||
|
"font-variant-east-asian": "https://developer.mozilla.org/docs/Web/CSS/font-variant-east-asian",
|
||||||
|
"font-variant-ligatures": "https://developer.mozilla.org/docs/Web/CSS/font-variant-ligatures",
|
||||||
|
"font-variant-numeric": "https://developer.mozilla.org/docs/Web/CSS/font-variant-numeric",
|
||||||
|
"font-variant-position": "https://developer.mozilla.org/docs/Web/CSS/font-variant-position",
|
||||||
|
"font-weight": "https://developer.mozilla.org/docs/Web/CSS/font-weight",
|
||||||
|
"frequency": "https://developer.mozilla.org/docs/Web/CSS/frequency",
|
||||||
|
"gradient": "https://developer.mozilla.org/docs/Web/CSS/gradient",
|
||||||
|
"grid": "https://developer.mozilla.org/docs/Web/CSS/grid",
|
||||||
|
"grid-area": "https://developer.mozilla.org/docs/Web/CSS/grid-area",
|
||||||
|
"grid-auto-columns": "https://developer.mozilla.org/docs/Web/CSS/grid-auto-columns",
|
||||||
|
"grid-auto-flow": "https://developer.mozilla.org/docs/Web/CSS/grid-auto-flow",
|
||||||
|
"grid-auto-position": "https://developer.mozilla.org/docs/Web/CSS/grid-auto-position",
|
||||||
|
"grid-auto-rows": "https://developer.mozilla.org/docs/Web/CSS/grid-auto-rows",
|
||||||
|
"grid-column": "https://developer.mozilla.org/docs/Web/CSS/grid-column",
|
||||||
|
"grid-column-end": "https://developer.mozilla.org/docs/Web/CSS/grid-column-end",
|
||||||
|
"grid-column-start": "https://developer.mozilla.org/docs/Web/CSS/grid-column-start",
|
||||||
|
"grid-row": "https://developer.mozilla.org/docs/Web/CSS/grid-row",
|
||||||
|
"grid-row-end": "https://developer.mozilla.org/docs/Web/CSS/grid-row-end",
|
||||||
|
"grid-row-start": "https://developer.mozilla.org/docs/Web/CSS/grid-row-start",
|
||||||
|
"grid-template": "https://developer.mozilla.org/docs/Web/CSS/grid-template",
|
||||||
|
"grid-template-areas": "https://developer.mozilla.org/docs/Web/CSS/grid-template-areas",
|
||||||
|
"grid-template-columns": "https://developer.mozilla.org/docs/Web/CSS/grid-template-columns",
|
||||||
|
"grid-template-rows": "https://developer.mozilla.org/docs/Web/CSS/grid-template-rows",
|
||||||
|
"height": "https://developer.mozilla.org/docs/Web/CSS/height",
|
||||||
|
"hyphens": "https://developer.mozilla.org/docs/Web/CSS/hyphens",
|
||||||
|
"icon": "https://developer.mozilla.org/docs/Web/CSS/icon",
|
||||||
|
"image": "https://developer.mozilla.org/docs/Web/CSS/image",
|
||||||
|
"image()": "https://developer.mozilla.org/docs/Web/CSS/image()",
|
||||||
|
"image-orientation": "https://developer.mozilla.org/docs/Web/CSS/image-orientation",
|
||||||
|
"image-rendering": "https://developer.mozilla.org/docs/Web/CSS/image-rendering",
|
||||||
|
"image-resolution": "https://developer.mozilla.org/docs/Web/CSS/image-resolution",
|
||||||
|
"ime-mode": "https://developer.mozilla.org/docs/Web/CSS/ime-mode",
|
||||||
|
"inherit": "https://developer.mozilla.org/docs/Web/CSS/inherit",
|
||||||
|
"initial": "https://developer.mozilla.org/docs/Web/CSS/initial",
|
||||||
|
"integer": "https://developer.mozilla.org/docs/Web/CSS/integer",
|
||||||
|
"isolation": "https://developer.mozilla.org/docs/Web/CSS/isolation",
|
||||||
|
"justify-content": "https://developer.mozilla.org/docs/Web/CSS/justify-content",
|
||||||
|
"left": "https://developer.mozilla.org/docs/Web/CSS/left",
|
||||||
|
"length": "https://developer.mozilla.org/docs/Web/CSS/length",
|
||||||
|
"letter-spacing": "https://developer.mozilla.org/docs/Web/CSS/letter-spacing",
|
||||||
|
"line-break": "https://developer.mozilla.org/docs/Web/CSS/line-break",
|
||||||
|
"line-height": "https://developer.mozilla.org/docs/Web/CSS/line-height",
|
||||||
|
"linear-gradient": "https://developer.mozilla.org/docs/Web/CSS/linear-gradient",
|
||||||
|
"list-style": "https://developer.mozilla.org/docs/Web/CSS/list-style",
|
||||||
|
"list-style-image": "https://developer.mozilla.org/docs/Web/CSS/list-style-image",
|
||||||
|
"list-style-position": "https://developer.mozilla.org/docs/Web/CSS/list-style-position",
|
||||||
|
"list-style-type": "https://developer.mozilla.org/docs/Web/CSS/list-style-type",
|
||||||
|
"margin": "https://developer.mozilla.org/docs/Web/CSS/margin",
|
||||||
|
"margin-bottom": "https://developer.mozilla.org/docs/Web/CSS/margin-bottom",
|
||||||
|
"margin-left": "https://developer.mozilla.org/docs/Web/CSS/margin-left",
|
||||||
|
"margin-right": "https://developer.mozilla.org/docs/Web/CSS/margin-right",
|
||||||
|
"margin-top": "https://developer.mozilla.org/docs/Web/CSS/margin-top",
|
||||||
|
"marks": "https://developer.mozilla.org/docs/Web/CSS/marks",
|
||||||
|
"mask": "https://developer.mozilla.org/docs/Web/CSS/mask",
|
||||||
|
"mask-type": "https://developer.mozilla.org/docs/Web/CSS/mask-type",
|
||||||
|
"max-height": "https://developer.mozilla.org/docs/Web/CSS/max-height",
|
||||||
|
"max-width": "https://developer.mozilla.org/docs/Web/CSS/max-width",
|
||||||
|
"min-height": "https://developer.mozilla.org/docs/Web/CSS/min-height",
|
||||||
|
"min-width": "https://developer.mozilla.org/docs/Web/CSS/min-width",
|
||||||
|
"minmax": "https://developer.mozilla.org/docs/Web/CSS/minmax",
|
||||||
|
"mix-blend-mode": "https://developer.mozilla.org/docs/Web/CSS/mix-blend-mode",
|
||||||
|
"nav-down": "https://developer.mozilla.org/docs/Web/CSS/nav-down",
|
||||||
|
"nav-index": "https://developer.mozilla.org/docs/Web/CSS/nav-index",
|
||||||
|
"nav-left": "https://developer.mozilla.org/docs/Web/CSS/nav-left",
|
||||||
|
"nav-right": "https://developer.mozilla.org/docs/Web/CSS/nav-right",
|
||||||
|
"nav-up": "https://developer.mozilla.org/docs/Web/CSS/nav-up",
|
||||||
|
"none": "https://developer.mozilla.org/docs/Web/CSS/none",
|
||||||
|
"normal": "https://developer.mozilla.org/docs/Web/CSS/normal",
|
||||||
|
"number": "https://developer.mozilla.org/docs/Web/CSS/number",
|
||||||
|
"object-fit": "https://developer.mozilla.org/docs/Web/CSS/object-fit",
|
||||||
|
"object-position": "https://developer.mozilla.org/docs/Web/CSS/object-position",
|
||||||
|
"opacity": "https://developer.mozilla.org/docs/Web/CSS/opacity",
|
||||||
|
"order": "https://developer.mozilla.org/docs/Web/CSS/order",
|
||||||
|
"orphans": "https://developer.mozilla.org/docs/Web/CSS/orphans",
|
||||||
|
"outline": "https://developer.mozilla.org/docs/Web/CSS/outline",
|
||||||
|
"outline-color": "https://developer.mozilla.org/docs/Web/CSS/outline-color",
|
||||||
|
"outline-offset": "https://developer.mozilla.org/docs/Web/CSS/outline-offset",
|
||||||
|
"outline-style": "https://developer.mozilla.org/docs/Web/CSS/outline-style",
|
||||||
|
"outline-width": "https://developer.mozilla.org/docs/Web/CSS/outline-width",
|
||||||
|
"overflow": "https://developer.mozilla.org/docs/Web/CSS/overflow",
|
||||||
|
"overflow-clip-box": "https://developer.mozilla.org/docs/Web/CSS/overflow-clip-box",
|
||||||
|
"overflow-wrap": "https://developer.mozilla.org/docs/Web/CSS/overflow-wrap",
|
||||||
|
"overflow-x": "https://developer.mozilla.org/docs/Web/CSS/overflow-x",
|
||||||
|
"overflow-y": "https://developer.mozilla.org/docs/Web/CSS/overflow-y",
|
||||||
|
"padding": "https://developer.mozilla.org/docs/Web/CSS/padding",
|
||||||
|
"padding-bottom": "https://developer.mozilla.org/docs/Web/CSS/padding-bottom",
|
||||||
|
"padding-left": "https://developer.mozilla.org/docs/Web/CSS/padding-left",
|
||||||
|
"padding-right": "https://developer.mozilla.org/docs/Web/CSS/padding-right",
|
||||||
|
"padding-top": "https://developer.mozilla.org/docs/Web/CSS/padding-top",
|
||||||
|
"page-break-after": "https://developer.mozilla.org/docs/Web/CSS/page-break-after",
|
||||||
|
"page-break-before": "https://developer.mozilla.org/docs/Web/CSS/page-break-before",
|
||||||
|
"page-break-inside": "https://developer.mozilla.org/docs/Web/CSS/page-break-inside",
|
||||||
|
"percentage": "https://developer.mozilla.org/docs/Web/CSS/percentage",
|
||||||
|
"perspective": "https://developer.mozilla.org/docs/Web/CSS/perspective",
|
||||||
|
"perspective-origin": "https://developer.mozilla.org/docs/Web/CSS/perspective-origin",
|
||||||
|
"pointer-events": "https://developer.mozilla.org/docs/Web/CSS/pointer-events",
|
||||||
|
"position": "https://developer.mozilla.org/docs/Web/CSS/position",
|
||||||
|
"position_value": "https://developer.mozilla.org/docs/Web/CSS/position_value",
|
||||||
|
"quotes": "https://developer.mozilla.org/docs/Web/CSS/quotes",
|
||||||
|
"radial-gradient": "https://developer.mozilla.org/docs/Web/CSS/radial-gradient",
|
||||||
|
"ratio": "https://developer.mozilla.org/docs/Web/CSS/ratio",
|
||||||
|
"repeat": "https://developer.mozilla.org/docs/Web/CSS/repeat",
|
||||||
|
"repeating-linear-gradient": "https://developer.mozilla.org/docs/Web/CSS/repeating-linear-gradient",
|
||||||
|
"repeating-radial-gradient": "https://developer.mozilla.org/docs/Web/CSS/repeating-radial-gradient",
|
||||||
|
"resize": "https://developer.mozilla.org/docs/Web/CSS/resize",
|
||||||
|
"resolution": "https://developer.mozilla.org/docs/Web/CSS/resolution",
|
||||||
|
"right": "https://developer.mozilla.org/docs/Web/CSS/right",
|
||||||
|
"shape": "https://developer.mozilla.org/docs/Web/CSS/shape",
|
||||||
|
"shape-image-threshold": "https://developer.mozilla.org/docs/Web/CSS/shape-image-threshold",
|
||||||
|
"shape-margin": "https://developer.mozilla.org/docs/Web/CSS/shape-margin",
|
||||||
|
"shape-outside": "https://developer.mozilla.org/docs/Web/CSS/shape-outside",
|
||||||
|
"string": "https://developer.mozilla.org/docs/Web/CSS/string",
|
||||||
|
"tab-size": "https://developer.mozilla.org/docs/Web/CSS/tab-size",
|
||||||
|
"table-layout": "https://developer.mozilla.org/docs/Web/CSS/table-layout",
|
||||||
|
"text-align": "https://developer.mozilla.org/docs/Web/CSS/text-align",
|
||||||
|
"text-align-last": "https://developer.mozilla.org/docs/Web/CSS/text-align-last",
|
||||||
|
"text-combine-horizontal": "https://developer.mozilla.org/docs/Web/CSS/text-combine-horizontal",
|
||||||
|
"text-decoration": "https://developer.mozilla.org/docs/Web/CSS/text-decoration",
|
||||||
|
"text-decoration-color": "https://developer.mozilla.org/docs/Web/CSS/text-decoration-color",
|
||||||
|
"text-decoration-line": "https://developer.mozilla.org/docs/Web/CSS/text-decoration-line",
|
||||||
|
"text-decoration-style": "https://developer.mozilla.org/docs/Web/CSS/text-decoration-style",
|
||||||
|
"text-indent": "https://developer.mozilla.org/docs/Web/CSS/text-indent",
|
||||||
|
"text-orientation": "https://developer.mozilla.org/docs/Web/CSS/text-orientation",
|
||||||
|
"text-overflow": "https://developer.mozilla.org/docs/Web/CSS/text-overflow",
|
||||||
|
"text-rendering": "https://developer.mozilla.org/docs/Web/CSS/text-rendering",
|
||||||
|
"text-shadow": "https://developer.mozilla.org/docs/Web/CSS/text-shadow",
|
||||||
|
"text-transform": "https://developer.mozilla.org/docs/Web/CSS/text-transform",
|
||||||
|
"text-underline-position": "https://developer.mozilla.org/docs/Web/CSS/text-underline-position",
|
||||||
|
"time": "https://developer.mozilla.org/docs/Web/CSS/time",
|
||||||
|
"timing-function": "https://developer.mozilla.org/docs/Web/CSS/timing-function",
|
||||||
|
"top": "https://developer.mozilla.org/docs/Web/CSS/top",
|
||||||
|
"touch-action": "https://developer.mozilla.org/docs/Web/CSS/touch-action",
|
||||||
|
"transform": "https://developer.mozilla.org/docs/Web/CSS/transform",
|
||||||
|
"transform-function": "https://developer.mozilla.org/docs/Web/CSS/transform-function",
|
||||||
|
"transform-origin": "https://developer.mozilla.org/docs/Web/CSS/transform-origin",
|
||||||
|
"transform-style": "https://developer.mozilla.org/docs/Web/CSS/transform-style",
|
||||||
|
"transition": "https://developer.mozilla.org/docs/Web/CSS/transition",
|
||||||
|
"transition-delay": "https://developer.mozilla.org/docs/Web/CSS/transition-delay",
|
||||||
|
"transition-duration": "https://developer.mozilla.org/docs/Web/CSS/transition-duration",
|
||||||
|
"transition-property": "https://developer.mozilla.org/docs/Web/CSS/transition-property",
|
||||||
|
"transition-timing-function": "https://developer.mozilla.org/docs/Web/CSS/transition-timing-function",
|
||||||
|
"unicode-bidi": "https://developer.mozilla.org/docs/Web/CSS/unicode-bidi",
|
||||||
|
"unicode-range": "https://developer.mozilla.org/docs/Web/CSS/unicode-range",
|
||||||
|
"unset": "https://developer.mozilla.org/docs/Web/CSS/unset",
|
||||||
|
"uri": "https://developer.mozilla.org/docs/Web/CSS/uri",
|
||||||
|
"user-ident": "https://developer.mozilla.org/docs/Web/CSS/user-ident",
|
||||||
|
"var": "https://developer.mozilla.org/docs/Web/CSS/var",
|
||||||
|
"vertical-align": "https://developer.mozilla.org/docs/Web/CSS/vertical-align",
|
||||||
|
"visibility": "https://developer.mozilla.org/docs/Web/CSS/visibility",
|
||||||
|
"white-space": "https://developer.mozilla.org/docs/Web/CSS/white-space",
|
||||||
|
"widows": "https://developer.mozilla.org/docs/Web/CSS/widows",
|
||||||
|
"width": "https://developer.mozilla.org/docs/Web/CSS/width",
|
||||||
|
"will-change": "https://developer.mozilla.org/docs/Web/CSS/will-change",
|
||||||
|
"word-break": "https://developer.mozilla.org/docs/Web/CSS/word-break",
|
||||||
|
"word-spacing": "https://developer.mozilla.org/docs/Web/CSS/word-spacing",
|
||||||
|
"word-wrap": "https://developer.mozilla.org/docs/Web/CSS/word-wrap",
|
||||||
|
"writing-mode": "https://developer.mozilla.org/docs/Web/CSS/writing-mode",
|
||||||
|
"z-index": "https://developer.mozilla.org/docs/Web/CSS/z-index"
|
||||||
|
}
|
140
resources/editor-help/html.json
Normal file
140
resources/editor-help/html.json
Normal file
@ -0,0 +1,140 @@
|
|||||||
|
{
|
||||||
|
"a": "https://developer.mozilla.org/docs/Web/HTML/Element/a",
|
||||||
|
"abbr": "https://developer.mozilla.org/docs/Web/HTML/Element/abbr",
|
||||||
|
"acronym": "https://developer.mozilla.org/docs/Web/HTML/Element/acronym",
|
||||||
|
"address": "https://developer.mozilla.org/docs/Web/HTML/Element/address",
|
||||||
|
"applet": "https://developer.mozilla.org/docs/Web/HTML/Element/applet",
|
||||||
|
"area": "https://developer.mozilla.org/docs/Web/HTML/Element/area",
|
||||||
|
"article": "https://developer.mozilla.org/docs/Web/HTML/Element/article",
|
||||||
|
"aside": "https://developer.mozilla.org/docs/Web/HTML/Element/aside",
|
||||||
|
"audio": "https://developer.mozilla.org/docs/Web/HTML/Element/audio",
|
||||||
|
"b": "https://developer.mozilla.org/docs/Web/HTML/Element/b",
|
||||||
|
"base": "https://developer.mozilla.org/docs/Web/HTML/Element/base",
|
||||||
|
"basefont": "https://developer.mozilla.org/docs/Web/HTML/Element/basefont",
|
||||||
|
"bdi": "https://developer.mozilla.org/docs/Web/HTML/Element/bdi",
|
||||||
|
"bdo": "https://developer.mozilla.org/docs/Web/HTML/Element/bdo",
|
||||||
|
"bgsound": "https://developer.mozilla.org/docs/Web/HTML/Element/bgsound",
|
||||||
|
"big": "https://developer.mozilla.org/docs/Web/HTML/Element/big",
|
||||||
|
"blink": "https://developer.mozilla.org/docs/Web/HTML/Element/blink",
|
||||||
|
"blockquote": "https://developer.mozilla.org/docs/Web/HTML/Element/blockquote",
|
||||||
|
"body": "https://developer.mozilla.org/docs/Web/HTML/Element/body",
|
||||||
|
"br": "https://developer.mozilla.org/docs/Web/HTML/Element/br",
|
||||||
|
"button": "https://developer.mozilla.org/docs/Web/HTML/Element/button",
|
||||||
|
"canvas": "https://developer.mozilla.org/docs/Web/HTML/Element/canvas",
|
||||||
|
"caption": "https://developer.mozilla.org/docs/Web/HTML/Element/caption",
|
||||||
|
"center": "https://developer.mozilla.org/docs/Web/HTML/Element/center",
|
||||||
|
"cite": "https://developer.mozilla.org/docs/Web/HTML/Element/cite",
|
||||||
|
"code": "https://developer.mozilla.org/docs/Web/HTML/Element/code",
|
||||||
|
"col": "https://developer.mozilla.org/docs/Web/HTML/Element/col",
|
||||||
|
"colgroup": "https://developer.mozilla.org/docs/Web/HTML/Element/colgroup",
|
||||||
|
"content": "https://developer.mozilla.org/docs/Web/HTML/Element/content",
|
||||||
|
"data": "https://developer.mozilla.org/docs/Web/HTML/Element/data",
|
||||||
|
"datalist": "https://developer.mozilla.org/docs/Web/HTML/Element/datalist",
|
||||||
|
"dd": "https://developer.mozilla.org/docs/Web/HTML/Element/dd",
|
||||||
|
"decorator": "https://developer.mozilla.org/docs/Web/HTML/Element/decorator",
|
||||||
|
"del": "https://developer.mozilla.org/docs/Web/HTML/Element/del",
|
||||||
|
"details": "https://developer.mozilla.org/docs/Web/HTML/Element/details",
|
||||||
|
"dfn": "https://developer.mozilla.org/docs/Web/HTML/Element/dfn",
|
||||||
|
"dialog": "https://developer.mozilla.org/docs/Web/HTML/Element/dialog",
|
||||||
|
"dir": "https://developer.mozilla.org/docs/Web/HTML/Element/dir",
|
||||||
|
"div": "https://developer.mozilla.org/docs/Web/HTML/Element/div",
|
||||||
|
"dl": "https://developer.mozilla.org/docs/Web/HTML/Element/dl",
|
||||||
|
"dt": "https://developer.mozilla.org/docs/Web/HTML/Element/dt",
|
||||||
|
"element": "https://developer.mozilla.org/docs/Web/HTML/Element/element",
|
||||||
|
"em": "https://developer.mozilla.org/docs/Web/HTML/Element/em",
|
||||||
|
"embed": "https://developer.mozilla.org/docs/Web/HTML/Element/embed",
|
||||||
|
"fieldset": "https://developer.mozilla.org/docs/Web/HTML/Element/fieldset",
|
||||||
|
"figcaption": "https://developer.mozilla.org/docs/Web/HTML/Element/figcaption",
|
||||||
|
"figure": "https://developer.mozilla.org/docs/Web/HTML/Element/figure",
|
||||||
|
"font": "https://developer.mozilla.org/docs/Web/HTML/Element/font",
|
||||||
|
"footer": "https://developer.mozilla.org/docs/Web/HTML/Element/footer",
|
||||||
|
"form": "https://developer.mozilla.org/docs/Web/HTML/Element/form",
|
||||||
|
"frame": "https://developer.mozilla.org/docs/Web/HTML/Element/frame",
|
||||||
|
"frameset": "https://developer.mozilla.org/docs/Web/HTML/Element/frameset",
|
||||||
|
"h1": "https://developer.mozilla.org/docs/Web/HTML/Element/h1",
|
||||||
|
"h2": "https://developer.mozilla.org/docs/Web/HTML/Element/h2",
|
||||||
|
"h3": "https://developer.mozilla.org/docs/Web/HTML/Element/h3",
|
||||||
|
"h4": "https://developer.mozilla.org/docs/Web/HTML/Element/h4",
|
||||||
|
"h5": "https://developer.mozilla.org/docs/Web/HTML/Element/h5",
|
||||||
|
"h6": "https://developer.mozilla.org/docs/Web/HTML/Element/h6",
|
||||||
|
"head": "https://developer.mozilla.org/docs/Web/HTML/Element/head",
|
||||||
|
"header": "https://developer.mozilla.org/docs/Web/HTML/Element/header",
|
||||||
|
"hgroup": "https://developer.mozilla.org/docs/Web/HTML/Element/hgroup",
|
||||||
|
"hr": "https://developer.mozilla.org/docs/Web/HTML/Element/hr",
|
||||||
|
"html": "https://developer.mozilla.org/docs/Web/HTML/Element/html",
|
||||||
|
"i": "https://developer.mozilla.org/docs/Web/HTML/Element/i",
|
||||||
|
"iframe": "https://developer.mozilla.org/docs/Web/HTML/Element/iframe",
|
||||||
|
"img": "https://developer.mozilla.org/docs/Web/HTML/Element/img",
|
||||||
|
"input": "https://developer.mozilla.org/docs/Web/HTML/Element/input",
|
||||||
|
"ins": "https://developer.mozilla.org/docs/Web/HTML/Element/ins",
|
||||||
|
"isindex": "https://developer.mozilla.org/docs/Web/HTML/Element/isindex",
|
||||||
|
"kbd": "https://developer.mozilla.org/docs/Web/HTML/Element/kbd",
|
||||||
|
"keygen": "https://developer.mozilla.org/docs/Web/HTML/Element/keygen",
|
||||||
|
"label": "https://developer.mozilla.org/docs/Web/HTML/Element/label",
|
||||||
|
"legend": "https://developer.mozilla.org/docs/Web/HTML/Element/legend",
|
||||||
|
"li": "https://developer.mozilla.org/docs/Web/HTML/Element/li",
|
||||||
|
"link": "https://developer.mozilla.org/docs/Web/HTML/Element/link",
|
||||||
|
"listing": "https://developer.mozilla.org/docs/Web/HTML/Element/listing",
|
||||||
|
"main": "https://developer.mozilla.org/docs/Web/HTML/Element/main",
|
||||||
|
"map": "https://developer.mozilla.org/docs/Web/HTML/Element/map",
|
||||||
|
"mark": "https://developer.mozilla.org/docs/Web/HTML/Element/mark",
|
||||||
|
"marquee": "https://developer.mozilla.org/docs/Web/HTML/Element/marquee",
|
||||||
|
"menu": "https://developer.mozilla.org/docs/Web/HTML/Element/menu",
|
||||||
|
"menuitem": "https://developer.mozilla.org/docs/Web/HTML/Element/menuitem",
|
||||||
|
"meta": "https://developer.mozilla.org/docs/Web/HTML/Element/meta",
|
||||||
|
"meter": "https://developer.mozilla.org/docs/Web/HTML/Element/meter",
|
||||||
|
"nav": "https://developer.mozilla.org/docs/Web/HTML/Element/nav",
|
||||||
|
"nobr": "https://developer.mozilla.org/docs/Web/HTML/Element/nobr",
|
||||||
|
"noframes": "https://developer.mozilla.org/docs/Web/HTML/Element/noframes",
|
||||||
|
"noscript": "https://developer.mozilla.org/docs/Web/HTML/Element/noscript",
|
||||||
|
"object": "https://developer.mozilla.org/docs/Web/HTML/Element/object",
|
||||||
|
"ol": "https://developer.mozilla.org/docs/Web/HTML/Element/ol",
|
||||||
|
"optgroup": "https://developer.mozilla.org/docs/Web/HTML/Element/optgroup",
|
||||||
|
"option": "https://developer.mozilla.org/docs/Web/HTML/Element/option",
|
||||||
|
"output": "https://developer.mozilla.org/docs/Web/HTML/Element/output",
|
||||||
|
"p": "https://developer.mozilla.org/docs/Web/HTML/Element/p",
|
||||||
|
"param": "https://developer.mozilla.org/docs/Web/HTML/Element/param",
|
||||||
|
"picture": "https://developer.mozilla.org/docs/Web/HTML/Element/picture",
|
||||||
|
"plaintext": "https://developer.mozilla.org/docs/Web/HTML/Element/plaintext",
|
||||||
|
"pre": "https://developer.mozilla.org/docs/Web/HTML/Element/pre",
|
||||||
|
"progress": "https://developer.mozilla.org/docs/Web/HTML/Element/progress",
|
||||||
|
"q": "https://developer.mozilla.org/docs/Web/HTML/Element/q",
|
||||||
|
"rp": "https://developer.mozilla.org/docs/Web/HTML/Element/rp",
|
||||||
|
"rt": "https://developer.mozilla.org/docs/Web/HTML/Element/rt",
|
||||||
|
"ruby": "https://developer.mozilla.org/docs/Web/HTML/Element/ruby",
|
||||||
|
"s": "https://developer.mozilla.org/docs/Web/HTML/Element/s",
|
||||||
|
"samp": "https://developer.mozilla.org/docs/Web/HTML/Element/samp",
|
||||||
|
"script": "https://developer.mozilla.org/docs/Web/HTML/Element/script",
|
||||||
|
"section": "https://developer.mozilla.org/docs/Web/HTML/Element/section",
|
||||||
|
"select": "https://developer.mozilla.org/docs/Web/HTML/Element/select",
|
||||||
|
"shadow": "https://developer.mozilla.org/docs/Web/HTML/Element/shadow",
|
||||||
|
"small": "https://developer.mozilla.org/docs/Web/HTML/Element/small",
|
||||||
|
"source": "https://developer.mozilla.org/docs/Web/HTML/Element/source",
|
||||||
|
"spacer": "https://developer.mozilla.org/docs/Web/HTML/Element/spacer",
|
||||||
|
"span": "https://developer.mozilla.org/docs/Web/HTML/Element/span",
|
||||||
|
"strike": "https://developer.mozilla.org/docs/Web/HTML/Element/strike",
|
||||||
|
"strong": "https://developer.mozilla.org/docs/Web/HTML/Element/strong",
|
||||||
|
"style": "https://developer.mozilla.org/docs/Web/HTML/Element/style",
|
||||||
|
"sub": "https://developer.mozilla.org/docs/Web/HTML/Element/sub",
|
||||||
|
"summary": "https://developer.mozilla.org/docs/Web/HTML/Element/summary",
|
||||||
|
"sup": "https://developer.mozilla.org/docs/Web/HTML/Element/sup",
|
||||||
|
"table": "https://developer.mozilla.org/docs/Web/HTML/Element/table",
|
||||||
|
"tbody": "https://developer.mozilla.org/docs/Web/HTML/Element/tbody",
|
||||||
|
"td": "https://developer.mozilla.org/docs/Web/HTML/Element/td",
|
||||||
|
"template": "https://developer.mozilla.org/docs/Web/HTML/Element/template",
|
||||||
|
"textarea": "https://developer.mozilla.org/docs/Web/HTML/Element/textarea",
|
||||||
|
"tfoot": "https://developer.mozilla.org/docs/Web/HTML/Element/tfoot",
|
||||||
|
"th": "https://developer.mozilla.org/docs/Web/HTML/Element/th",
|
||||||
|
"thead": "https://developer.mozilla.org/docs/Web/HTML/Element/thead",
|
||||||
|
"time": "https://developer.mozilla.org/docs/Web/HTML/Element/time",
|
||||||
|
"title": "https://developer.mozilla.org/docs/Web/HTML/Element/title",
|
||||||
|
"tr": "https://developer.mozilla.org/docs/Web/HTML/Element/tr",
|
||||||
|
"track": "https://developer.mozilla.org/docs/Web/HTML/Element/track",
|
||||||
|
"tt": "https://developer.mozilla.org/docs/Web/HTML/Element/tt",
|
||||||
|
"u": "https://developer.mozilla.org/docs/Web/HTML/Element/u",
|
||||||
|
"ul": "https://developer.mozilla.org/docs/Web/HTML/Element/ul",
|
||||||
|
"var": "https://developer.mozilla.org/docs/Web/HTML/Element/var",
|
||||||
|
"video": "https://developer.mozilla.org/docs/Web/HTML/Element/video",
|
||||||
|
"wbr": "https://developer.mozilla.org/docs/Web/HTML/Element/wbr",
|
||||||
|
"xmp": "https://developer.mozilla.org/docs/Web/HTML/Element/xmp"
|
||||||
|
}
|
42
resources/editor-help/mathml.json
Normal file
42
resources/editor-help/mathml.json
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
{
|
||||||
|
"maction": "https://developer.mozilla.org/docs/Web/MathML/Element/maction",
|
||||||
|
"maligngroup": "https://developer.mozilla.org/docs/Web/MathML/Element/maligngroup",
|
||||||
|
"malignmark": "https://developer.mozilla.org/docs/Web/MathML/Element/malignmark",
|
||||||
|
"math": "https://developer.mozilla.org/docs/Web/MathML/Element/math",
|
||||||
|
"menclose": "https://developer.mozilla.org/docs/Web/MathML/Element/menclose",
|
||||||
|
"merror": "https://developer.mozilla.org/docs/Web/MathML/Element/merror",
|
||||||
|
"mfenced": "https://developer.mozilla.org/docs/Web/MathML/Element/mfenced",
|
||||||
|
"mfrac": "https://developer.mozilla.org/docs/Web/MathML/Element/mfrac",
|
||||||
|
"mglyph": "https://developer.mozilla.org/docs/Web/MathML/Element/mglyph",
|
||||||
|
"mi": "https://developer.mozilla.org/docs/Web/MathML/Element/mi",
|
||||||
|
"mlabeledtr": "https://developer.mozilla.org/docs/Web/MathML/Element/mlabeledtr",
|
||||||
|
"mlongdiv": "https://developer.mozilla.org/docs/Web/MathML/Element/mlongdiv",
|
||||||
|
"mmultiscripts": "https://developer.mozilla.org/docs/Web/MathML/Element/mmultiscripts",
|
||||||
|
"mn": "https://developer.mozilla.org/docs/Web/MathML/Element/mn",
|
||||||
|
"mo": "https://developer.mozilla.org/docs/Web/MathML/Element/mo",
|
||||||
|
"mover": "https://developer.mozilla.org/docs/Web/MathML/Element/mover",
|
||||||
|
"mpadded": "https://developer.mozilla.org/docs/Web/MathML/Element/mpadded",
|
||||||
|
"mphantom": "https://developer.mozilla.org/docs/Web/MathML/Element/mphantom",
|
||||||
|
"mroot": "https://developer.mozilla.org/docs/Web/MathML/Element/mroot",
|
||||||
|
"mrow": "https://developer.mozilla.org/docs/Web/MathML/Element/mrow",
|
||||||
|
"ms": "https://developer.mozilla.org/docs/Web/MathML/Element/ms",
|
||||||
|
"mscarries": "https://developer.mozilla.org/docs/Web/MathML/Element/mscarries",
|
||||||
|
"mscarry": "https://developer.mozilla.org/docs/Web/MathML/Element/mscarry",
|
||||||
|
"msgroup": "https://developer.mozilla.org/docs/Web/MathML/Element/msgroup",
|
||||||
|
"msline": "https://developer.mozilla.org/docs/Web/MathML/Element/msline",
|
||||||
|
"mspace": "https://developer.mozilla.org/docs/Web/MathML/Element/mspace",
|
||||||
|
"msqrt": "https://developer.mozilla.org/docs/Web/MathML/Element/msqrt",
|
||||||
|
"msrow": "https://developer.mozilla.org/docs/Web/MathML/Element/msrow",
|
||||||
|
"mstack": "https://developer.mozilla.org/docs/Web/MathML/Element/mstack",
|
||||||
|
"mstyle": "https://developer.mozilla.org/docs/Web/MathML/Element/mstyle",
|
||||||
|
"msub": "https://developer.mozilla.org/docs/Web/MathML/Element/msub",
|
||||||
|
"msubsup": "https://developer.mozilla.org/docs/Web/MathML/Element/msubsup",
|
||||||
|
"msup": "https://developer.mozilla.org/docs/Web/MathML/Element/msup",
|
||||||
|
"mtable": "https://developer.mozilla.org/docs/Web/MathML/Element/mtable",
|
||||||
|
"mtd": "https://developer.mozilla.org/docs/Web/MathML/Element/mtd",
|
||||||
|
"mtext": "https://developer.mozilla.org/docs/Web/MathML/Element/mtext",
|
||||||
|
"mtr": "https://developer.mozilla.org/docs/Web/MathML/Element/mtr",
|
||||||
|
"munder": "https://developer.mozilla.org/docs/Web/MathML/Element/munder",
|
||||||
|
"munderover": "https://developer.mozilla.org/docs/Web/MathML/Element/munderover",
|
||||||
|
"semantics": "https://developer.mozilla.org/docs/MathML/Element/semantics"
|
||||||
|
}
|
36
resources/editor-help/opf2.json
Normal file
36
resources/editor-help/opf2.json
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
{
|
||||||
|
"content": "http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#Section2.4.1.2",
|
||||||
|
"contributor": "http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#Section2.2.6",
|
||||||
|
"coverage": "http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#Section2.2.14",
|
||||||
|
"creator": "http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#Section2.2.2",
|
||||||
|
"date": "http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#Section2.2.7",
|
||||||
|
"description": "http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#Section2.2.4",
|
||||||
|
"docauthor": "http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#Section2.4.1.2",
|
||||||
|
"doctitle": "http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#Section2.4.1.2",
|
||||||
|
"format": "http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#Section2.2.9",
|
||||||
|
"guide": "http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#Section2.6",
|
||||||
|
"identifier": "http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#Section2.2.10",
|
||||||
|
"item": "http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#Section2.3",
|
||||||
|
"itemref": "http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#Section2.4",
|
||||||
|
"language": "http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#Section2.2.12",
|
||||||
|
"manifest": "http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#Section2.3",
|
||||||
|
"metadata": "http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#Section2.2",
|
||||||
|
"navlabel": "http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#Section2.4.1.2",
|
||||||
|
"navmap": "http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#Section2.4.1.2",
|
||||||
|
"navpoint": "http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#Section2.4.1.2",
|
||||||
|
"ncx": "http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#Section2.4.1.2",
|
||||||
|
"package": "http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#Section2.1",
|
||||||
|
"pagelist": "http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#Section2.4.1.2",
|
||||||
|
"pagetarget": "http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#Section2.4.1.2",
|
||||||
|
"publisher": "http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#Section2.2.5",
|
||||||
|
"reference": "http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#Section2.6",
|
||||||
|
"relation": "http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#Section2.2.13",
|
||||||
|
"rights": "http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#Section2.2.15",
|
||||||
|
"source": "http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#Section2.2.11",
|
||||||
|
"spine": "http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#Section2.4",
|
||||||
|
"subject": "http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#Section2.2.3",
|
||||||
|
"text": "http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#Section2.4.1.2",
|
||||||
|
"title": "http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#Section2.2.1",
|
||||||
|
"tours": "http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#Section2.5",
|
||||||
|
"type": "http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#Section2.2.8"
|
||||||
|
}
|
22
resources/editor-help/opf3.json
Normal file
22
resources/editor-help/opf3.json
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"bindings": "http://www.idpf.org/epub/301/spec/epub-publications.html#sec-bindings-elem",
|
||||||
|
"collection": "http://www.idpf.org/epub/301/spec/epub-publications.html#sec-collection-elem",
|
||||||
|
"contributor": "http://www.idpf.org/epub/301/spec/epub-publications.html#sec-opf-dccontributor",
|
||||||
|
"creator": "http://www.idpf.org/epub/301/spec/epub-publications.html#sec-opf-dccreator",
|
||||||
|
"date": "http://www.idpf.org/epub/301/spec/epub-publications.html#sec-opf-dcdate",
|
||||||
|
"guide": "http://www.idpf.org/epub/301/spec/epub-publications.html#sec-guide-elem",
|
||||||
|
"identifier": "http://www.idpf.org/epub/301/spec/epub-publications.html#sec-identifier-elem",
|
||||||
|
"item": "http://www.idpf.org/epub/301/spec/epub-publications.html#sec-item-elem",
|
||||||
|
"itemref": "http://www.idpf.org/epub/301/spec/epub-publications.html#sec-itemref-elem",
|
||||||
|
"language": "http://www.idpf.org/epub/301/spec/epub-publications.html#sec-language-elem",
|
||||||
|
"link": "http://www.idpf.org/epub/301/spec/epub-publications.html#sec-link-elem",
|
||||||
|
"manifest": "http://www.idpf.org/epub/301/spec/epub-publications.html#sec-manifest-elem",
|
||||||
|
"mediatype": "http://www.idpf.org/epub/301/spec/epub-publications.html#sec-mediaType-elem",
|
||||||
|
"meta": "http://www.idpf.org/epub/301/spec/epub-publications.html#sec-meta-elem",
|
||||||
|
"metadata": "http://www.idpf.org/epub/301/spec/epub-publications.html#sec-metadata-elem",
|
||||||
|
"package": "http://www.idpf.org/epub/301/spec/epub-publications.html#sec-package-elem",
|
||||||
|
"source": "http://www.idpf.org/epub/301/spec/epub-publications.html#sec-opf-dcsource",
|
||||||
|
"spine": "http://www.idpf.org/epub/301/spec/epub-publications.html#sec-spine-elem",
|
||||||
|
"title": "http://www.idpf.org/epub/301/spec/epub-publications.html#sec-title-elem",
|
||||||
|
"type": "http://www.idpf.org/epub/301/spec/epub-publications.html#sec-opf-dctype"
|
||||||
|
}
|
82
resources/editor-help/svg.json
Normal file
82
resources/editor-help/svg.json
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
{
|
||||||
|
"a": "https://developer.mozilla.org/docs/Web/SVG/Element/a",
|
||||||
|
"altglyph": "https://developer.mozilla.org/docs/Web/SVG/Element/altGlyph",
|
||||||
|
"altglyphdef": "https://developer.mozilla.org/docs/Web/SVG/Element/altGlyphDef",
|
||||||
|
"altglyphitem": "https://developer.mozilla.org/docs/Web/SVG/Element/altGlyphItem",
|
||||||
|
"animate": "https://developer.mozilla.org/docs/Web/SVG/Element/animate",
|
||||||
|
"animatecolor": "https://developer.mozilla.org/docs/Web/SVG/Element/animateColor",
|
||||||
|
"animatemotion": "https://developer.mozilla.org/docs/Web/SVG/Element/animateMotion",
|
||||||
|
"animatetransform": "https://developer.mozilla.org/docs/Web/SVG/Element/animateTransform",
|
||||||
|
"circle": "https://developer.mozilla.org/docs/Web/SVG/Element/circle",
|
||||||
|
"clippath": "https://developer.mozilla.org/docs/Web/SVG/Element/clipPath",
|
||||||
|
"color-profile": "https://developer.mozilla.org/docs/Web/SVG/Element/color-profile",
|
||||||
|
"cursor": "https://developer.mozilla.org/docs/Web/SVG/Element/cursor",
|
||||||
|
"defs": "https://developer.mozilla.org/docs/Web/SVG/Element/defs",
|
||||||
|
"desc": "https://developer.mozilla.org/docs/Web/SVG/Element/desc",
|
||||||
|
"ellipse": "https://developer.mozilla.org/docs/Web/SVG/Element/ellipse",
|
||||||
|
"feblend": "https://developer.mozilla.org/docs/Web/SVG/Element/feBlend",
|
||||||
|
"fecolormatrix": "https://developer.mozilla.org/docs/Web/SVG/Element/feColorMatrix",
|
||||||
|
"fecomponenttransfer": "https://developer.mozilla.org/docs/Web/SVG/Element/feComponentTransfer",
|
||||||
|
"fecomposite": "https://developer.mozilla.org/docs/Web/SVG/Element/feComposite",
|
||||||
|
"feconvolvematrix": "https://developer.mozilla.org/docs/Web/SVG/Element/feConvolveMatrix",
|
||||||
|
"fediffuselighting": "https://developer.mozilla.org/docs/Web/SVG/Element/feDiffuseLighting",
|
||||||
|
"fedisplacementmap": "https://developer.mozilla.org/docs/Web/SVG/Element/feDisplacementMap",
|
||||||
|
"fedistantlight": "https://developer.mozilla.org/docs/Web/SVG/Element/feDistantLight",
|
||||||
|
"feflood": "https://developer.mozilla.org/docs/Web/SVG/Element/feFlood",
|
||||||
|
"fefunca": "https://developer.mozilla.org/docs/Web/SVG/Element/feFuncA",
|
||||||
|
"fefuncb": "https://developer.mozilla.org/docs/Web/SVG/Element/feFuncB",
|
||||||
|
"fefuncg": "https://developer.mozilla.org/docs/Web/SVG/Element/feFuncG",
|
||||||
|
"fefuncr": "https://developer.mozilla.org/docs/Web/SVG/Element/feFuncR",
|
||||||
|
"fegaussianblur": "https://developer.mozilla.org/docs/Web/SVG/Element/feGaussianBlur",
|
||||||
|
"feimage": "https://developer.mozilla.org/docs/Web/SVG/Element/feImage",
|
||||||
|
"femerge": "https://developer.mozilla.org/docs/Web/SVG/Element/feMerge",
|
||||||
|
"femergenode": "https://developer.mozilla.org/docs/Web/SVG/Element/feMergeNode",
|
||||||
|
"femorphology": "https://developer.mozilla.org/docs/Web/SVG/Element/feMorphology",
|
||||||
|
"feoffset": "https://developer.mozilla.org/docs/Web/SVG/Element/feOffset",
|
||||||
|
"fepointlight": "https://developer.mozilla.org/docs/Web/SVG/Element/fePointLight",
|
||||||
|
"fespecularlighting": "https://developer.mozilla.org/docs/Web/SVG/Element/feSpecularLighting",
|
||||||
|
"fespotlight": "https://developer.mozilla.org/docs/Web/SVG/Element/feSpotLight",
|
||||||
|
"fetile": "https://developer.mozilla.org/docs/Web/SVG/Element/feTile",
|
||||||
|
"feturbulence": "https://developer.mozilla.org/docs/Web/SVG/Element/feTurbulence",
|
||||||
|
"filter": "https://developer.mozilla.org/docs/Web/SVG/Element/filter",
|
||||||
|
"font": "https://developer.mozilla.org/docs/Web/SVG/Element/font",
|
||||||
|
"font-face": "https://developer.mozilla.org/docs/Web/SVG/Element/font-face",
|
||||||
|
"font-face-format": "https://developer.mozilla.org/docs/Web/SVG/Element/font-face-format",
|
||||||
|
"font-face-name": "https://developer.mozilla.org/docs/Web/SVG/Element/font-face-name",
|
||||||
|
"font-face-src": "https://developer.mozilla.org/docs/Web/SVG/Element/font-face-src",
|
||||||
|
"font-face-uri": "https://developer.mozilla.org/docs/Web/SVG/Element/font-face-uri",
|
||||||
|
"foreignobject": "https://developer.mozilla.org/docs/Web/SVG/Element/foreignObject",
|
||||||
|
"g": "https://developer.mozilla.org/docs/Web/SVG/Element/g",
|
||||||
|
"glyph": "https://developer.mozilla.org/docs/Web/SVG/Element/glyph",
|
||||||
|
"glyphref": "https://developer.mozilla.org/docs/Web/SVG/Element/glyphRef",
|
||||||
|
"hkern": "https://developer.mozilla.org/docs/Web/SVG/Element/hkern",
|
||||||
|
"image": "https://developer.mozilla.org/docs/Web/SVG/Element/image",
|
||||||
|
"line": "https://developer.mozilla.org/docs/Web/SVG/Element/line",
|
||||||
|
"lineargradient": "https://developer.mozilla.org/docs/Web/SVG/Element/linearGradient",
|
||||||
|
"marker": "https://developer.mozilla.org/docs/Web/SVG/Element/marker",
|
||||||
|
"mask": "https://developer.mozilla.org/docs/Web/SVG/Element/mask",
|
||||||
|
"metadata": "https://developer.mozilla.org/docs/Web/SVG/Element/metadata",
|
||||||
|
"missing-glyph": "https://developer.mozilla.org/docs/Web/SVG/Element/missing-glyph",
|
||||||
|
"mpath": "https://developer.mozilla.org/docs/Web/SVG/Element/mpath",
|
||||||
|
"path": "https://developer.mozilla.org/docs/Web/SVG/Element/path",
|
||||||
|
"pattern": "https://developer.mozilla.org/docs/Web/SVG/Element/pattern",
|
||||||
|
"polygon": "https://developer.mozilla.org/docs/Web/SVG/Element/polygon",
|
||||||
|
"polyline": "https://developer.mozilla.org/docs/Web/SVG/Element/polyline",
|
||||||
|
"radialgradient": "https://developer.mozilla.org/docs/Web/SVG/Element/radialGradient",
|
||||||
|
"rect": "https://developer.mozilla.org/docs/Web/SVG/Element/rect",
|
||||||
|
"script": "https://developer.mozilla.org/docs/Web/SVG/Element/script",
|
||||||
|
"set": "https://developer.mozilla.org/docs/Web/SVG/Element/set",
|
||||||
|
"stop": "https://developer.mozilla.org/docs/Web/SVG/Element/stop",
|
||||||
|
"style": "https://developer.mozilla.org/docs/Web/SVG/Element/style",
|
||||||
|
"svg": "https://developer.mozilla.org/docs/Web/SVG/Element/svg",
|
||||||
|
"switch": "https://developer.mozilla.org/docs/Web/SVG/Element/switch",
|
||||||
|
"symbol": "https://developer.mozilla.org/docs/Web/SVG/Element/symbol",
|
||||||
|
"text": "https://developer.mozilla.org/docs/Web/SVG/Element/text",
|
||||||
|
"textpath": "https://developer.mozilla.org/docs/Web/SVG/Element/textPath",
|
||||||
|
"title": "https://developer.mozilla.org/docs/Web/SVG/Element/title",
|
||||||
|
"tref": "https://developer.mozilla.org/docs/Web/SVG/Element/tref",
|
||||||
|
"tspan": "https://developer.mozilla.org/docs/Web/SVG/Element/tspan",
|
||||||
|
"use": "https://developer.mozilla.org/docs/Web/SVG/Element/use",
|
||||||
|
"view": "https://developer.mozilla.org/docs/Web/SVG/Element/view",
|
||||||
|
"vkern": "https://developer.mozilla.org/docs/Web/SVG/Element/vkern"
|
||||||
|
}
|
@ -532,6 +532,14 @@ class Container(object): # {{{
|
|||||||
return O(BytesIO(mi), basedir=self.opf_dir, unquote_urls=False,
|
return O(BytesIO(mi), basedir=self.opf_dir, unquote_urls=False,
|
||||||
populate_spine=False).to_book_metadata()
|
populate_spine=False).to_book_metadata()
|
||||||
|
|
||||||
|
@property
|
||||||
|
def opf_version(self):
|
||||||
|
' The version set on the OPF\'s <package> element '
|
||||||
|
try:
|
||||||
|
return self.opf_xpath('//opf:package/@version')[0]
|
||||||
|
except IndexError:
|
||||||
|
return ''
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def manifest_id_map(self):
|
def manifest_id_map(self):
|
||||||
' Mapping of manifest id to canonical names '
|
' Mapping of manifest id to canonical names '
|
||||||
|
@ -1039,6 +1039,8 @@ class SanitizeLibraryPath(object):
|
|||||||
os.environ['LD_LIBRARY_PATH'] = self.orig
|
os.environ['LD_LIBRARY_PATH'] = self.orig
|
||||||
|
|
||||||
def open_url(qurl):
|
def open_url(qurl):
|
||||||
|
if isinstance(qurl, basestring):
|
||||||
|
qurl = QUrl(qurl)
|
||||||
with SanitizeLibraryPath():
|
with SanitizeLibraryPath():
|
||||||
QDesktopServices.openUrl(qurl)
|
QDesktopServices.openUrl(qurl)
|
||||||
|
|
||||||
|
@ -37,6 +37,8 @@ SYNTAX_PROPERTY = QTextCharFormat.UserProperty
|
|||||||
SPELL_PROPERTY = SYNTAX_PROPERTY + 1
|
SPELL_PROPERTY = SYNTAX_PROPERTY + 1
|
||||||
SPELL_LOCALE_PROPERTY = SPELL_PROPERTY + 1
|
SPELL_LOCALE_PROPERTY = SPELL_PROPERTY + 1
|
||||||
LINK_PROPERTY = SPELL_LOCALE_PROPERTY + 1
|
LINK_PROPERTY = SPELL_LOCALE_PROPERTY + 1
|
||||||
|
TAG_NAME_PROPERTY = LINK_PROPERTY + 1
|
||||||
|
CSS_PROPERTY = TAG_NAME_PROPERTY + 1
|
||||||
|
|
||||||
def syntax_text_char_format(*args):
|
def syntax_text_char_format(*args):
|
||||||
ans = QTextCharFormat(*args)
|
ans = QTextCharFormat(*args)
|
||||||
|
129
src/calibre/gui2/tweak_book/editor/help.py
Normal file
129
src/calibre/gui2/tweak_book/editor/help.py
Normal file
@ -0,0 +1,129 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
# vim:fileencoding=utf-8
|
||||||
|
from __future__ import (unicode_literals, division, absolute_import,
|
||||||
|
print_function)
|
||||||
|
|
||||||
|
__license__ = 'GPL v3'
|
||||||
|
__copyright__ = '2014, Kovid Goyal <kovid at kovidgoyal.net>'
|
||||||
|
|
||||||
|
import json
|
||||||
|
from functools import partial
|
||||||
|
|
||||||
|
from lxml import html
|
||||||
|
|
||||||
|
from calibre import browser
|
||||||
|
from calibre.ebooks.oeb.polish.container import OEB_DOCS
|
||||||
|
from calibre.ebooks.oeb.polish.utils import guess_type
|
||||||
|
|
||||||
|
class URLMap(object):
|
||||||
|
|
||||||
|
def __init__(self):
|
||||||
|
self.cache = {}
|
||||||
|
|
||||||
|
def __getitem__(self, key):
|
||||||
|
try:
|
||||||
|
return self.cache[key]
|
||||||
|
except KeyError:
|
||||||
|
try:
|
||||||
|
self.cache[key] = ans = json.loads(P('editor-help/%s.json' % key, data=True))
|
||||||
|
except EnvironmentError:
|
||||||
|
raise KeyError('The mapping %s is not available' % key)
|
||||||
|
return ans
|
||||||
|
|
||||||
|
_url_map = URLMap()
|
||||||
|
|
||||||
|
def help_url(item, item_type, doc_name, extra_data=None):
|
||||||
|
url = None
|
||||||
|
url_maps = ()
|
||||||
|
item = item.lower()
|
||||||
|
if item_type == 'css_property':
|
||||||
|
url_maps = ('css',)
|
||||||
|
else:
|
||||||
|
mt = guess_type(doc_name)
|
||||||
|
if mt in OEB_DOCS:
|
||||||
|
url_maps = ('html', 'svg', 'mathml')
|
||||||
|
elif mt == guess_type('a.svg'):
|
||||||
|
url_maps = ('svg',)
|
||||||
|
elif mt == guess_type('a.opf'):
|
||||||
|
version = '3' if getattr(extra_data, 'startswith', lambda x: False)('3') else '2'
|
||||||
|
url_maps = (('opf' + version),)
|
||||||
|
elif mt == guess_type('a.svg'):
|
||||||
|
url_maps = ('svg',)
|
||||||
|
elif mt == guess_type('a.ncx'):
|
||||||
|
url_maps = ('opf2',)
|
||||||
|
|
||||||
|
for umap in url_maps:
|
||||||
|
umap = _url_map[umap]
|
||||||
|
if item in umap:
|
||||||
|
url = umap[item]
|
||||||
|
break
|
||||||
|
item = item.partition(':')[-1]
|
||||||
|
if item and item in umap:
|
||||||
|
url = umap[item]
|
||||||
|
break
|
||||||
|
|
||||||
|
return url
|
||||||
|
|
||||||
|
def get_mdn_tag_index(category):
|
||||||
|
url = 'https://developer.mozilla.org/docs/Web/%s/Element' % category
|
||||||
|
if category == 'CSS':
|
||||||
|
url = url.replace('Element', 'Reference')
|
||||||
|
br = browser()
|
||||||
|
raw = br.open(url).read()
|
||||||
|
root = html.fromstring(raw)
|
||||||
|
ans = {}
|
||||||
|
if category == 'CSS':
|
||||||
|
xpath = '//div[@class="index"]/descendant::a[contains(@href, "/Web/CSS/")]/@href'
|
||||||
|
else:
|
||||||
|
xpath = '//a[contains(@href, "/%s/Element/")]/@href' % category
|
||||||
|
for href in root.xpath(xpath):
|
||||||
|
href = href.replace('/en-US/', '/')
|
||||||
|
ans[href.rpartition('/')[-1].lower()] = 'https://developer.mozilla.org' + href
|
||||||
|
return ans
|
||||||
|
|
||||||
|
def get_opf2_tag_index():
|
||||||
|
base = 'http://www.idpf.org/epub/20/spec/OPF_2.0.1_draft.htm#'
|
||||||
|
ans = {}
|
||||||
|
for i, tag in enumerate(('package', 'metadata', 'manifest', 'spine', 'tours', 'guide')):
|
||||||
|
ans[tag] = base + 'Section2.%d' % (i + 1)
|
||||||
|
for i, tag in enumerate((
|
||||||
|
'title', 'creator', 'subject', 'description', 'publisher',
|
||||||
|
'contributor', 'date', 'type', 'format', 'identifier', 'source',
|
||||||
|
'language', 'relation', 'coverage', 'rights')):
|
||||||
|
ans[tag] = base + 'Section2.2.%d' % (i + 1)
|
||||||
|
ans['item'] = ans['manifest']
|
||||||
|
ans['itemref'] = ans['spine']
|
||||||
|
ans['reference'] = ans['guide']
|
||||||
|
for tag in ('ncx', 'docTitle', 'docAuthor', 'navMap', 'navPoint', 'navLabel', 'text', 'content', 'pageList', 'pageTarget'):
|
||||||
|
ans[tag.lower()] = base + 'Section2.4.1.2'
|
||||||
|
return ans
|
||||||
|
|
||||||
|
def get_opf3_tag_index():
|
||||||
|
base = 'http://www.idpf.org/epub/301/spec/epub-publications.html#'
|
||||||
|
ans = {}
|
||||||
|
for tag in (
|
||||||
|
'package', 'metadata', 'identifier', 'title', 'language', 'meta',
|
||||||
|
'link', 'manifest', 'item', 'spine', 'itemref', 'guide',
|
||||||
|
'bindings', 'mediaType', 'collection'):
|
||||||
|
ans[tag.lower()] = base + 'sec-%s-elem' % tag
|
||||||
|
for tag in ('contributor', 'creator', 'date', 'source', 'type',):
|
||||||
|
ans[tag.lower()] = base + 'sec-opf-dc' + tag
|
||||||
|
return ans
|
||||||
|
|
||||||
|
def write_tag_help():
|
||||||
|
base = 'editor-help/%s.json'
|
||||||
|
dump = partial(json.dumps, indent=2, sort_keys=True)
|
||||||
|
|
||||||
|
for category in ('HTML', 'SVG', 'MathML', 'CSS'):
|
||||||
|
data = get_mdn_tag_index(category)
|
||||||
|
with open(P(base % category.lower()), 'wb') as f:
|
||||||
|
f.write(dump(data))
|
||||||
|
|
||||||
|
with open(P(base % 'opf2'), 'wb') as f:
|
||||||
|
f.write(dump(get_opf2_tag_index()))
|
||||||
|
|
||||||
|
with open(P(base % 'opf3'), 'wb') as f:
|
||||||
|
f.write(dump(get_opf3_tag_index()))
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
write_tag_help()
|
@ -11,7 +11,7 @@ import re
|
|||||||
from PyQt4.Qt import QTextBlockUserData
|
from PyQt4.Qt import QTextBlockUserData
|
||||||
|
|
||||||
from calibre.gui2.tweak_book import verify_link
|
from calibre.gui2.tweak_book import verify_link
|
||||||
from calibre.gui2.tweak_book.editor import syntax_text_char_format, LINK_PROPERTY
|
from calibre.gui2.tweak_book.editor import syntax_text_char_format, LINK_PROPERTY, CSS_PROPERTY
|
||||||
from calibre.gui2.tweak_book.editor.syntax.base import SyntaxHighlighter
|
from calibre.gui2.tweak_book.editor.syntax.base import SyntaxHighlighter
|
||||||
|
|
||||||
space_pat = re.compile(r'[ \n\t\r\f]+')
|
space_pat = re.compile(r'[ \n\t\r\f]+')
|
||||||
@ -29,7 +29,9 @@ URL_TOKEN = 'url'
|
|||||||
|
|
||||||
content_tokens = [(re.compile(k), v, n) for k, v, n in [
|
content_tokens = [(re.compile(k), v, n) for k, v, n in [
|
||||||
(r'url\(.*?\)', 'string', URL_TOKEN),
|
(r'url\(.*?\)', 'string', URL_TOKEN),
|
||||||
|
|
||||||
(r'@\S+', 'preproc', 'at-rule'),
|
(r'@\S+', 'preproc', 'at-rule'),
|
||||||
|
|
||||||
(r'(azimuth|background-attachment|background-color|'
|
(r'(azimuth|background-attachment|background-color|'
|
||||||
r'background-image|background-position|background-repeat|'
|
r'background-image|background-position|background-repeat|'
|
||||||
r'background|border-bottom-color|border-bottom-style|'
|
r'background|border-bottom-color|border-bottom-style|'
|
||||||
@ -86,7 +88,8 @@ content_tokens = [(re.compile(k), v, n) for k, v, n in [
|
|||||||
r'transparent|ultra-condensed|ultra-expanded|underline|'
|
r'transparent|ultra-condensed|ultra-expanded|underline|'
|
||||||
r'upper-alpha|upper-latin|upper-roman|uppercase|url|'
|
r'upper-alpha|upper-latin|upper-roman|uppercase|url|'
|
||||||
r'visible|w-resize|wait|wider|x-fast|x-high|x-large|x-loud|'
|
r'visible|w-resize|wait|wider|x-fast|x-high|x-large|x-loud|'
|
||||||
r'x-low|x-small|x-soft|xx-large|xx-small|yes)\b', 'keyword', 'keyword'),
|
r'x-low|x-small|x-soft|xx-large|xx-small|yes|src)\b', 'keyword', 'keyword'),
|
||||||
|
|
||||||
(r'(indigo|gold|firebrick|indianred|yellow|darkolivegreen|'
|
(r'(indigo|gold|firebrick|indianred|yellow|darkolivegreen|'
|
||||||
r'darkseagreen|mediumvioletred|mediumorchid|chartreuse|'
|
r'darkseagreen|mediumvioletred|mediumorchid|chartreuse|'
|
||||||
r'mediumslateblue|black|springgreen|crimson|lightsalmon|brown|'
|
r'mediumslateblue|black|springgreen|crimson|lightsalmon|brown|'
|
||||||
@ -112,13 +115,21 @@ content_tokens = [(re.compile(k), v, n) for k, v, n in [
|
|||||||
r'lightslategray|lawngreen|lightgreen|tomato|hotpink|'
|
r'lightslategray|lawngreen|lightgreen|tomato|hotpink|'
|
||||||
r'lightyellow|lavenderblush|linen|mediumaquamarine|green|'
|
r'lightyellow|lavenderblush|linen|mediumaquamarine|green|'
|
||||||
r'blueviolet|peachpuff)\b', 'colorname', 'colorname'),
|
r'blueviolet|peachpuff)\b', 'colorname', 'colorname'),
|
||||||
|
|
||||||
(r'\!important', 'preproc', 'important'),
|
(r'\!important', 'preproc', 'important'),
|
||||||
|
|
||||||
(r'\#[a-zA-Z0-9]{1,6}', 'number', 'hexnumber'),
|
(r'\#[a-zA-Z0-9]{1,6}', 'number', 'hexnumber'),
|
||||||
|
|
||||||
(r'[\.-]?[0-9]*[\.]?[0-9]+(em|px|pt|pc|in|mm|cm|ex|s|rem)\b', 'number', 'dimension'),
|
(r'[\.-]?[0-9]*[\.]?[0-9]+(em|px|pt|pc|in|mm|cm|ex|s|rem)\b', 'number', 'dimension'),
|
||||||
|
|
||||||
(r'[\.-]?[0-9]*[\.]?[0-9]+%(?=$|[ \n\t\f\r;}{()\[\]])', 'number', 'dimension'),
|
(r'[\.-]?[0-9]*[\.]?[0-9]+%(?=$|[ \n\t\f\r;}{()\[\]])', 'number', 'dimension'),
|
||||||
|
|
||||||
(r'-?[0-9]+', 'number', 'number'),
|
(r'-?[0-9]+', 'number', 'number'),
|
||||||
|
|
||||||
(r'[~\^\*!%&<>\|+=@:,./?-]+', 'operator', 'operator'),
|
(r'[~\^\*!%&<>\|+=@:,./?-]+', 'operator', 'operator'),
|
||||||
|
|
||||||
(r'[\[\]();]+', 'bracket', 'bracket'),
|
(r'[\[\]();]+', 'bracket', 'bracket'),
|
||||||
|
|
||||||
(r'[a-zA-Z_][a-zA-Z0-9_]*', 'identifier', 'ident')
|
(r'[a-zA-Z_][a-zA-Z0-9_]*', 'identifier', 'ident')
|
||||||
|
|
||||||
]]
|
]]
|
||||||
@ -266,8 +277,6 @@ def create_formats(highlighter):
|
|||||||
'comment': theme['Comment'],
|
'comment': theme['Comment'],
|
||||||
'error': theme['Error'],
|
'error': theme['Error'],
|
||||||
'string': theme['String'],
|
'string': theme['String'],
|
||||||
'preproc': theme['PreProc'],
|
|
||||||
'keyword': theme['Keyword'],
|
|
||||||
'colorname': theme['Constant'],
|
'colorname': theme['Constant'],
|
||||||
'number': theme['Number'],
|
'number': theme['Number'],
|
||||||
'operator': theme['Function'],
|
'operator': theme['Function'],
|
||||||
@ -290,6 +299,10 @@ def create_formats(highlighter):
|
|||||||
formats['bad_link'] = syntax_text_char_format(theme['BadLink'])
|
formats['bad_link'] = syntax_text_char_format(theme['BadLink'])
|
||||||
formats['bad_link'].setProperty(LINK_PROPERTY, True)
|
formats['bad_link'].setProperty(LINK_PROPERTY, True)
|
||||||
formats['bad_link'].setToolTip(_('This link points to a file that is not present in the book'))
|
formats['bad_link'].setToolTip(_('This link points to a file that is not present in the book'))
|
||||||
|
formats['preproc'] = f = syntax_text_char_format(theme['PreProc'])
|
||||||
|
f.setProperty(CSS_PROPERTY, True)
|
||||||
|
formats['keyword'] = f = syntax_text_char_format(theme['Keyword'])
|
||||||
|
f.setProperty(CSS_PROPERTY, True)
|
||||||
return formats
|
return formats
|
||||||
|
|
||||||
|
|
||||||
|
@ -17,7 +17,8 @@ from calibre.spell.dictionary import parse_lang_code
|
|||||||
from calibre.spell.break_iterator import split_into_words_and_positions
|
from calibre.spell.break_iterator import split_into_words_and_positions
|
||||||
from calibre.gui2.tweak_book import dictionaries, tprefs, verify_link
|
from calibre.gui2.tweak_book import dictionaries, tprefs, verify_link
|
||||||
from calibre.gui2.tweak_book.editor import (
|
from calibre.gui2.tweak_book.editor import (
|
||||||
syntax_text_char_format, SPELL_PROPERTY, SPELL_LOCALE_PROPERTY, store_locale, LINK_PROPERTY)
|
syntax_text_char_format, SPELL_PROPERTY, SPELL_LOCALE_PROPERTY,
|
||||||
|
store_locale, LINK_PROPERTY, TAG_NAME_PROPERTY)
|
||||||
from calibre.gui2.tweak_book.editor.syntax.base import SyntaxHighlighter, run_loop
|
from calibre.gui2.tweak_book.editor.syntax.base import SyntaxHighlighter, run_loop
|
||||||
from calibre.gui2.tweak_book.editor.syntax.css import (
|
from calibre.gui2.tweak_book.editor.syntax.css import (
|
||||||
create_formats as create_css_formats, state_map as css_state_map, CSSState, CSSUserData)
|
create_formats as create_css_formats, state_map as css_state_map, CSSState, CSSUserData)
|
||||||
@ -504,7 +505,6 @@ def create_formats(highlighter, add_css=True):
|
|||||||
'tag': t['Function'],
|
'tag': t['Function'],
|
||||||
'end_tag': t['Function'],
|
'end_tag': t['Function'],
|
||||||
'attr': t['Type'],
|
'attr': t['Type'],
|
||||||
'tag_name' : t['Statement'],
|
|
||||||
'entity': t['Special'],
|
'entity': t['Special'],
|
||||||
'error': t['Error'],
|
'error': t['Error'],
|
||||||
'comment': t['Comment'],
|
'comment': t['Comment'],
|
||||||
@ -538,6 +538,8 @@ def create_formats(highlighter, add_css=True):
|
|||||||
formats['bad_link'] = syntax_text_char_format(t['BadLink'])
|
formats['bad_link'] = syntax_text_char_format(t['BadLink'])
|
||||||
formats['bad_link'].setProperty(LINK_PROPERTY, True)
|
formats['bad_link'].setProperty(LINK_PROPERTY, True)
|
||||||
formats['bad_link'].setToolTip(_('This link points to a file that is not present in the book'))
|
formats['bad_link'].setToolTip(_('This link points to a file that is not present in the book'))
|
||||||
|
formats['tag_name'] = f = syntax_text_char_format(t['Statement'])
|
||||||
|
f.setProperty(TAG_NAME_PROPERTY, True)
|
||||||
return formats
|
return formats
|
||||||
|
|
||||||
|
|
||||||
|
@ -16,9 +16,10 @@ from PyQt4.Qt import (
|
|||||||
from calibre import prints
|
from calibre import prints
|
||||||
from calibre.constants import DEBUG
|
from calibre.constants import DEBUG
|
||||||
from calibre.ebooks.chardet import replace_encoding_declarations
|
from calibre.ebooks.chardet import replace_encoding_declarations
|
||||||
from calibre.gui2 import error_dialog
|
from calibre.gui2 import error_dialog, open_url
|
||||||
from calibre.gui2.tweak_book import actions, current_container, tprefs, dictionaries, editor_toolbar_actions, editor_name
|
from calibre.gui2.tweak_book import actions, current_container, tprefs, dictionaries, editor_toolbar_actions, editor_name
|
||||||
from calibre.gui2.tweak_book.editor import SPELL_PROPERTY, LINK_PROPERTY
|
from calibre.gui2.tweak_book.editor import SPELL_PROPERTY, LINK_PROPERTY, TAG_NAME_PROPERTY, CSS_PROPERTY
|
||||||
|
from calibre.gui2.tweak_book.editor.help import help_url
|
||||||
from calibre.gui2.tweak_book.editor.text import TextEdit
|
from calibre.gui2.tweak_book.editor.text import TextEdit
|
||||||
from calibre.utils.icu import utf16_length
|
from calibre.utils.icu import utf16_length
|
||||||
|
|
||||||
@ -443,6 +444,13 @@ class Editor(QMainWindow):
|
|||||||
href = self.editor.text_for_range(origc.block(), origr)
|
href = self.editor.text_for_range(origc.block(), origr)
|
||||||
m.addAction(_('Open %s') % href, partial(self.link_clicked.emit, href))
|
m.addAction(_('Open %s') % href, partial(self.link_clicked.emit, href))
|
||||||
|
|
||||||
|
if origr is not None and (origr.format.property(TAG_NAME_PROPERTY).toBool() or origr.format.property(CSS_PROPERTY).toBool()):
|
||||||
|
word = self.editor.text_for_range(origc.block(), origr)
|
||||||
|
item_type = 'tag_name' if origr.format.property(TAG_NAME_PROPERTY).toBool() else 'css_property'
|
||||||
|
url = help_url(word, item_type, self.editor.highlighter.doc_name, extra_data=current_container().opf_version)
|
||||||
|
if url is not None:
|
||||||
|
m.addAction(_('Show help for: %s') % word, partial(open_url, url))
|
||||||
|
|
||||||
for x in ('undo', 'redo'):
|
for x in ('undo', 'redo'):
|
||||||
a(actions['editor-%s' % x])
|
a(actions['editor-%s' % x])
|
||||||
m.addSeparator()
|
m.addSeparator()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user