Mercurial > p > roundup > code
view website/issues/html/_generic.help.html @ 8044:f9eaaa63fda2
build: update website build to sync built files
Sourceforge only supports python 2.7. Newer version of sphinx are
required to build docs and they don't work with 2.7.
Set up rsync targets that:
1) copy html build directory to sourceforge target directory
(dev_docs, production and user home directory)
2) backup existing sourceforge target directory re-sync so it
can be served without any missing files.
The Makefile now check to see if .orig or *~ files are present in the
html build tree. It lists the garbage file and fails if so.
Also inserts a .htaccess into the tree to prevent access to:
.buildinfo file
docs_backup-* files
*.orig
*~
The first one is a build artifact from newer version of sphinx.
The second is the backup directory created with all the original files
before a rsync from the local system is done to sourceforge. The backup
directory is timestamped with the time of its sync.
The last two are probably redundant since make html will fail if they
exist.
To rollback a sync:
move the target directory to a new name.
move the backup directory (in the renamed target directory) to the
old target directory name.
I added the --delete flag to remove files missing from the html
directory. Using the -no-times flags will create all new files with
the current directory. Using the --backup, --backup-dir flags backs up
all replaced/deleted files to backup-dir. The --exclude flag preserves
the backup directories on the sourceforge side. Without --exclude the
-delete flag would remove these backup-dir's. Note that
--delete-exclude must not be used otherwise the backup directories
will be deleted.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Wed, 26 Jun 2024 19:11:35 -0400 |
| parents | 7146b68ac263 |
| children | 28aa76443f58 |
line wrap: on
line source
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <link rel="stylesheet" type="text/css" href="@@file/style.css" /> <meta http-equiv="Content-Type" tal:attributes="content string:text/html;; charset=${request/client/charset}" /> <tal:block tal:condition="python:'property' in request.form"> <tal:block tal:define="property request/form/property/value"> <title i18n:translate=""><tal:x i18n:name="property" tal:content="property" i18n:translate="" /> help - <span i18n:name="tracker" tal:replace="config/TRACKER_NAME" /></title> <script language="Javascript" type="text/javascript" tal:attributes="nonce request/client/client_nonce" tal:content="structure string: // this is the name of the field in the original form that we're working on form = window.opener.document.${request/form/form/value}; field = '${request/form/property/value}';"> </script> <script src="@@file/help_controls.js" tal:attributes="nonce request/client/client_nonce" type="text/javascript"><!-- //--></script> </tal:block> </tal:block> </head> <body class="body" onload="resetList();"> <h1 id="logoheader"> <img src="https://python.org/images/python-logo.gif" alt="logo" border="0" /> </h1> <div id="content-body"> <div id="content"> <div id="breadcrumb">Python Issue Tracker: Help - <tal:block tal:content="context/classname">item</tal:block></div> <tal:block tal:condition="python:'property' in request.form"> <form name="frm_help" action="#" tal:define="batch request/batch; props python:request.form['properties'].value.split(',')"> <div id="classhelp-controls"> <!--input type="button" name="btn_clear" value="Clear" onClick="clearList()"/ --> <input type="text" name="text_preview" size="24" class="preview" onchange="reviseList(this.value);"/> <input type="button" name="btn_reset" value=" Cancel " onclick="resetList(); window.close();" i18n:attributes="value" /> <input type="button" name="btn_apply" class="apply" value=" Apply " onclick="updateList(); window.close();" i18n:attributes="value" /> </div> <table width="100%"> <tr class="navigation"> <th> <a tal:define="prev batch/previous" tal:condition="prev" tal:attributes="href python:request.indexargs_url(request.classname, {'@template':'help', 'property': request.form['property'].value, 'properties': request.form['properties'].value, 'form': request.form['form'].value, 'type': request.form['type'].value, '@startwith':prev.first, '@pagesize':prev.size})" i18n:translate="" ><< previous</a> </th> <th i18n:translate=""><span tal:replace="batch/start" i18n:name="start" />..<span tal:replace="python: batch.start + batch.length -1" i18n:name="end" /> out of <span tal:replace="batch/sequence_length" i18n:name="total" /> </th> <th> <a tal:define="next batch/next" tal:condition="next" tal:attributes="href python:request.indexargs_url(request.classname, {'@template':'help', 'property': request.form['property'].value, 'properties': request.form['properties'].value, 'form': request.form['form'].value, 'type': request.form['type'].value, '@startwith':next.first, '@pagesize':next.size})" i18n:translate="" >next >></a> </th> </tr> </table> <table class="classhelp"> <tr> <th> <b>x</b></th> <th tal:repeat="prop props" tal:content="prop" i18n:translate=""></th> </tr> <tr tal:repeat="item batch"> <tal:block tal:define="attr python:item[props[0]]" > <td> <input name="check" onclick="updatePreview();" tal:attributes="type python:request.form['type'].value; value attr; id string:id_$attr" /> </td> <td tal:repeat="prop props"> <label class="classhelp-label" tal:attributes="for string:id_$attr" tal:content="structure python:item[prop]"></label> </td> </tal:block> </tr> <tr> <th> <b>x</b></th> <th tal:repeat="prop props" tal:content="prop" i18n:translate=""></th> </tr> </table> </form> </tal:block> <tal:block tal:condition="python:'property' not in request.form"> <tal:block tal:define="batch request/batch; props python:request.form['properties'].value.split(',')"> <table width="100%"> <tr class="navigation"> <th> <a tal:define="prev batch/previous" tal:condition="prev" tal:attributes="href python:request.indexargs_url(request.classname, {'@template':'help', 'property': request.form['property'].value, 'properties': request.form['properties'].value, 'form': request.form['form'].value, 'type': request.form['type'].value, '@startwith':prev.first, '@pagesize':prev.size})" i18n:translate="" ><< previous</a> </th> <th i18n:translate=""><span tal:replace="batch/start" i18n:name="start" />..<span tal:replace="python: batch.start + batch.length -1" i18n:name="end" /> out of <span tal:replace="batch/sequence_length" i18n:name="total" /> </th> <th> <a tal:define="next batch/next" tal:condition="next" tal:attributes="href python:request.indexargs_url(request.classname, {'@template':'help', 'property': request.form['property'].value, 'properties': request.form['properties'].value, 'form': request.form['form'].value, 'type': request.form['type'].value, '@startwith':next.first, '@pagesize':next.size})" i18n:translate="" >next >></a> </th> </tr> </table> <table class="classhelp"> <tr> <th tal:repeat="prop props" tal:content="prop" i18n:translate=""></th> </tr> <tr tal:repeat="item batch"> <tal:block tal:define="attr python:item[props[0]]" > <td tal:repeat="prop props"> <label class="classhelp-label" tal:attributes="for string:id_$attr" tal:content="structure python:item[prop]"></label> </td> </tal:block> </tr> <tr> <th tal:repeat="prop props" tal:content="prop" i18n:translate=""></th> </tr> </table> </tal:block> </tal:block> </div> <!-- content-body --> </div> <!-- content --> </body> </html>
