html.js 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. /*
  2. Copyright (c) 2004-2012, The Dojo Foundation All Rights Reserved.
  3. Available via Academic Free License >= 2.1 OR the modified BSD license.
  4. see: http://dojotoolkit.org/license for details
  5. */
  6. if(!dojo._hasResource["dojox.highlight.languages.html"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
  7. dojo._hasResource["dojox.highlight.languages.html"] = true;
  8. dojo.provide("dojox.highlight.languages.html");
  9. dojo.require("dojox.highlight._base");
  10. dojo.require("dojox.highlight.languages.xml");
  11. (function(){
  12. var HTML_TAGS = {
  13. 'code': 1, 'kbd': 1, 'font': 1, 'noscript': 1, 'style': 1, 'img': 1,
  14. 'title': 1, 'menu': 1, 'tt': 1, 'tr': 1, 'param': 1, 'li': 1, 'tfoot': 1,
  15. 'th': 1, 'input': 1, 'td': 1, 'dl': 1, 'blockquote': 1, 'fieldset': 1,
  16. 'big': 1, 'dd': 1, 'abbr': 1, 'optgroup': 1, 'dt': 1, 'button': 1,
  17. 'isindex': 1, 'p': 1, 'small': 1, 'div': 1, 'dir': 1, 'em': 1, 'frame': 1,
  18. 'meta': 1, 'sub': 1, 'bdo': 1, 'label': 1, 'acronym': 1, 'sup': 1,
  19. 'body': 1, 'xml': 1, 'basefont': 1, 'base': 1, 'br': 1, 'address': 1,
  20. 'strong': 1, 'legend': 1, 'ol': 1, 'script': 1, 'caption': 1, 's': 1,
  21. 'col': 1, 'h2': 1, 'h3': 1, 'h1': 1, 'h6': 1, 'h4': 1, 'h5': 1, 'table': 1,
  22. 'select': 1, 'noframes': 1, 'span': 1, 'area': 1, 'dfn': 1, 'strike': 1,
  23. 'cite': 1, 'thead': 1, 'head': 1, 'option': 1, 'form': 1, 'hr': 1,
  24. 'var': 1, 'link': 1, 'b': 1, 'colgroup': 1, 'ul': 1, 'applet': 1, 'del': 1,
  25. 'iframe': 1, 'pre': 1, 'frameset': 1, 'ins': 1, 'tbody': 1, 'html': 1,
  26. 'samp': 1, 'map': 1, 'object': 1, 'a': 1, 'xmlns': 1, 'center': 1,
  27. 'textarea': 1, 'i': 1, 'q': 1, 'u': 1
  28. };
  29. var HTML_DOCTYPE = {
  30. className: 'doctype',
  31. begin: '<!DOCTYPE', end: '>',
  32. relevance: 10
  33. };
  34. var HTML_ATTR = {
  35. className: 'attribute',
  36. begin: ' [a-zA-Z]+', end: '^'
  37. };
  38. var HTML_VALUE = {
  39. className: 'value',
  40. begin: '[a-zA-Z0-9]+', end: '^'
  41. };
  42. var dh = dojox.highlight, dhc = dh.constants, dhl = dh.languages, x = dhl.xml;
  43. dhl.html = {
  44. defaultMode: {
  45. contains: ['tag', 'comment', 'doctype']
  46. },
  47. case_insensitive: true,
  48. modes: [
  49. x.XML_COMMENT,
  50. HTML_DOCTYPE,
  51. {
  52. className: 'tag',
  53. lexems: [dhc.IDENT_RE],
  54. keywords: HTML_TAGS,
  55. begin: '<[A-Za-z/]', end: '>',
  56. contains: ['attribute'],
  57. illegal: '[\\+\\.]'
  58. },
  59. x.XML_ATTR,
  60. HTML_ATTR,
  61. x.XML_VALUE,
  62. HTML_VALUE
  63. ],
  64. // exporting constants
  65. HTML_TAGS: HTML_TAGS,
  66. HTML_DOCTYPE: HTML_DOCTYPE,
  67. HTML_ATTR: HTML_ATTR,
  68. HTML_VALUE: HTML_VALUE
  69. };
  70. })();
  71. }