diff --git a/attribute.dd b/attribute.dd index 94f7b425f1..9764fb77c9 100644 --- a/attribute.dd +++ b/attribute.dd @@ -129,7 +129,7 @@ extern (Windows): $(LINK2 http://en.wikipedia.org/wiki/X86_calling_conventions, stdcall) convention.) $(P Note that a lone $(D extern) declaration is used as a - $(LINK2 declaration.html#extern, storage class).) + $(DDSUBLINK declaration, extern, storage class).) $(H4 C++ $(LNAME2 namespace, Namespaces)) @@ -504,11 +504,11 @@ $(H3 $(LNAME2 disable, $(D @disable) Attribute)) } --- - $(P $(LINK2 struct.html#Struct-Constructor, Disabling struct no-arg constructor) + $(P $(DDSUBLINK struct, Struct-Constructor, Disabling struct no-arg constructor) disallows default construction of the struct. ) - $(P $(LINK2 struct.html#StructPostblit, Disabling struct postblit) + $(P $(DDSUBLINK struct, StructPostblit, Disabling struct postblit) makes the struct not copyable. ) @@ -554,19 +554,19 @@ $(H3 $(LNAME2 nogc, $(D @nogc) Attribute)) $(H3 $(LNAME2 property, $(D @property) Attribute)) - $(P See $(LINK2 function.html#property-functions, Property Functions).) + $(P See $(DDSUBLINK function, property-functions, Property Functions).) $(H3 $(LNAME2 nothrow, $(D nothrow) Attribute)) - $(P See $(LINK2 function.html#nothrow-functions, Nothrow Functions).) + $(P See $(DDSUBLINK function, nothrow-functions, Nothrow Functions).) $(H3 $(LNAME2 pure, $(D pure) Attribute)) - $(P See $(LINK2 function.html#pure-functions, Pure Functions).) + $(P See $(DDSUBLINK function, pure-functions, Pure Functions).) $(H3 $(LNAME2 ref, $(D ref) Attribute)) - $(P See $(LINK2 function.html#ref-functions, Ref Functions).) + $(P See $(DDSUBLINK function, ref-functions, Ref Functions).) $(H3 $(LNAME2 override, $(D override) Attribute)) diff --git a/class.dd b/class.dd index 71b3ffdb20..a1fcdd5824 100644 --- a/class.dd +++ b/class.dd @@ -913,7 +913,7 @@ new(1,2) Foo(a); // calls new(Foo.sizeof,1,2) ) $(P See also - $(DPLLINK memory.html#newdelete, Explicit Class Instance Allocation). + $(DDLINK1 memory, newdelete, Explicit Class Instance Allocation). ) $(H3 $(LNAME2 deallocators, Class Deallocators)) @@ -969,7 +969,7 @@ delete f; ) $(P See also - $(DPLLINK memory.html#newdelete, Explicit Class Instance Allocation). + $(DDSUBLINK memory, newdelete, Explicit Class Instance Allocation). ) $(H3 $(LEGACY_LNAME2 AliasThis, alias-this, Alias This)) diff --git a/cpp0x.dd b/cpp0x.dd index aadc14528b..70cb38bf3a 100644 --- a/cpp0x.dd +++ b/cpp0x.dd @@ -107,7 +107,7 @@ $(SECTION3 $(LNAME2 move-semantics, Extending Move Semantics To *this (Revision $(SECTION3 $(LNAME2 static-assert, static_assert), $(P $(LINK2 $(NDOCS)2004/n1720.html, N1720): - $(LINK2 version.html#StaticAssert, static assert) is + $(DDSUBLINK version, StaticAssert, static assert) is part of D. ) @@ -117,7 +117,7 @@ $(SECTION3 $(LNAME2 template-aliases, Template aliases for C++), $(P $(LINK2 $(NDOCS)2007/n2258.pdf, N2258): Both $(LINK2 template.html, templates and template instantiations) - can be $(LINK2 declaration.html#alias, aliased): + can be $(DDSUBLINK declaration, alias, aliased): ) --- struct S(T) { T int; } @@ -145,7 +145,7 @@ $(SECTION3 $(LNAME2 extern-template, Extern template), $(SECTION3 $(LNAME2 variadic-templates, Variadic Templates), $(P $(LINK2 $(NDOCS)2007/n2242.pdf, N2242): - D's $(LINK2 template.html#variadic-templates, variadic templates). + D's $(DDSUBLINK template, variadic-templates, variadic templates). ) ) @@ -160,7 +160,7 @@ $(SECTION3 $(LNAME2 variadic-template-templates, Extending Variadic Template Tem $(SECTION3 $(LNAME2 nullptr, A name for the null pointer: nullptr), $(P $(LINK2 $(NDOCS)2007/n2431.pdf, N2431): - D has the $(LINK2 expression.html#null, null) equivalent. + D has the $(DDSUBLINK expression, null, null) equivalent. ) ) @@ -200,7 +200,7 @@ $(SECTION3 $(LNAME2 extended-friends, Extended friend Declarations), $(P $(LINK2 $(NDOCS)2005/n1791.pdf, N1791): All code in a module has - $(LINK2 attribute.html#ProtectionAttribute, access) + $(DDSUBLINK attribute, ProtectionAttribute, access) to private members of any struct or class declared in that module that is in scope. @@ -215,7 +215,7 @@ $(SECTION3 $(LNAME2 extended-friends, Extended friend Declarations), $(SECTION3 $(LNAME2 constant-expressions, Generalized Constant Expressions), $(P $(LINK2 $(NDOCS)2007/n2235.pdf, N2235): - D has $(LINK2 function.html#interpretation, compile time function execution) + D has $(DDSUBLINK function, interpretation, compile time function execution) (CTFE). CTFE is much more flexible, as functions to be evaluated at compile time: ) @@ -251,9 +251,9 @@ $(SECTION3 $(LNAME2 c99-preprocessor, Synchronizing the C++ preprocessor with C9 $(SECTION3 $(LNAME2 alignment, Adding Alignment Support to the C++ Programming Language), $(P $(LINK2 $(NDOCS)2007/n2341.pdf, N2341): - D has the $(LINK2 attribute.html#align, align) + D has the $(DDSUBLINK attribute, align, align) attribute to specify the alignment - of declarations, and the $(LINK2 property.html#alignof, .alignof) + of declarations, and the $(DDSUBLINK property, alignof, .alignof) property to determine the alignment size of an expression or type. ) @@ -303,7 +303,7 @@ $(SECTION3 $(LNAME2 delegating-ctors, Delegating Constructors), $(P $(LINK2 $(NDOCS)2006/n1986.pdf, N1986): D has - $(LINK2 class.html#delegating-constructors, delegating constructors). + $(DDSUBLINK class, delegating-constructors, delegating constructors). ) ) @@ -321,7 +321,7 @@ $(SECTION3 $(LNAME2 char16_t, New Character Types in C++), C++0x adds new character types char16_t and char32_t, which are equivalent to D's $(LINK2 type.html, wchar and dchar types). The u and U character literal prefixes are equivalent to the - D $(LINK2 lex.html#StringLiteral, w and d postfixes). + D $(DDSUBLINK lex, StringLiteral, w and d postfixes). ) ) @@ -339,7 +339,7 @@ $(SECTION3 $(LNAME2 right-angle-brackets, Right Angle Brackets), $(SECTION3 $(LNAME2 type-deduction, Deducing the type of variable from its initializer expression), $(P $(LINK2 $(NDOCS)2006/n1984.pdf, N1984): - D has $(LINK2 declaration.html#AutoDeclaration, type inference) + D has $(DDSUBLINK declaration, AutoDeclaration, type inference) from initializers. ) @@ -348,7 +348,7 @@ $(SECTION3 $(LNAME2 type-deduction, Deducing the type of variable from its initi $(SECTION3 $(LNAME2 auto-declarations, The Syntax of auto Declarations), $(P $(LINK2 $(NDOCS)2008/n2546.html, N2546): - D $(LINK2 attribute.html#auto, auto declarations) + D $(DDSUBLINK attribute, auto, auto declarations) do not have syntactic issues. ) @@ -372,7 +372,7 @@ $(SECTION3 $(LNAME2 lambda, (monomorphic) Lambda expressions and closures for C+ $(P $(LINK2 $(NDOCS)2008/n2550.pdf, N2550): D has $(GLINK2 expression, FunctionLiteral)s (lambda expressions) and - $(LINK2 function.html#closures, closures). + $(DDSUBLINK function, closures, closures). ) ) @@ -401,7 +401,7 @@ $(SECTION3 $(LNAME2 concurrency, Sequencing and the concurrency memory model), $(SECTION3 $(LNAME2 raw-strings, Raw String Literals), $(P $(LINK2 $(NDOCS)2007/n2442.html, N2442): - D has $(LINK2 lex.html#StringLiteral, wysiwyg and delimited strings), + D has $(DDSUBLINK lex, StringLiteral, wysiwyg and delimited strings), and all strings are Unicode. ) @@ -411,7 +411,7 @@ $(SECTION3 $(LNAME2 pod, PODs unstrung), $(P $(LINK2 $(NDOCS)2007/n2294.html, N2294): All D $(LINK2 struct.html, structs) are - $(LINK2 glossary.html#pod, POD (Plain Old Data)). + $(DDSUBLINK glossary, pod, POD (Plain Old Data)). D $(LINK2 class.html, classes) are reference, polymorphic types. ) @@ -427,7 +427,7 @@ $(SECTION3 $(LNAME2 exceptions, Propagating exceptions when joining threads), $(SECTION3 $(LNAME2 decltype, Decltype), $(P $(LINK2 $(NDOCS)2007/n2343.pdf, N2343): - The equivalent D construct is $(LINK2 declaration.html#typeof, typeof). + The equivalent D construct is $(DDSUBLINK declaration, typeof, typeof). ) ) @@ -435,7 +435,7 @@ $(SECTION3 $(LNAME2 decltype, Decltype), $(SECTION3 $(LNAME2 sizeof, Extending sizeof), $(P $(LINK2 $(NDOCS)2007/n2253.html, N2253): - Using $(LINK2 property.html#sizeof, sizeof) without a $(I this) object: + Using $(DDSUBLINK property sizeof, sizeof) without a $(I this) object: --- struct S { @@ -459,7 +459,7 @@ void test() $(SECTION3 $(LNAME2 utf8-literals, UTF-8 Literals), $(P $(LINK2 $(NDOCS)2007/n2442.html, N2442): - $(LINK2 lex.html#StringLiteral, Char string literals) + $(DDSUBLINK lex, StringLiteral, Char string literals) are in UTF-8 format. ) @@ -469,7 +469,7 @@ $(SECTION3 $(LNAME2 ucs-in-literals, Universal Character Names in Literals), $(P $(LINK2 $(NDOCS)2007/n2170.html, N2170): All Unicode characters are allowed in - $(LINK2 lex.html#StringLiteral, string literals). + $(DDSUBLINK lex, StringLiteral, string literals). Surrogate pair halves are not allowed unless hex literal notation is used. ) @@ -478,8 +478,8 @@ $(SECTION3 $(LNAME2 ucs-in-literals, Universal Character Names in Literals), $(SECTION3 $(LNAME2 defaulted, Defaulted and Deleted Functions), - $(P $(LINK2 $(NDOCS)2007/n2326.html#delete, N2326): - D alows individual functions to be marked as $(LINK2 attribute.html#disable, disabled). + $(P $(DDSUBLINK $(NDOCS)2007/n2326, delete, N2326): + D alows individual functions to be marked as $(DDSUBLINK attribute, disable, disabled). ) ) @@ -533,9 +533,9 @@ $(SECTION3 $(LNAME2 initializer-lists, Initializer lists), $(P $(LINK2 $(NDOCS)2008/n2531.pdf, N2531): D has - $(LINK2 struct.html#StructLiteral, struct literals), - $(LINK2 expression.html#ArrayLiteral, array literals), - and $(LINK2 expression.html#AssocArrayLiteral, associative array literals). + $(DDSUBLINK struct, StructLiteral, struct literals), + $(DDSUBLINK expression, ArrayLiteral, array literals), + and $(DDSUBLINK expression, AssocArrayLiteral, associative array literals). ) ) @@ -555,7 +555,7 @@ $(SECTION3 $(LNAME2 member-initializers, Member Initializers), $(P $(LINK2 $(NDOCS)2007/n2426.htm, N2426): D has - $(LINK2 class.html#class-default-initializer, member initializers), + $(DDSUBLINK class, class-default-initializer, member initializers), which are called $(I default initializers). ) @@ -671,9 +671,8 @@ $(SECTION3 $(LNAME2 for-loop, Proposal for new for-loop), $(P $(LINK2 $(NDOCS)2007/n2394.html, N2394): This is equivalent to the D - $(LINK2 statement.html#ForeachRangeStatement, $(I ForeachRangeStatement)). + $(DDSUBLINK statement, ForeachRangeStatement, $(I ForeachRangeStatement)). ) - ) $(SECTION3 $(LNAME2 general-attributes, General Attributes for C++), diff --git a/css/cssmenu.css.dd b/css/cssmenu.css.dd new file mode 100644 index 0000000000..43a910b69d --- /dev/null +++ b/css/cssmenu.css.dd @@ -0,0 +1,183 @@ +Ddoc + +/*Adapted from http://cssmenumaker.com/menu/modern-jquery-accordion-menu +*/ +@import url(http://fonts.googleapis.com/css?family=Ubuntu:300,400,500,700); + +@import url(http://fonts.googleapis.com/css?family=Open+Sans:400,600,300); +@charset "UTF-8"; +/* Base Styles */ +#cssmenu, +#cssmenu ul, +#cssmenu li, +#cssmenu a { + margin: 0; + padding: 0; + border: 0; + list-style: none; + font-weight: normal; + text-decoration: none; + line-height: 1; + font-family: 'Open Sans', sans-serif; + font-size: 14px; + position: relative; +} +#cssmenu { +/* width: 250px;*/ + border-bottom: 4px solid $(bottom_border); + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} +#cssmenu a { + line-height: 1.3; +} +#cssmenu > ul > li:first-child { + background: $(top_bg); + background: -moz-linear-gradient($(top_bg) 0%, $(top_bg2) 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, $(top_bg)), color-stop(100%, $(top_bg2))); + background: -webkit-linear-gradient($(top_bg) 0%, $(top_bg2) 100%); + background: linear-gradient($(top_bg) 0%, $(top_bg2) 100%); + border: 1px solid $(top_bg2); + -webkit-border-radius: 3px 3px 0 0; + -moz-border-radius: 3px 3px 0 0; + border-radius: 3px 3px 0 0; +} +#cssmenu > ul > li:first-child > a { + padding: 15px 10px; + background: url(../images/pattern.png) top left repeat; + border: none; + border-top: 1px solid $(top_border); + -webkit-border-radius: 3px 3px 0 0; + -moz-border-radius: 3px 3px 0 0; + border-radius: 3px 3px 0 0; + font-family: 'Ubuntu', sans-serif; + text-align: center; + font-size: 18px; + font-weight: 300; + text-shadow: 0 -1px 1px $(menu_first_shadow); +} +#cssmenu > ul > li:first-child > a > span { + padding: 0; +} +#cssmenu > ul > li:first-child:hover { + background: $(top_bg); + background: -moz-linear-gradient($(top_bg) 0%, $(top_bg2) 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, $(top_bg)), color-stop(100%, $(top_bg2))); + background: -webkit-linear-gradient($(top_bg) 0%, $(top_bg2) 100%); + background: linear-gradient($(top_bg) 0%, $(top_bg2) 100%); +} +#cssmenu > ul > li { + background: $(menu_bg); + background: -moz-linear-gradient($(menu_bg) 0%, $(menu_bg2) 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, $(menu_bg)), color-stop(100%, $(menu_bg2))); + background: -webkit-linear-gradient($(menu_bg) 0%, $(menu_bg2) 100%); + background: linear-gradient($(menu_bg) 0%, $(menu_bg2) 100%); +} +#cssmenu > ul > li:hover { + background: $(menu_bg_hover); + background: -moz-linear-gradient($(menu_bg_hover) 0%, $(menu_bg_hover2) 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, $(menu_bg_hover)), color-stop(100%, $(menu_bg_hover2))); + background: -webkit-linear-gradient($(menu_bg_hover) 0%, $(menu_bg_hover2) 100%); + background: linear-gradient($(menu_bg_hover) 0%, $(menu_bg_hover2) 100%); +} +#cssmenu > ul > li > a { + font-size: 14px; + display: block; + background: url(../images/pattern.png) top left repeat; + color: $(menu_a); + border: 1px solid $(menu_a_border); + border-top: none; + text-shadow: 0 -1px 1px $(menu_a_shadow); +} +#cssmenu > ul > li > a > span { + display: block; + padding: 12px 10px; + -webkit-border-radius: 4px; + -moz-border-radius: 4px; + border-radius: 4px; +} +#cssmenu > ul > li > a:hover { + text-decoration: none; +} +#cssmenu > ul > li.active { + border-bottom: none; +} +#cssmenu > ul > li.has-sub > a span { + background: url(../images/icon_plus.png) 96% center no-repeat; +} +#cssmenu > ul > li.has-sub.active > a span { + background: url(../images/icon_minus.png) 96% center no-repeat; +} +/* Sub menu */ +#cssmenu ul ul { + display: none; + background: $(submenu_bg); + border-right: 1px solid $(submenu_border); + border-left: 1px solid $(submenu_border); +} +#cssmenu ul ul li { + padding: 0; + border-bottom: 1px solid $(bottom_submenu_li); + border-top: none; + background: $(submenu_bg_li); + background: -moz-linear-gradient($(submenu_bg_li) 0%, $(submenu_bg_li2) 100%); + background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, $(submenu_bg_li)), color-stop(100%, $(submenu_bg_li2))); + background: -webkit-linear-gradient($(submenu_bg_li) 0%, $(submenu_bg_li2) 100%); + background: linear-gradient($(submenu_bg_li) 0%, $(submenu_bg_li2) 100%); +} +#cssmenu ul ul li:last-child { + border-bottom: none; +} +#cssmenu ul ul a { + padding: 10px 10px 10px 25px; + display: block; + color: $(submenu_a); + font-size: 12px; + font-weight: normal; +} +#cssmenu ul ul a:before { + content: "ยป"; + position: absolute; + left: 10px; + color: $(submenu_highlight); +} +#cssmenu ul ul a:hover { + color: $(submenu_highlight); +} + +Macros: + +DDOC=$(BODY) +DDOC_COMMENT=/*$0*/ +ESCAPES=//>/ /&/&/ +DDOC_UNDEFINED_MACRO=/* UNDEFINED MACRO $1 */ +_= + +martian_red=#632E29 +martian_red_light=#893A28 + +bottom_border=#656659 +bottom_submenu_li=#d4d4d4 +top_bg=#66665e +top_bg2=#45463d +top_border=#818176 +_= + +menu_a=#ffffff +menu_a_border=$(martian_red_light) +menu_a_shadow=#751d0c +menu_bg=$(martian_red) +menu_bg2=$(menu_bg) +menu_bg_hover=$(martian_red_light) +menu_bg_hover2=$(menu_bg_hover) +menu_first_shadow=#000000 +_= + +submenu_highlight=#e94f31 +submenu_a=#676767 +submenu_bg=#fff +submenu_bg_li=#f7f7f7 +submenu_bg_li2=#ececec +submenu_border=#a2a194 +_= diff --git a/ddoc.dd b/ddoc.dd index c87ac3c7e0..dc238a699e 100644 --- a/ddoc.dd +++ b/ddoc.dd @@ -658,7 +658,7 @@ $(P $(OL $(LI Predefined macros.) $(LI Definitions from file specified by $(DPLLINK dmd-windows.html, sc.ini)'s - or $(DPLLINK dmd-linux.html#dmd_conf, dmd.conf) DDOCFILE setting.) + or $(DDSUBLINK dmd-linux, dmd_conf, dmd.conf) DDOCFILE setting.) $(LI Definitions from *.ddoc files specified on the command line.) $(LI Runtime definitions generated by Ddoc.) $(LI Definitions from any Macros: sections.) diff --git a/declaration.dd b/declaration.dd index de8556ddb7..f494d056e5 100644 --- a/declaration.dd +++ b/declaration.dd @@ -475,7 +475,7 @@ $(H3 $(LNAME2 extern, Extern Declarations)) variable declarations in C files. $(P An $(D extern) declaration can optionally be followed by an - $(D extern) $(LINK2 attribute.html#linkage, linkage attribute). + $(D extern) $(LINK2 attribute.html$(HASH)linkage, linkage attribute). If there is no linkage attribute it defaults to $(D extern(D)):) --------------- @@ -558,7 +558,7 @@ $(GNAME Typeof): typeof(this) r; // error, no enclosing struct or class -------------------- - $(P If the expression is a $(LINK2 function.html#property-functions, + $(P If the expression is a $(DDSUBLINK function, property-functions, Property Function), $(D typeof) gives its return type. ) diff --git a/dlang.org.ddoc b/dlang.org.ddoc index 3b50960c86..a04912af0c 100644 --- a/dlang.org.ddoc +++ b/dlang.org.ddoc @@ -134,6 +134,8 @@ _= MDASH=$(T nobr,  — ) METACODE=$(SPANC metacode, $0) +MENU =
  • $+
  • +MENU_W_SUBMENU =
  • $0 META_KEYWORDS=D programming language META_DESCRIPTION=D Programming Language MODDEFFILE=$(TC pre, moddeffile notranslate, $0) @@ -194,6 +196,9 @@ SECTION2=$(H2 $1)$+ SECTION3=$(H3 $1)$+ SECTION4=$(H4 $1)$+ SECTION5=$(H5 $1)$+ +SUBMENU= +SUBMENU2=
  • $2
  • $(SUBMENU3 $+) +SUBMENU3=$(SUBMENU2 $+) _= TABLE_10=$(TABLE2 $1,$+) diff --git a/doc.ddoc b/doc.ddoc index 571248dfdc..af58ef7760 100644 --- a/doc.ddoc +++ b/doc.ddoc @@ -14,11 +14,13 @@ $(T title, $(TITLE) - D Programming Language) + $(SCRIPTLOAD https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js) -$(SCRIPTLOAD /js/codemirror-compressed.js) -$(SCRIPTLOAD /js/run-main-website.js) -$(SCRIPTLOAD /js/run.js) +$(SCRIPTLOAD js/codemirror-compressed.js) +$(SCRIPTLOAD js/run-main-website.js) +$(SCRIPTLOAD js/run.js) +$(SCRIPTLOAD js/cssmenu.js) $(SCRIPT function bodyLoad() { @@ -83,40 +85,45 @@ $(TRANSLATIONS) _= NAVIGATION= -$(NAVBLOCK_HEADER $(TOCHEADERL index.html, D Programming Language, D $(LATEST)), - $(TOCENTRYTH download.html, Download a D compiler, $(SPANC emph,Download), $(CATEGORY_DOWNLOAD $(SUBNAV_DOWNLOAD))) - $(TOCENTRYTH overview.html, D language overview, Overview, $(CATEGORY_OVERVIEW $(SUBNAV_OVERVIEW))) - $(TOCENTRYTH comparison.html, D feature list, Features, $(CATEGORY_FEATURES $(SUBNAV_FEATURES))) - $(TOCENTRYT changelog.html, History of changes to D, Change Log) - $(TOCENTRYT bugstats.php, D issue and bug tracking system, Bug Tracker) - $(TOCENTRYTH faq.html, Frequently Asked Questions, FAQ, $(CATEGORY_FAQ $(SUBNAV_FAQ))) - $(TOCENTRYH appendices.html, Appendices, $(CATEGORY_APPENDICES $(SUBNAV_APPENDICES))) - $(TOCENTRYT acknowledgements.html, Thank-you to these people who have helped with D, Acknowledgments) - $(TOCENTRYT sitemap.html, Documents on this site$(COMMA) indexed alphabetically, Sitemap) - $(TOCENTRYT http://digitalmars.com/d/1.0/index.html, D Programming Language 1.0, D1 Home) -) -$(NAVBLOCK_HEADER $(TOCHEADER Documentation), - $(TOCENTRY http://ddili.org/ders/d.en/index.html, Online Book (free)) - $(TOCENTRYT http://wiki.dlang.org/Books, D Programming Language Books, More Books) - - $(TOCENTRYH language-reference.html, Language Reference, $(CATEGORY_SPEC $(SUBNAV_SPEC))) - $(TOCENTRY phobos/index.html, Library Reference) - $(TOCENTRY library/index.html,  3Preview new Layout) - - $(TOCENTRYTH howtos.html, Helps for using D, How-tos, ) - $(TOCENTRYH articles.html, Articles, $(CATEGORY_ARTICLES $(SUBNAV_ARTICLES))) -) -$(NAVBLOCK_HEADER $(TOCHEADER $(LINK2 $(VISUALD), Visual D)), -) -$(NAVBLOCK_HEADER $(TOCHEADER Community), - $(TOCENTRYT http://forum.dlang.org/, User forums, Forums) - $(TOCENTRYT http://github.com/D-Programming-Language, D on github, GitHub) - $(TOCENTRYT http://wiki.dlang.org, Wiki for the D Programming Language, Wiki) - $(TOCENTRYT http://wiki.dlang.org/Review_Queue, Queue of current and upcoming standard library additions, Review Queue) - $(TOCENTRYT http://code.dlang.org, Third party packages written in D, Third Party Packages) - $(TOCENTRYT http://twitter.com/#search?q=%23d_lang, #d_lang on twitter.com, Twitter) - $(TOCENTRYT http://digitalmars.com/d/dlinks.html, External D related links, Links) -) +$(DIVID cssmenu, $(UL + $(MENU index.html, D $(LATEST)) + $(MENU download.html, Download) + $(MENU http://code.dlang.org, Get D libraries) + $(MENU_W_SUBMENU Documentation) + $(SUBMENU + http://ddili.org/ders/d.en/index.html, Online Book (free), + http://wiki.dlang.org/Books, More Books, + language-reference.html, Language Reference, + phobos/index.html, Library Reference, + library/index.html, $(NBSP)NEW Library Reference Preview, + howtos.html, How-tos, + articles.html, Articles, + wc.html, Example: wc, + warnings.html, Warnings, + builtin.html, Builtin Rationale, + ctod.html, C to D, + cpptod.html, C++ to D, + pretod.html, C Preprocessor vs D + ) + $(MENU_W_SUBMENU Community) + $(SUBMENU + http://forum.dlang.org, Forums, + http://github.com/D-Programming-Language, D on GitHub, + http://wiki.dlang.org, Wiki, + http://wiki.dlang.org/Review_Queue, Review Queue, + http://code.dlang.org, Third Party Packages, + http://twitter.com/#search?q=%23d_lang, Twitter, + http://digitalmars.com/d/dlinks.html, More Links + ) + $(MENU $(VISUALD), Visual D) + $(MENU changelog.html, Change Log) + $(MENU bugstats.php, Bug Tracker) + $(MENU faq.html, FAQ) + $(MENU comparison.html, Feature Overview) + $(MENU acknowledgements.html, Acknowledgments) + $(MENU appendices.html, Appendices) + $(MENU sitemap.html, Sitemap) +)) _= SUBNAV_OVERVIEW= @@ -246,8 +253,8 @@ $(DIVID navigation, $1) $(DIVCID hyphenate, content, $(PAGE_TOOLS) $(H1 $(TITLE)) $3) _= -NAVBLOCK = $(DIVC navblock, $(UL $0)) -NAVBLOCK_HEADER = $(DIVC navblock, $1 $(UL $(ARGS $+))) +NAVBLOCK = $(DIV , $(UL $0)) +NAVBLOCK_HEADER = $(DIVID cssmenu, $(UL $(ARGS $+))) _= SFINAE=$(GLOSSARY sfinae, $(ACRONYM SFINAE, Substitution Failure Is Not An Error)) diff --git a/expression.dd b/expression.dd index 02a8152ec0..1b6ba604ca 100644 --- a/expression.dd +++ b/expression.dd @@ -766,7 +766,7 @@ $(GNAME ArgumentList): $(P If there is a $(D new $(LPAREN)) $(GLINK ArgumentList) $(D $(RPAREN)), then those arguments are passed to the class or struct specific - $(LINK2 class.html#allocators, allocator function) after the size argument. + $(DDSUBLINK class, allocators, allocator function) after the size argument. ) $(P If a $(I NewExpression) is used as an initializer for diff --git a/function.dd b/function.dd index 2931111fc9..8cdb461af1 100644 --- a/function.dd +++ b/function.dd @@ -2094,7 +2094,7 @@ $(H3 $(LNAME2 function-safety, Function Safety)) $(P $(I Safe functions) are functions that are statically checked to exhibit no possibility of - $(DPLLINK glossary.html#undefined_behavior, $(I undefined behavior)). + $(DDSUBLINK glossary, undefined_behavior, $(I undefined behavior)). Undefined behavior is often used as a vector for malicious attacks. ) diff --git a/garbage.dd b/garbage.dd index 417c5e28a6..627e78ab8f 100644 --- a/garbage.dd +++ b/garbage.dd @@ -383,10 +383,10 @@ $(H2 D Operations That Involve the Garbage Collector) $(H2 References) $(UL - $(LI $(LINK2 http://en.wikipedia.org/wiki/Garbage_collection_%28computer_science%29, Wikipedia)) + $(LI $(LINK2 http://en.wikipedia.org/wiki/Garbage_collection_$(PERCENT)28computer_science$(PERCENT)29, Wikipedia)) $(LI $(LINK2 http://www.iecc.com/gclist/GC-faq.html, GC FAQ)) $(LI $(LINK2 ftp://ftp.cs.utexas.edu/pub/garbage/gcsurvey.ps, Uniprocessor Garbage Collector Techniques)) - $(LI $(AMAZONLINK 0471941484, Garbage Collection : Algorithms for Automatic Dynamic Memory Management)) + $(LI $(AMAZONLINK 0471941484, Garbage Collection: Algorithms for Automatic Dynamic Memory Management)) ) ) diff --git a/images/icon_minus.png b/images/icon_minus.png new file mode 100755 index 0000000000..bfaee2fc31 Binary files /dev/null and b/images/icon_minus.png differ diff --git a/images/icon_plus.png b/images/icon_plus.png new file mode 100755 index 0000000000..6534a499b9 Binary files /dev/null and b/images/icon_plus.png differ diff --git a/images/pattern.png b/images/pattern.png new file mode 100755 index 0000000000..c7e815ddca Binary files /dev/null and b/images/pattern.png differ diff --git a/intro.dd b/intro.dd index 216106c3fe..23aa845ece 100644 --- a/intro.dd +++ b/intro.dd @@ -73,5 +73,5 @@ $(OL Macros: TITLE=Introduction WIKI=SpecIntro - CATEGORY_SPEC=$0 + CATEGORY_SPEC=$0 diff --git a/js/cssmenu.js b/js/cssmenu.js new file mode 100755 index 0000000000..de183a6dbe --- /dev/null +++ b/js/cssmenu.js @@ -0,0 +1,25 @@ +( function( $ ) { +$( document ).ready(function() { +var menu_ul = $('#cssmenu > ul > li > ul'); +menu_ul.hide(); + +$('#cssmenu > ul > li > a').click(function() { + $('#cssmenu li').removeClass('active'); + $(this).closest('li').addClass('active'); + var checkElement = $(this).next(); + if((checkElement.is('ul')) && (checkElement.is(':visible'))) { + $(this).closest('li').removeClass('active'); + checkElement.slideUp('normal'); + } + if((checkElement.is('ul')) && (!checkElement.is(':visible'))) { + $('#cssmenu ul ul:visible').slideUp('normal'); + checkElement.slideDown('normal'); + } + if($(this).closest('li').find('ul').children().length == 0) { + return true; + } else { + return false; + } +}); +}); +} )( jQuery ); diff --git a/latex.ddoc b/latex.ddoc index f3d641e11c..ac08fde241 100644 --- a/latex.ddoc +++ b/latex.ddoc @@ -67,7 +67,7 @@ DDOC_COMMENT=% $0 DDOC_KEYWORD=$0 DDOC_UNDEFINED_MACRO = $(DDOC_COMMENT UNDEFINED MACRO: $1) DDOCCODE=$(D_CODE $0) -DDSUBLINK=$(LINK2 $1.html#$2, $3) +DDSUBLINK=$(LINK2 $1.html$(HASH)$2, $3) _= DL=\begin{description} @@ -129,6 +129,8 @@ LEGACY_LNAME2=$(LNAME2 $+) LI=\item $0 LINK=\url{$0} LINK2=\hyperlink{$1}{$+} +_=TODO: revise this +LINK2=$+ _= LIST=\begin{itemize} @@ -138,6 +140,8 @@ _= LIX=\item{$1} $(LIX $+) LLINK2=\hyperlink{$1}{$+} +_=TODO: revise this +LLINK2=$+ LNAME2=\hyperref[$1]{$+} _= diff --git a/memory-safe-d.dd b/memory-safe-d.dd index dc5b028cdc..d04eb90db7 100644 --- a/memory-safe-d.dd +++ b/memory-safe-d.dd @@ -23,8 +23,7 @@ $(H3 Usage) $(P Memory safety can be enabled on a per-function basis using the $(DDSUBLINK function, safe-functions, $(D @safe) attribute). This can be inferred when the compiler has the function body - available. The $(DDSUBLINK function, trusted-functions, $(D - @trusted) attribute) can be used when a function has a safe + available. The $(DDSUBLINK function, trusted-functions, `@trusted` attribute) can be used when a function has a safe interface, but uses unsafe code internally. These functions can be called from $(D @safe) code. ) diff --git a/operatoroverloading.dd b/operatoroverloading.dd index 1978938a52..06f498262c 100644 --- a/operatoroverloading.dd +++ b/operatoroverloading.dd @@ -372,7 +372,7 @@ $(OL --- $(P Alternatively, you can declare a single templated $(D opEquals) - function with an $(LINK2 template.html#auto-ref-parameters, auto ref) + function with an $(DDSUBLINK template, auto-ref-parameters, auto ref) parameter:) --- struct S @@ -460,8 +460,8 @@ $(H2 $(LEGACY_LNAME2 FunctionCall, function-call, Function Call Operator Overloa ) $(P Note that merely declaring $(D opCall) automatically disables - $(LINK2 struct.html#StructLiteral, struct literal) syntax. - To avoid the limitation, you need to also declare a $(LINK2 struct.html#Struct-Constructor, + $(DDSUBLINK struct, StructLiteral, struct literal) syntax. + To avoid the limitation, you need to also declare a $(DDSUBLINK struct, Struct-Constructor, constructor) so that it takes priority over $(D opCall) in $(D Type(...)) syntax. ) diff --git a/posix.mak b/posix.mak index 6493429f63..dd1018fa54 100644 --- a/posix.mak +++ b/posix.mak @@ -101,22 +101,23 @@ endif DDOC=macros.ddoc html.ddoc dlang.org.ddoc doc.ddoc ${LATEST}.ddoc $(NODATETIME) -IMAGES=favicon.ico $(addprefix images/, apple_logo.png c1.gif \ -centos_logo.png cpp1.gif d002.ico d3.png d4.gif d5.gif \ -debian_logo.png dlogo.png dmlogo.gif dmlogo-smaller.gif download.png \ -fedora_logo.png freebsd_logo.png github-ribbon.png gradient-green.jpg \ -gradient-red.jpg globe.gif opensuse_logo.png pen.gif search-left.gif \ -search-bg.gif search-button.gif tdpl.jpg ubuntu_logo.png \ -windows_logo.png) $(addprefix images/ddox/, alias.png class.png \ -enum.png enummember.png function.png inherited.png interface.png \ -module.png package.png private.png property.png protected.png \ -struct.png template.png tree-item-closed.png tree-item-open.png \ -variable.png) - -JAVASCRIPT=$(addprefix js/, codemirror-compressed.js listanchors.js run.js \ -run-main-website.js ddox.js) - -STYLES=css/style.css css/print.css css/codemirror.css css/ddox.css +IMAGES=favicon.ico $(addprefix images/, \ + d002.ico \ + $(addsuffix .png, apple_logo centos_logo d3 debian_logo dlogo download \ + fedora_logo freebsd_logo opensuse_logo ubuntu_logo windows_logo \ + icon_minus icon_plus pattern github-ribbon \ + $(addprefix ddox/, alias class enum enummember function \ + inherited interface module package private property protected \ + struct template tree-item-closed tree-item-open variable)) \ + $(addsuffix .gif, c1 cpp1 d4 d5 dmlogo dmlogo-smaller globe \ + pen search-left search-bg search-button) \ + $(addsuffix .jpg, gradient-green gradient-red tdpl)) + +JAVASCRIPT=$(addsuffix .js, $(addprefix js/, \ + codemirror-compressed cssmenu ddox listanchors run run-main-website)) + +STYLES=$(addsuffix .css, $(addprefix css/, \ + style print codemirror ddox cssmenu)) PRETTIFY=prettify/prettify.css prettify/prettify.js @@ -173,6 +174,9 @@ else cp $< $@ endif +$(DOC_OUTPUT_DIR)/%.css : %.css.dd $(DMD) + $(DMD) -c -o- -Df$@ $< + $(DOC_OUTPUT_DIR)/% : % @mkdir -p $(dir $@) cp $< $@ diff --git a/property.dd b/property.dd index e1921f1256..aad5f42d1e 100644 --- a/property.dd +++ b/property.dd @@ -230,8 +230,7 @@ $(SECTION3 $(LNAME2 classinfo, .classinfo) Property, $(P $(CODE .classinfo) provides information about the dynamic type of a class object. - It returns a reference to type $(DPLLINK - phobos/object.html#TypeInfo_Class, $(D object.TypeInfo_Class)). + It returns a reference to type $(DDLINK phobos/object, TypeInfo_Class, $(D object.TypeInfo_Class)). ) $(P $(CODE .classinfo) applied to an interface gives the information for diff --git a/struct.dd b/struct.dd index 2079c2c007..5d435141e4 100644 --- a/struct.dd +++ b/struct.dd @@ -268,7 +268,7 @@ $(H3 $(LEGACY_LNAME2 StructLiteral, struct-literal, Struct Literals)) $(P Struct literals are syntactically like function calls. If a struct has a member function named $(CODE opCall), then struct literals for that struct are not possible. See also - $(LINK2 operatoroverloading.html#FunctionCall, opCall operator overloading) + $(DDSUBLINK operatoroverloading, FunctionCall, opCall operator overloading) for the issue workaround. It is an error if there are more arguments than fields of the struct. diff --git a/traits.dd b/traits.dd index 25e9522288..6404987e42 100644 --- a/traits.dd +++ b/traits.dd @@ -176,16 +176,16 @@ $(H2 $(GNAME isFinalClass)) $(H2 $(GNAME isPOD)) $(P Takes one argument, which must be a type. It returns - $(D true) if the type is a $(LINK2 glossary.html#pod, POD) type, otherwise $(D false).) + $(D true) if the type is a $(DDSUBLINK glossary, pod, POD) type, otherwise $(D false).) $(H2 $(GNAME isNested)) $(P Takes one argument. It returns $(D true) if the argument is a nested type which internally stores a context pointer, otherwise it returns $(D false). - Nested types can be $(LINK2 class.html#nested, classes), - $(LINK2 struct.html#nested, structs), and - $(LINK2 function.html#variadicnested, functions).) + Nested types can be $(DDSUBLINK class, nested, classes), + $(DDSUBLINK struct, nested, structs), and + $(DDSUBLINK function, variadicnested, functions).) $(H2 $(GNAME isVirtualFunction)) diff --git a/unittest.dd b/unittest.dd index bedd29b342..4578261097 100644 --- a/unittest.dd +++ b/unittest.dd @@ -28,7 +28,7 @@ unittest following it. ) - $(P A compiler switch, such as $(DPLLINK dmd-windows.html#switches, $(B -unittest)) + $(P A compiler switch, such as $(DDSUBLINK dmd-windows, switches, $(B -unittest)) for $(B dmd), will cause the unittest test code to be compiled and incorporated into the resulting executable. The unittest code gets run after diff --git a/version.dd b/version.dd index cc4cb4f0b5..ddf8c9312b 100644 --- a/version.dd +++ b/version.dd @@ -288,19 +288,19 @@ $(H3 $(LEGACY_LNAME2 PredefinedVersions, predefined-versions, Predefined Version $(TROW $(ARGS $(D Alpha_HardFloat)) , $(ARGS The Alpha hard float ABI)) $(TROW $(ARGS $(D LittleEndian)) , $(ARGS Byte order, least significant first)) $(TROW $(ARGS $(D BigEndian)) , $(ARGS Byte order, most significant first)) - $(TROW $(ARGS $(D D_Coverage)) , $(ARGS $(DPLLINK code_coverage.html, Code coverage analysis) instrumentation (command line $(DPLLINK dmd-windows.html#switches, switch) $(D -cov)) is being generated)) - $(TROW $(ARGS $(D D_Ddoc)) , $(ARGS $(DDLINK ddoc, Embedded Documentation, Ddoc) documentation (command line $(DPLLINK dmd-windows.html#switches, switch) $(D -D)) is being generated)) + $(TROW $(ARGS $(D D_Coverage)) , $(ARGS $(DPLLINK code_coverage.html, Code coverage analysis) instrumentation (command line $(DDSUBLINK dmd-windows, switches, switch) $(D -cov)) is being generated)) + $(TROW $(ARGS $(D D_Ddoc)) , $(ARGS $(DDLINK ddoc, Embedded Documentation, Ddoc) documentation (command line $(DDSUBLINK dmd-windows, switches, switch) $(D -D)) is being generated)) $(TROW $(ARGS $(D D_InlineAsm_X86)) , $(ARGS $(DDLINK iasm, Inline Assembler, Inline assembler) for X86 is implemented)) $(TROW $(ARGS $(D D_InlineAsm_X86_64)) , $(ARGS $(DDLINK iasm, Inline Assembler, Inline assembler) for X86-64 is implemented)) - $(TROW $(ARGS $(D D_LP64)) , $(ARGS $(B Pointers) are 64 bits (command line $(DPLLINK dmd-windows.html#switches, switch) $(D -m64)). (Do not confuse this with C's LP64 model))) + $(TROW $(ARGS $(D D_LP64)) , $(ARGS $(B Pointers) are 64 bits (command line $(DDSUBLINK dmd-windows, switches, switch) $(D -m64)). (Do not confuse this with C's LP64 model))) $(TROW $(ARGS $(D D_X32)) , $(ARGS Pointers are 32 bits, but words are still 64 bits (x32 ABI) (This can be defined in parallel to $(D X86_64)))) $(TROW $(ARGS $(D D_HardFloat)) , $(ARGS The target hardware has a floating point unit)) $(TROW $(ARGS $(D D_SoftFloat)) , $(ARGS The target hardware does not have a floating point unit)) - $(TROW $(ARGS $(D D_PIC)) , $(ARGS Position Independent Code (command line $(DPLLINK dmd-windows.html#switches, switch) $(D -fPIC)) is being generated)) + $(TROW $(ARGS $(D D_PIC)) , $(ARGS Position Independent Code (command line $(DDSUBLINK dmd-windows, switches, switch) $(D -fPIC)) is being generated)) $(TROW $(ARGS $(D D_SIMD)) , $(ARGS $(DDLINK simd, simd, Vector extensions) (via $(D __simd)) are supported)) $(TROW $(ARGS $(D D_Version2)) , $(ARGS This is a D version 2 compiler)) - $(TROW $(ARGS $(D D_NoBoundsChecks)) , $(ARGS Array bounds checks are disabled (command line $(DPLLINK dmd-windows.html#switches, switch) $(D -noboundscheck)))) - $(TROW $(ARGS $(D unittest)) , $(ARGS $(DDLINK unittest, Unit Tests, Unit tests) are enabled (command line $(DPLLINK dmd-windows.html#switches, switch) $(D -unittest)))) + $(TROW $(ARGS $(D D_NoBoundsChecks)) , $(ARGS Array bounds checks are disabled (command line $(DDSUBLINK dmd-windows, switches, switch) $(D -noboundscheck)))) + $(TROW $(ARGS $(D unittest)) , $(ARGS $(DDLINK unittest, Unit Tests, Unit tests) are enabled (command line $(DDSUBLINK dmd-windows, switches, switch) $(D -unittest)))) $(TROW $(ARGS $(D assert)) , $(ARGS Checks are being emitted for assert expressions)) $(TROW $(ARGS $(D none)) , $(ARGS Never defined; used to just disable a section of code)) $(TROW $(ARGS $(D all)) , $(ARGS Always defined; used as the opposite of $(D none)))