don't close tags that are closed by hamlet

This commit is contained in:
Sören Brunk 2014-04-21 13:05:52 +02:00
parent ce0ecbeefc
commit ccc8afb59d
36 changed files with 144 additions and 82 deletions

View file

@ -27,11 +27,12 @@ import qualified Data.Map as M
gpgKeyDisplay :: KeyId -> Maybe UserId -> Widget
gpgKeyDisplay keyid userid = [whamlet|
<span title="key id #{keyid}">
<span .glyphicon .glyphicon-user></span> #
$maybe name <- userid
#{name}
$nothing
key id #{keyid}
<span .glyphicon .glyphicon-user>
\
$maybe name <- userid
#{name}
$nothing
key id #{keyid}
|]
genKeyModal :: Widget

View file

@ -106,4 +106,4 @@ htmlIcon UpgradeIcon = bootstrapIcon "arrow-up"
htmlIcon ConnectionIcon = bootstrapIcon "signal"
bootstrapIcon :: Text -> Widget
bootstrapIcon name = [whamlet|<span .glyphicon .glyphicon-#{name}></span>|]
bootstrapIcon name = [whamlet|<span .glyphicon .glyphicon-#{name}>|]

View file

@ -1,2 +1,3 @@
<a title="#{fromMaybe "" tooltip}" class="#{buttonclass}" href="@{route}" onclick="(function( $ ) { $.post('@{route}'); })( jQuery ); return false;">
<span class="glyphicon #{iconclass}"></span> #{fromMaybe "" label}
<span class="glyphicon #{iconclass}"> #
#{fromMaybe "" label}

View file

@ -8,12 +8,14 @@
Do you want to combine these files into your repository?
<p>
<a .btn .btn-default onclick="$('#setupmodal').modal('show');" href="@{FinishAddDriveR drive NoRepoKey}">
<span .glyphicon .glyphicon-resize-small></span> Combine the repositories #
<span .glyphicon .glyphicon-resize-small>
\ Combine the repositories #
The combined repositories will sync and share their files.
<p>
<p>
<a .btn .btn-default href="@{AddDriveR}">
<span .glyphicon .glyphicon-resize-full></span> Go back #
<span .glyphicon .glyphicon-resize-full>
\ Go back #
Use a different directory than <tt>#{driveRepoPath drive}</tt> to #
avoid combining the repositories.
^{setupDriveModal}

View file

@ -10,16 +10,19 @@
easily accessing its contents on another computer.
<p>
<a .btn .btn-default onclick="$('#setupmodal').modal('show');" href="@{FinishAddDriveR drive NoRepoKey}">
<span .glyphicon .glyphicon-minus-sign></span> Do not encrypt repository #
<span .glyphicon .glyphicon-minus-sign>
\ Do not encrypt repository #
Anyone who has the drive can see the files stored on it.
$forall (keyid, name) <- secretkeys
<p>
<a .btn .btn-default onclick="$('#setupmodal').modal('show');" href="@{FinishAddDriveR drive (RepoKey keyid)}">
<span .glyphicon .glyphicon-ok-sign></span> Encrypt repository #
<span .glyphicon .glyphicon-ok-sign>
\ Encrypt repository #
to ^{gpgKeyDisplay keyid (Just name)}
<p>
<a .btn .btn-default onclick="$('#genkeymodal').modal('show');" href="@{GenKeyForDriveR drive}">
<span .glyphicon .glyphicon-plus-sign></span> Encrypt repository #
<span .glyphicon .glyphicon-plus-sign>
\ Encrypt repository #
with a new encryption key
^{setupDriveModal}
^{genKeyModal}

View file

@ -7,10 +7,12 @@
files to be retrieved from Glacier, making it mostly suitable for #
backups and long-term data archival. #
<p>
<span .glyphicon .glyphicon-warning-sign></span> By default, only files you place in #
<span .glyphicon .glyphicon-warning-sign>
\ By default, only files you place in #
"archive" directories will be archived in Amazon Glacier.
<p>
<span .glyphicon .glyphicon-warning-sign></span> You will be charged by Amazon for data #
<span .glyphicon .glyphicon-warning-sign>
\ You will be charged by Amazon for data #
uploaded to Glacier, as well as data downloaded from Glacier, and a #
monthly fee for data storage. #
<a href="http://aws.amazon.com/glacier/pricing/">

View file

@ -1,11 +1,13 @@
<h3>
<a href="@{AddGlacierR}">
<span .glyphicon .glyphicon-plus-sign></span> Amazon Glacier
<span .glyphicon .glyphicon-plus-sign>
\ Amazon Glacier
<p>
Low cost offline data archival.
<h3>
<a href="@{AddIAR}">
<span .glyphicon .glyphicon-plus-sign></span> Internet Archive
<span .glyphicon .glyphicon-plus-sign>
\ Internet Archive
<p>
Free archival of public data.

View file

@ -1,12 +1,14 @@
<h3>
<a href="@{AddBoxComR}">
<span .glyphicon .glyphicon-plus-sign></span> Box.com
<span .glyphicon .glyphicon-plus-sign>
\ Box.com
<p>
Provides free cloud storage for small amounts of data.
<h3>
<a href="@{AddRsyncNetR}">
<span .glyphicon .glyphicon-plus-sign></span> Rsync.net
<span .glyphicon .glyphicon-plus-sign>
\ Rsync.net
<p>
Works very well with git-annex.
<br>
@ -14,7 +16,8 @@
<h3>
<a href="@{AddS3R}">
<span .glyphicon .glyphicon-plus-sign></span> Amazon S3
<span .glyphicon .glyphicon-plus-sign>
\ Amazon S3
<p>
Good choice for professional quality storage.

View file

@ -1,6 +1,7 @@
<h3>
<a href="@{AddDriveR}">
<span .glyphicon .glyphicon-plus-sign></span> Removable drive
<span .glyphicon .glyphicon-plus-sign>
\ Removable drive
<p>
Add a USB drive, memory stick, or other removable media. #
For offline archiving, backups, or to #
@ -11,14 +12,16 @@
<h3>
<a href="@{StartLocalPairR}">
<span .glyphicon .glyphicon-plus-sign></span> Local computer
<span .glyphicon .glyphicon-plus-sign>
\ Local computer
<p>
Pair with a computer to keep files in sync quickly, #
over your local network.
<h3>
<a href="@{NewRepositoryR}">
<span .glyphicon .glyphicon-plus-sign></span> Add another repository
<span .glyphicon .glyphicon-plus-sign>
\ Add another repository
<p>
Make another repository on your computer.

View file

@ -1,6 +1,7 @@
<h3>
<a href="@{AddSshR}">
<span .glyphicon .glyphicon-plus-sign></span> Remote server
<span .glyphicon .glyphicon-plus-sign>
\ Remote server
<p>
Set up a repository on a remote server using #
<tt>ssh</tt>.

View file

@ -1,11 +1,13 @@
<h3>
<a href="@{StartXMPPPairSelfR}">
<span .glyphicon .glyphicon-plus-sign></span> Share with your other devices
<span .glyphicon .glyphicon-plus-sign>
\ Share with your other devices
<p>
Keep files in sync between your devices running git-annex.
<h3>
<a href="@{StartXMPPPairFriendR}">
<span .glyphicon .glyphicon-plus-sign></span> Share with a friend
<span .glyphicon .glyphicon-plus-sign>
\ Share with a friend
<p>
Combine your repository with a friend's repository, and share your files.

View file

@ -6,7 +6,8 @@
provider. If you need a professional level of storage for your data, #
this is a good choice.
<p>
<span .glyphicon .glyphicon-warning-sign></span> You will be charged by Amazon for data #
<span .glyphicon .glyphicon-warning-sign>
\ You will be charged by Amazon for data #
uploaded to S3, as well as data downloaded from S3, and a monthly fee #
for data storage. #
<a href="http://aws.amazon.com/s3/pricing/">

View file

@ -29,6 +29,7 @@
^{webAppFormAuthToken}
<div .col-md-2>
<button .btn .btn-danger type=submit>
<span .glyphicon .glyphicon-warning-sign></span> Delete this repository #
<span .glyphicon .glyphicon-warning-sign>
\ Delete this repository #
<a .btn .btn-default href="@{DashboardR}">
Cancel

View file

@ -8,4 +8,5 @@
off it, to other repositories.
<p>
<a .btn .btn-primary href="@{StartDeleteRepositoryR uuid}">
<span .glyphicon .glyphicon-minus></span> Start deletion process
<span .glyphicon .glyphicon-minus>
\ Start deletion process

View file

@ -21,8 +21,8 @@
Add a check:
^{showFsckForm True (defaultFsck Nothing)}
$else
<span .glyphicon .glyphicon-warning-sign></span> #
Some repositories are not yet checked. #
<span .glyphicon .glyphicon-warning-sign>
\ Some repositories are not yet checked. #
Please consider adding these checks:
$forall c <- recommendedchecks
^{showFsckForm True c}

View file

@ -1,6 +1,7 @@
<div .col-sm-9 .jumbotron>
<h2>
<span .glyphicon .glyphicon-signal></span> Connection needed
<span .glyphicon .glyphicon-signal>
\ Connection needed
<p>
In order to quickly sync with other repositories, #
a direct connection is needed to another git-annex. #

View file

@ -2,7 +2,8 @@
<h2>
Add another local repository
<p>
<span .glyphicon .glyphicon-asterisk></span> Do you want to back your repository up to a #
<span .glyphicon .glyphicon-asterisk>
\ Do you want to back your repository up to a #
removable drive?
<a .btn .btn-primary href="@{AddDriveR}">
Make a repository on a Removable Drive

View file

@ -7,11 +7,13 @@
Do you want to combine it with your existing repository at #{mainrepo}?
<p>
<a .btn .btn-default href="@{CombineRepositoryR newrepopath newrepouuid}">
<span .glyphicon .glyphicon-resize-small></span> Combine the repositories #
<span .glyphicon .glyphicon-resize-small>
\ Combine the repositories #
The combined repositories will sync and share their files.
<p>
-or-
<p>
<a .btn .btn-default href="@{SwitchToRepositoryR newrepopath}">
<span .glyphicon .glyphicon-resize-full></span> Keep the repositories separate #
<span .glyphicon .glyphicon-resize-full>
\ Keep the repositories separate #
Files placed in one will not be synced to the other.

View file

@ -8,7 +8,8 @@
Do you only want to share photos and videos you take?
<p>
<a .btn .btn-primary .btn-lg href="@{AndroidCameraRepositoryR}">
<span .glyphicon .glyphicon-camera></span> Make Camera Repository
<span .glyphicon .glyphicon-camera>
\ Make Camera Repository
<p>
$if androidspecial
Want to share more files? #

View file

@ -3,7 +3,7 @@
<div .form-group>
<div .input-group>
<span .input-group-addon>
<span .glyphicon .glyphicon-folder-open></span>
<span .glyphicon .glyphicon-folder-open>
^{fvInput pathView}
<span .input-group-btn>
<button type=submit .btn .btn-primary>

View file

@ -24,7 +24,8 @@
phrase, go ask #{username} ...
$if badphrase
<div .alert .alert-danger>
<span .glyphicon .glyphicon-warning-sign></span> #{problem}
<span .glyphicon .glyphicon-warning-sign>
\ #{problem}
<p>
<form method="post" .form-horizontal enctype=#{enctype}>
<fieldset>

View file

@ -17,7 +17,8 @@
$case status
$of UnusableServer msg
<div .alert .alert-danger>
<span .glyphicon .glyphicon-warning-sign></span> #{msg}
<span .glyphicon .glyphicon-warning-sign>
\ #{msg}
$of _
<div>
Your data will be encrypted before it is sent to Rsync.net.

View file

@ -12,7 +12,8 @@
And it's easy to set up and use.
<p>
<a .btn .btn-default href="@{MakeRsyncNetSharedR sshdata}" onclick="$('#setupmodal').modal('show');">
<span .glyphicon .glyphicon-lock></span> Use shared encryption
<span .glyphicon .glyphicon-lock>
\ Use shared encryption
<p style="text-align: center">
-or-
<h3>
@ -27,11 +28,13 @@
$forall (keyid, name) <- secretkeys
<p>
<a .btn .btn-default href="@{MakeRsyncNetGCryptR sshdata (RepoKey keyid)}" onclick="$('#setupmodal').modal('show');">
<span .glyphicon .glyphicon-lock></span> Encrypt repository #
<span .glyphicon .glyphicon-lock>
\ Encrypt repository #
to ^{gpgKeyDisplay keyid (Just name)}
<p>
<a .btn .btn-default href="@{MakeRsyncNetGCryptR sshdata NoRepoKey}" onclick="$('#genkeymodal').modal('show');">
<span .glyphicon .glyphicon-plus-sign></span> Encrypt repository #
<span .glyphicon .glyphicon-plus-sign>
\ Encrypt repository #
with a new encryption key
^{genKeyModal}
<div .modal .fade #setupmodal>

View file

@ -10,7 +10,8 @@
$case status
$of UnusableServer msg
<div .alert .alert-danger>
<span .glyphicon .glyphicon-warning-sign></span> #{msg}
<span .glyphicon .glyphicon-warning-sign>
\ #{msg}
$of _
<p>
<form method="post" .form-horizontal enctype=#{enctype}>

View file

@ -8,12 +8,14 @@
Do you want to merge this repository's contents into your repository?
<p>
<a .btn .btn-default onclick="$('#setupmodal').modal('show');" href="@{CombineSshR sshdata}">
<span .glyphicon .glyphicon-resize-small></span> Combine the repositories #
<span .glyphicon .glyphicon-resize-small>
\ Combine the repositories #
The combined repositories will sync and share their files.
<p>
<p>
<a .btn .btn-default href="@{AddSshR}">
<span .glyphicon .glyphicon-resize-full></span> Go back #
<span .glyphicon .glyphicon-resize-full>
\ Go back #
Use a different directory than <tt>#{sshDirectory sshdata}</tt> to #
avoid combining the repositories.
^{sshSetupModal sshdata}

View file

@ -5,8 +5,8 @@
<div .col-sm-9>
$if not (hasCapability sshdata GitAnnexShellCapable)
<p>
<span .glyphicon .glyphicon-warning-sign></span> #
The server #{sshHostName sshdata} can be used as is, but #
<span .glyphicon .glyphicon-warning-sign>
\ The server #{sshHostName sshdata} can be used as is, but #
installing #
$if not (hasCapability sshdata GitCapable)
git and git-annex #
@ -42,7 +42,8 @@
it good for sharing. And it's easy to set up and use.
<p>
<a .btn .btn-default href="@{MakeSshRsyncR sshdata}" onclick="$('#setupmodal').modal('show');">
<span .glyphicon .glyphicon-lock></span> Use shared encryption
<span .glyphicon .glyphicon-lock>
\ Use shared encryption
$if hasCapability sshdata GitCapable
<p style="text-align: center">
-or-
@ -58,11 +59,13 @@
$forall (keyid, name) <- secretkeys
<p>
<a .btn .btn-default href="@{MakeSshGCryptR sshdata (RepoKey keyid)}" onclick="$('#setupmodal').modal('show');" >
<span .glyphicon .glyphicon-lock></span> Encrypt repository #
<span .glyphicon .glyphicon-lock>
\ Encrypt repository #
to ^{gpgKeyDisplay keyid (Just name)}
<p>
<a .btn href="@{MakeSshGCryptR sshdata NoRepoKey}" onclick="$('#genkeymodal').modal('show');">
<span .glyphicon .glyphicon-plus-sign></span> Encrypt repository #
<span .glyphicon .glyphicon-plus-sign>
\ Encrypt repository #
with a new encryption key
^{sshTestModal}
^{sshSetupModal sshdata}

View file

@ -15,7 +15,8 @@
$case status
$of UnusableServer msg
<div .alert .alert-danger>
<span .glyphicon .glyphicon-warning-sign></span> #{msg}
<span .glyphicon .glyphicon-warning-sign>
\ #{msg}
$of _
^{form}
^{webAppFormAuthToken}

View file

@ -1,6 +1,7 @@
<div .col-sm-9 .jumbotron>
<h2>
<span .glyphicon .glyphicon-warning-sign></span> Failed to make repository
<span .glyphicon .glyphicon-warning-sign>
\ Failed to make repository
<p>
Something went wrong setting up the repository on the remote server.
<p>

View file

@ -6,7 +6,8 @@
Some old versions of files and deleted files have been preserved #
inside this repository.
<div .alert .alert-info>
<span .glyphicon .glyphicon-info-sign></span> #{renderTense Past desc} #
<span .glyphicon .glyphicon-info-sign>
\ #{renderTense Past desc} #
$maybe lastchecked <- mlastchecked
(last checked #{fromDuration lastchecked} ago)
$nothing
@ -24,7 +25,8 @@
up space.
<br>
<a .btn .btn-default href="@{AddRepositoryR}">
<span .glyphicon .glyphicon-plus></span> Add a new repository
<span .glyphicon .glyphicon-plus>
\ Add a new repository
<li>
<p>
Or, you can let unused files expire after a period of time.
@ -35,4 +37,5 @@
Finally, you can clean up all unused files manually at any time.
<br>
<a .btn .btn-default href="@{CleanupUnusedR}">
<span .glyphicon .glyphicon-trash></span> Clean up unused files now
<span .glyphicon .glyphicon-trash>
\ Clean up unused files now

View file

@ -10,10 +10,12 @@
post any messages to it.
<p>
$maybe msg <- problem
<span .glyphicon .glyphicon-warning-sign></span> Unable to connect to the Jabber server. #
<span .glyphicon .glyphicon-warning-sign>
\ Unable to connect to the Jabber server. #
Maybe you entered the wrong password? (Error message: #{msg})
$nothing
<span .glyphicon .glyphicon-user></span> If you have a Gmail account, you can use #
<span .glyphicon .glyphicon-user>
\ If you have a Gmail account, you can use #
Google Talk. Just enter your full Gmail address #
<small>(<tt>you@gmail.com</tt>)</small> #
and password below.

View file

@ -13,11 +13,11 @@
<tr>
<td>
$if isself buddyid
<span .glyphicon .glyphicon-star></span> #
<span .glyphicon .glyphicon-star> #
<span :away:.text-muted>
your other devices
$else
<span .glyphicon .glyphicon-user></span> #
<span .glyphicon .glyphicon-user> #
<span :away:.text-muted>
#{name}
<td>

View file

@ -3,6 +3,7 @@
Shutdown daemon?
<p>
<a .btn .btn-danger href="@{ShutdownConfirmedR}">
<span .glyphicon .glyphicon-off></span> Confirm shutdown
<span .glyphicon .glyphicon-off>
\ Confirm shutdown
<a .btn .btn-default href="@{DashboardR}">
Keep running

View file

@ -1,16 +1,21 @@
<ul .dropdown-menu>
<li>
<a href="@{NewRepositoryR}">
<span .glyphicon .glyphicon-plus-sign></span> Add another local repository
<span .glyphicon .glyphicon-plus-sign> #
Add another local repository
<li>
<a href="@{RepositorySwitcherR}">
<span .glyphicon .glyphicon-folder-close></span> Switch repository
<span .glyphicon .glyphicon-folder-close> #
Switch repository
<li>
<a href="@{RestartR}">
<span .glyphicon .glyphicon-repeat></span> Restart daemon
<span .glyphicon .glyphicon-repeat> #
Restart daemon
<li>
<a href="@{ShutdownR}">
<span .glyphicon .glyphicon-off></span> Shutdown daemon
<span .glyphicon .glyphicon-off> #
Shutdown daemon
<li>
<a href="@{LogR}">
<span .glyphicon .glyphicon-list></span> View log
<span .glyphicon .glyphicon-list> #
View log

View file

@ -2,7 +2,7 @@
<div .container>
<div .navbar-header>
<button type="button" .navbar-toggle data-toggle="collapse" data-target=".navbar-collapse">
<span .sr-only">Toggle navigation
<span .sr-only>Toggle navigation
<span .icon-bar>
<span .icon-bar>
<span .icon-bar>
@ -22,7 +22,7 @@
<li .dropdown #menu1>
<a .dropdown-toggle data-toggle="dropdown" href="#menu1">
Repository: #{reldir}
<b .caret></b>
<b .caret>
^{controlMenu}
$nothing
<div .container-fluid>

View file

@ -15,28 +15,30 @@
<tr .repoline ##{show repoid}>
<td .handle>
<a .btn .btn-default .btn-xs .disabled>
<span .glyphicon .glyphicon-resize-vertical></span>
<span .glyphicon .glyphicon-resize-vertical>
&nbsp; #{name}
<td .draghide>
$if needsEnabled actions
<a href="@{setupRepoLink actions}">
<span .glyphicon .glyphicon-warning-sign></span> not enabled
<span .glyphicon .glyphicon-warning-sign>
\ not enabled
$else
$if notWanted actions
<span .glyphicon .glyphicon-trash></span> cleaning out..
<span .glyphicon .glyphicon-trash>
\ cleaning out..
$else
<a href="@{syncToggleLink actions}">
$if currentlyconnected
<span .glyphicon .glyphicon-signal></span> #
<span .glyphicon .glyphicon-signal>
$else
$if notSyncing actions
<span .glyphicon .glyphicon-ban-circle></span> #
<span .glyphicon .glyphicon-ban-circle>
$else
<span .glyphicon .glyphicon-refresh></span> #
<span .glyphicon .glyphicon-refresh>
$if notSyncing actions
syncing disabled
\ syncing disabled
$else
syncing enabled #
\ syncing enabled #
$if lacksUUID repoid
(metadata only)
<td .draghide>
@ -46,28 +48,35 @@
$else
<div .dropdown #menu-#{show repoid}>
<a data-toggle="dropdown" data-target="#" href="#menu-#{show repoid}">
<span .glyphicon .glyphicon-cog></span> actions
<span .glyphicon .glyphicon-cog>
\ actions #
<span .caret>
<ul .dropdown-menu>
<li>
<a href="@{setupRepoLink actions}">
<span .glyphicon .glyphicon-pencil></span> Edit
<span .glyphicon .glyphicon-pencil>
\ Edit
$if not (lacksUUID repoid)
<a href="@{SyncNowRepositoryR $ asUUID repoid}">
<span .glyphicon .glyphicon-refresh></span> Sync now
<span .glyphicon .glyphicon-refresh>
\ Sync now
<a href="@{DisableRepositoryR $ asUUID repoid}">
<span .glyphicon .glyphicon-minus></span> Disable
<span .glyphicon .glyphicon-minus>
\ Disable
<a href="@{DeleteRepositoryR $ asUUID repoid}">
<span .glyphicon .glyphicon-trash></span> Delete
<span .glyphicon .glyphicon-trash>
\ Delete
$if addmore
<tr>
<td colspan="3">
$if nootherrepos
<a .btn .btn-primary .btn-lg href="@{AddRepositoryR}">
<span .glyphicon .glyphicon-plus-sign></span> Add another repository
<span .glyphicon .glyphicon-plus-sign>
\ Add another repository
$else
<a .btn .btn-default .btn-sm href="@{AddRepositoryR}">
<span .glyphicon .glyphicon-plus-sign></span> Add another repository
<span .glyphicon .glyphicon-plus-sign>
\ Add another repository
<span>
&nbsp; Sync your files with another device, or #
share with a friend.

View file

@ -10,7 +10,8 @@
$else
$maybe i <- alertIcon alert
^{htmlIcon i} #
<strong>#{h}</strong> #
<strong>#{h}
\
$nothing
$maybe i <- alertIcon alert
^{htmlIcon i} #