📄 html.h
字号:
Bool IsLetter(uint c);Bool IsDigit(uint c);Bool IsWhite(uint c);/* used to fixup doctype to match contents */Node *FindDocType(Node *root);Node *FindHTML(Node *root);Node *FindHEAD(Node *root);Bool AddGenerator(Lexer *lexer, Node *root);void DiscardDocType(Node *root);Bool FixDocType(Lexer *lexer, Node *node);char *HTMLVersionName(Lexer *lexer);int ApparentVersion(Lexer *lexer);Bool FixXMLPI(Lexer *lexer, Node *root);Bool SetXHTMLDocType(Lexer *lexer, Node *root);void FixId(Lexer *lexer, Node *node);/* used to detect faulty attributes */Bool IsValidAttrName( char *attr);/* parser.c */Node *ParseDocument(Lexer *lexer);Node *ParseXMLDocument(Lexer *lexer);Bool XMLPreserveWhiteSpace(Node *element);Bool CheckNodeIntegrity(Node *node);Bool IsNewNode(Node *node);void RemoveNode(Node *node);Node *DiscardElement(Node *element);void InsertNodeAtStart(Node *element, Node *node);void InsertNodeAtEnd(Node *element, Node *node);void InsertNodeBeforeElement(Node *element, Node *node);void InsertNodeAfterElement(Node *element, Node *node);Bool IsJavaScript(Node *node);/* attrs.c */void InitAttrs(void);void FreeAttrTable(void);Attribute *FindAttribute(AttVal *attval);AttVal *GetAttrByName(Node *node, char *name);void AddAttribute(Node *node, char *name, char *value);void CheckUniqueAttributes(Lexer *lexer, Node *node);void CheckAttributes(Lexer *lexer, Node *node);Attribute *CheckAttribute(Lexer *lexer, Node *node, AttVal *attval);Bool IsUrl(char *attrname);Bool IsScript(char *attrname);/* istack.c */void PushInline(Lexer *lexer, Node *node);void PopInline(Lexer *lexer, Node *node);Bool IsPushed(Lexer *lexer, Node *node);int InlineDup(Lexer *lexer, Node *node);Node *InsertedToken(Lexer *lexer);AttVal *DupAttrs(AttVal *attrs);void DeferDup(Lexer *lexer);void InsertNode(Node *element, Node *node);/* clean.c */void FreeStyles(Lexer *lexer);void CleanTree(Lexer *lexer, Node *node);void EmFromI(Node *node);void CleanWord2000(Node *node);void DropSections(Lexer *lexer, Node *node);void List2BQ(Node *node);void BQ2Div(Node *node);Bool IsWord2000(Node *root);/* entities.c */void InitEntities(void);void FreeEntities(void);uint EntityCode(char *name);char *EntityName(uint n);/* tags.c */void DefineEmptyTag(char *name);void DefineInlineTag(char *name);void DefineBlockTag(char *name);void DefinePreTag(char *name);Bool FindTag(Node *node);void InitTags(void);void FreeTags(void);int HTMLVersion(Lexer *lexer);/* localize.c -- used for all message text */void ShowVersion(FILE *fp);void ReadingFromStdin();void ReportUnknownOption(char *option);void ReportBadArgument(char *option);void NeedsAuthorIntervention(FILE *errout);void MissingBody(FILE *errout);void ReportNumberOfSlides(FILE *errout, int count);void GeneralInfo(FILE *errout);void HelloMessage(FILE *errout, char *date, char *filename);void ReportVersion(FILE *errout, char *filename, char *vers);void ReportNumWarnings(FILE *errout, Lexer *lexer);/* pprint.c */void FreePrintBuf(void);void PPrintTree(Out *out, uint mode, uint indent, Lexer *lexer, Node *node);void PPrintXMLTree(Out *fout, uint mode, uint indent, Lexer *lexer, Node *node);void PFlushLine(Out *out, uint indent);void PCondFlushLine(Out *out, uint indent);void PPrintAsp(Out *fout, uint indent, Lexer *lexer, Node *node);void PPrintPhp(Out *fout, uint indent, Lexer *lexer, Node *node);void AddTransitionEffect(Lexer *lexer, Node *root, int effect, float duration);Node *FindHead(Node *root);Node *FindBody(Node *root);/* tidy.c */#define EndOfStream EOFvoid *MemAlloc(uint size);void *MemRealloc(void *mem, uint newsize);void MemFree(void *mem);int ReadChar(StreamIn *in);void UngetChar(int c, StreamIn *in);/* string functions */char *wstrdup(char *str);char *wstrndup(char *str, int len);void wstrncpy(char *s1, char *s2, int size);int wstrcmp(char *s1, char *s2);int wstrcasecmp(char *s1, char *s2); int wstrncmp(char *s1, char *s2, int n);int wstrncasecmp(char *s1, char *s2, int n); int wstrlen(char *str);Bool wsubstr(char *s1, char *s2);void ClearMemory(void *, uint size);#define uprintf fprintf/* error codes for entities */#define MISSING_SEMICOLON 1#define UNKNOWN_ENTITY 2#define UNESCAPED_AMPERSAND 3/* error codes for element messages */#define MISSING_ENDTAG_FOR 1#define MISSING_ENDTAG_BEFORE 2#define DISCARDING_UNEXPECTED 3#define NESTED_EMPHASIS 4#define NON_MATCHING_ENDTAG 5#define TAG_NOT_ALLOWED_IN 6#define MISSING_STARTTAG 7#define UNEXPECTED_ENDTAG 8#define USING_BR_INPLACE_OF 9#define INSERTING_TAG 10#define SUSPECTED_MISSING_QUOTE 11#define MISSING_TITLE_ELEMENT 12#define DUPLICATE_FRAMESET 13#define CANT_BE_NESTED 14#define OBSOLETE_ELEMENT 15#define PROPRIETARY_ELEMENT 16#define UNKNOWN_ELEMENT 17#define TRIM_EMPTY_ELEMENT 18#define COERCE_TO_ENDTAG 19#define ILLEGAL_NESTING 20#define NOFRAMES_CONTENT 21#define CONTENT_AFTER_BODY 22#define INCONSISTENT_VERSION 23#define MALFORMED_COMMENT 24#define BAD_COMMENT_CHARS 25#define BAD_XML_COMMENT 26#define BAD_CDATA_CONTENT 27#define INCONSISTENT_NAMESPACE 28#define DOCTYPE_AFTER_TAGS 29#define MALFORMED_DOCTYPE 30#define UNEXPECTED_END_OF_FILE 31/* error codes used for attribute messages */#define UNKNOWN_ATTRIBUTE 1#define MISSING_ATTRIBUTE 2#define MISSING_ATTR_VALUE 3#define BAD_ATTRIBUTE_VALUE 4#define UNEXPECTED_GT 5#define PROPRIETARY_ATTR_VALUE 6#define REPEATED_ATTRIBUTE 7#define MISSING_IMAGEMAP 8#define XML_ATTRIBUTE_VALUE 9#define UNEXPECTED_QUOTEMARK 10#define ID_NAME_MISMATCH 11/* page transition effects */#define EFFECT_BLEND -1#define EFFECT_BOX_IN 0#define EFFECT_BOX_OUT 1#define EFFECT_CIRCLE_IN 2#define EFFECT_CIRCLE_OUT 3#define EFFECT_WIPE_UP 4#define EFFECT_WIPE_DOWN 5#define EFFECT_WIPE_RIGHT 6#define EFFECT_WIPE_LEFT 7#define EFFECT_VERT_BLINDS 8#define EFFECT_HORZ_BLINDS 9#define EFFECT_CHK_ACROSS 10#define EFFECT_CHK_DOWN 11#define EFFECT_RND_DISSOLVE 12#define EFFECT_SPLIT_VIRT_IN 13#define EFFECT_SPLIT_VIRT_OUT 14#define EFFECT_SPLIT_HORZ_IN 15#define EFFECT_SPLIT_HORZ_OUT 16#define EFFECT_STRIPS_LEFT_DOWN 17#define EFFECT_STRIPS_LEFT_UP 18#define EFFECT_STRIPS_RIGHT_DOWN 19#define EFFECT_STRIPS_RIGHT_UP 20#define EFFECT_RND_BARS_HORZ 21#define EFFECT_RND_BARS_VERT 22#define EFFECT_RANDOM 23/* accessibility flaws */#define MISSING_IMAGE_ALT 1#define MISSING_LINK_ALT 2#define MISSING_SUMMARY 4#define MISSING_IMAGE_MAP 8#define USING_FRAMES 16#define USING_NOFRAMES 32/* presentation flaws */#define USING_SPACER 1#define USING_LAYER 2#define USING_NOBR 4#define USING_FONT 8/* character encoding errors */#define WINDOWS_CHARS 1#define NON_ASCII 2#define FOUND_UTF16 4void HelpText(FILE *errout, char *prog);void GeneralInfo(FILE *errout);void UnknownOption(FILE *errout, char c);void UnknownFile(FILE *errout, char *program, char *file);void ErrorSummary(Lexer *lexer);void ReportEncodingError(Lexer *lexer, uint code, uint c);void ReportEntityError(Lexer *lexer, uint code, char *entity, int c);void ReportAttrError(Lexer *lexer, Node *node, char *attr, uint code);void ReportWarning(Lexer *lexer, Node *element, Node *node, uint code);void ReportError(Lexer *lexer, Node *element, Node *node, uint code);/* slide maker functions */Node *FindBody(Node *node);/* counts number of h1 children belonging to node */int CountSlides(Node *node);void PPrintSlide(Out *fout, uint mode, uint indent, Lexer *lexer);void CreateSlides(Lexer *lexer, Node *root);/* config parameters, see config.c for defaults */void InitConfig(void);void FreeConfig(void);void ParseConfigFile(char *file);Bool ParseConfig(char *option, char *parameter);void AdjustConfig(void);extern uint spaces; /* default indentation */extern uint wraplen; /* default wrap margin */extern int CharEncoding;extern int tabsize;extern DocTypeMode doctype_mode; /* see doctype property */extern char *doctype_str; /* user specified doctype */extern char *slide_style; /* style sheet for slides */extern char *errfile; /* file name to write errors to */extern Bool writeback; /* if true then output tidied markup */extern Bool KeepFileTimes; /* if true keeps last modified time */extern Bool TidyMark; /* add meta element indicating tidied doc */extern Bool OnlyErrors; /* if true normal output is suppressed */extern Bool ShowWarnings; /* errors are always shown */extern Bool Quiet;extern Bool IndentContent;extern Bool SmartIndent;extern Bool HideEndTags;extern Bool XmlTags;extern Bool XmlOut;extern Bool xHTML;extern Bool ForMZ; /* ForMZ HERE! */extern Bool XmlPi; /* add <?xml?> */extern Bool XmlPIs; /* assume PIs end with ?> as per XML */extern Bool RawOut;extern Bool UpperCaseTags;extern Bool UpperCaseAttrs;extern Bool MakeClean;extern Bool LogicalEmphasis;extern Bool DropEmptyParas;extern Bool FixComments;extern Bool DropFontTags;extern Bool EncloseText;extern Bool BurstSlides;extern Bool BreakBeforeBR;extern Bool NumEntities;extern Bool QuoteMarks;extern Bool QuoteNbsp;extern Bool QuoteAmpersand;extern Bool WrapAttVals;extern Bool WrapScriptlets;extern Bool WrapSection;extern Bool WrapAsp;extern Bool WrapJste;extern Bool WrapPhp;extern Bool FixBackslash;extern Bool IndentAttributes;extern Bool Word2000;/* Parser methods for tags */Parser ParseHTML;Parser ParseHead;Parser ParseTitle;Parser ParseScript;Parser ParseFrameSet;Parser ParseNoFrames;Parser ParseBody;Parser ParsePre;Parser ParseList;Parser ParseLI;Parser ParseDefList;Parser ParseBlock;Parser ParseInline;Parser ParseTableTag;Parser ParseColGroup;Parser ParseRowGroup;Parser ParseRow;Parser ParseSelect;Parser ParseOptGroup;Parser ParseText;Parser ParseObject;Parser ParseMap;/* Attribute checking methods */CheckAttribs CheckIMG;CheckAttribs CheckAnchor;CheckAttribs CheckMap;CheckAttribs CheckAREA;CheckAttribs CheckTABLE;CheckAttribs CheckCaption;CheckAttribs CheckSCRIPT;CheckAttribs CheckSTYLE;CheckAttribs CheckHTML;/* used to control printing of null attributes */Bool IsBoolAttribute(AttVal *attval);extern Dict *tag_html;extern Dict *tag_head;extern Dict *tag_body;extern Dict *tag_frameset;extern Dict *tag_frame;extern Dict *tag_noframes;extern Dict *tag_title;extern Dict *tag_hr;extern Dict *tag_meta;extern Dict *tag_pre;extern Dict *tag_listing;extern Dict *tag_h1;extern Dict *tag_h2;extern Dict *tag_p;extern Dict *tag_ul;extern Dict *tag_ol;extern Dict *tag_dir;extern Dict *tag_li;extern Dict *tag_dt;extern Dict *tag_dd;extern Dict *tag_dl;extern Dict *tag_td;extern Dict *tag_th;extern Dict *tag_tr;extern Dict *tag_col;extern Dict *tag_br;extern Dict *tag_a;extern Dict *tag_link;extern Dict *tag_b;extern Dict *tag_i;extern Dict *tag_strong;extern Dict *tag_em;extern Dict *tag_param;extern Dict *tag_option;extern Dict *tag_optgroup;extern Dict *tag_map;extern Dict *tag_area;extern Dict *tag_nobr;extern Dict *tag_wbr;extern Dict *tag_layer;extern Dict *tag_center;extern Dict *tag_spacer;extern Dict *tag_font;extern Dict *tag_style;extern Dict *tag_script;extern Dict *tag_noscript;extern Dict *tag_table;extern Dict *tag_caption;extern Dict *tag_form;extern Dict *tag_textarea;extern Dict *tag_blockquote;extern Dict *tag_applet;extern Dict *tag_object;extern Dict *tag_div;extern Dict *tag_span;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -