\input texinfo @c -*- coding: utf-8; mode: texinfo; -*-
@ignore
    Translation of GIT committish: FILL-IN-HEAD-COMMITTISH

    When revising a translation, copy the HEAD committish of the
    version that you are working on.  For details, see the Contributors'
    Guide, node Updating translation committishes..
@end ignore

@setfilename web.info
@settitle LilyPond -- Music notation for everyone
@documentencoding UTF-8
@documentlanguage en
@afourpaper

@set FDL
@set web
@include en/macros.itexi
@include weblinks.itexi


@c `Web' was born 2003-03-30 with this commit:
@c Initial revision
@c author: Han-Wen Nienhuys
@c commit: d189a2119004c2f75da2020ea2ed36d817582fc5

@c @macro copyrightDeclare
@c Copyright @copyright{} 2003--2022 by the authors.
@c @end macro

@copying
Copyright @copyright{} 2003--2022 by the authors.

@c next line is necessary for broken pre-4.13 texinfo's
@c install-info, so leave it there until we officially
@c bump the required version.  -gp
This file documents the LilyPond website.

@quotation
Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License,
Version 1.1 or any later version published by the Free Software
Foundation; with no Invariant Sections.  A copy of the license is
included in the section entitled ``GNU Free Documentation
License''.
@end quotation
@end copying


@c Info files are no longer installed in a subdirectory, images are
@c expected to be found in lilypond/ subdirectory.
@dircategory LilyPond -- the music typesetter
@direntry
* Website: (lilypond-web).              Info version of lilypond.org.
@end direntry


@c TITLE PAGE
@ifnottex
@node Top
@c This is intentionally blank because we have @settitle above
@top
@end ifnottex


@c hack for texi2html, bleh -gp
@ifnothtml

@finalout

@titlepage
@title LilyPond
@subtitle The music typesetter
@titlefont{General Information}
@author The LilyPond development team

@vskip 0pt plus 1filll
@c @vskip 20pt

@insertcopying

For LilyPond version @version{}
@end titlepage
@end ifnothtml
@c end hack for texi2html


@c ************************ WEBSITE START ***************


@ifhtml
@node index
@unnumbered LilyPond
@end ifhtml

@divId{pageHeader}
@heading LilyPond

... music notation for everyone
@divEnd

@c @imageId{cmws,web-clef-g-eight-alpha.png,Catchy Musical Web Snippet}
@imageId{lilylogo,double-lily-modified3,png,LilyPond logo}
@c @im ageId{cmws,web-snippet-alpha.png,Catchy Musical Web Snippet}

@divId{quickSummary}
LilyPond is a music engraving program, devoted to producing the
highest-quality sheet music possible.  It brings the aesthetics of
traditionally engraved music to computer printouts.  LilyPond is free
software and part of the @uref{https://gnu.org,GNU Project}.


@divClass{align-right}
Read more in our @ref{Introduction}!

@divEnd
@divEnd


@divId{homepage-main}

@divClass{column-center-top}

@subheading Beautiful Sheet Music

@c This example image is the image from the website version of the essay
@c manual, downloaded to the pictures directory for use on the home page.
@c Large version is generated manually from ly file in pictures directory.
@divId{homepage-example-image-wrapper}
@imageClickable{bwv861-lilypond,png,,bwv861-lilypond-large,png,center}
@divEnd

@ifclear web_version
  @c no anchor links, just text

LilyPond is a powerful and flexible tool for engraving tasks of
all kinds, for example classical music (like the example above by J.S.
Bach), complex notation, early music, modern music, tablature,
vocal music, lead sheets, educational materials, large
orchestral projects, customized output, and even Schenker graphs.

@end ifclear
@ifset web_version
  @c anchor links, link to individual examples by their <a> tag
  @c Translators should use the localized anchor name
  @c (e.g. examples.html#Musica-Antica)
  @c to be found in out-www/web/examples.LL.html

LilyPond is a powerful and flexible tool for engraving tasks of
all kinds, for example
@uref{examples.html#Classical-Music, classical music}
(like the example above by J.S. Bach),
@uref{examples.html#Complex-Notation, complex notation},
@uref{examples.html#Early-Music, early music},
@uref{examples.html#Modern-Music, modern music},
@uref{examples.html#Tablature, tablature},
@uref{examples.html#Vocal-Music, vocal music},
@uref{examples.html#Lead-Sheets, lead sheets},
@uref{examples.html#Educational-Applications, educational materials},
@uref{examples.html#Large-Projects, large orchestral projects},
@uref{examples.html#Customized-Output, customized output},
and even
@uref{examples.html#Schenker-Graphs, Schenker graphs}.

@end ifset

Browse our gallery of @ref{Examples} and be inspired!

@divEnd

@divClass{column-center-middle-color2}
@subheading News

@c TODO: generate this automatically, including RSS feed.
@include en/web/news-headlines.itexi

@ref{News, More news...}

@divEnd

@divEnd


@ifclear web_version
  @c do nothing
@end ifclear
@ifset web_version
  @c make the side bar:
@divId{homepage-sidebar}
@subheading Stable Release

@c TODO: javascript to detect OS and suggest download?

@ref{Download, Download @versionStable}

@ref{Manuals, Manuals @versionStable}

@subheading Unstable Release

@ref{Development, Download @versionDevel}

@ref{Development, Manuals @versionDevel}

@subheading Pondings
@divId{pondingsText}

@divEnd

@divEnd
@end ifset


@html

<script language="JavaScript" type="text/javascript">
  function loadXMLDoc(dname)
    {
      if (window.XMLHttpRequest)
        {
          xhttp=new XMLHttpRequest();
        }
      else
        {
          xhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
      xhttp.open("GET",dname,false);
      xhttp.send();
      return xhttp.responseXML;
    }

  var xmlDoc = loadXMLDoc("tweets.xml");
  var tweets = xmlDoc.getElementsByTagName("tweet");
  var index = Math.floor(Math.random() * tweets.length);
  var tweet = tweets[index];
  var text = tweet.childNodes[0];
  document.getElementById("pondingsText").innerHTML = text.nodeValue;
</script>

@end html


@ifnottex

@divClass{hide}
@menu
* Introduction::     Start here to creating sheet music.
* Download::         Get LilyPond.
* Manuals::          Read The Fine Manuals (RTFM).
* Community::        Contact other users.
@end menu
@divEnd

@end ifnottex

@contents

@iftex
@allowcodebreaks false
@end iftex

@c ****************** GENERAL STUFF FOR INFO ************
@ignore
Distributions will want to install lilypond.info in postinstall, doing:

    install-info --info-dir=/usr/share/info out[-www]/lilypond-web.info

  * Prepend GNU for dir, must be unique.

  * Do not list the `lilypond' node at toplevel, so that `info lilypond'
    goes to Top.

  * List all commands in direntry.

@end ignore

@c FIXME: this still doesn't solve the broken links in pdf and big
@c        html; we'll need a bunch of @iftext and stuff in here. -gp
@c ****************** SPECIAL MACROS FOR WEB MANUAL ************
@macro docLinks{name,base,refLink,split,big,pdf}
@subheading Read it

@docLinksBare{\name\,\base\,\refLink\,\split\,\big\,\pdf\}

@end macro


@macro docLinkSplit{name,base,webLink}
  @docLink{\name\ (split HTML),\base\/index.html,\webLink\}
@end macro

@macro docLinkBig{name,base,webLink}
  @docLink{\name\ (big HTML),\base\-big-page.html,\webLink\}
@end macro

@macro docLinkPdf{name,base,webLink}
  @docLink{\base\.pdf,\base\.pdf,\webLink\}
@end macro


@macro docLinksBare{name,base,refLink,split,big,pdf}

@divClass{keep-bullets}
@itemize

@item @docLinkSplit{\name\,\base\,\split\} @minus{}
  the manual is split between many HTML pages.
  @*@ @ @emph{(small download for each page)}

@item @docLinkBig{\name\,\base\,\big\} @minus{}
  read this manual as one huge HTML page.
  @*@ @ @emph{@docSize{(large single download, \base\-big-page.html, )}}

@item @docLinkPdf{\name\,\base\,\pdf\} @minus{}
  download as a PDF file.
  @*@ @ @emph{@docSize{(large single download, \base\.pdf, )}}

@end itemize

@divEnd

@end macro


@c don't add any extra spaces in this macro -gp
@macro ifWebLinks{webLink,normalLink}
@ifclear web_version
  \normalLink\:
@end ifclear
@ifset web_version
  \webLink\:
@end ifset
@end macro


@ifhtml
@macro contactUsAbout{topic}

@divClass{heading-center}
@divClass{contactBox}
If you are aware of any other \topic\ which could be listed here,
please let us know by writing a message to the bug-lilypond
mailing list. If you're not subscribed yet you can do so on the list's
@uref{https://lists.gnu.org/mailman/listinfo/bug-lilypond,info page}.

@divEnd
@divEnd

@end macro
@end ifhtml

@ifnothtml
@macro contactUsAbout{topic}
@cartouche
If you are aware of any other \topic\ which could be listed here,
please let us know by following the instructions on
@ref{Bug reports}.

@end cartouche

@end macro
@end ifnothtml

@include en/web/introduction.itexi
@include en/web/download.itexi
@include en/web/manuals.itexi
@include en/web/community.itexi


@bye
