add some padding by nesting layout elements

This commit is contained in:
Sören Brunk 2014-04-21 17:44:10 +02:00
parent ccc8afb59d
commit 70ea7fbcdb
52 changed files with 1145 additions and 1092 deletions

View file

@ -1,21 +1,22 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
Adding a Box.com repository <h2>
<p> Adding a Box.com repository
<a href="http://box.com">Box.com</a> offers a small quantity of storage # <p>
for free, and larger quantities for a fee. <a href="http://box.com">Box.com</a> offers a small quantity of storage #
<p> for free, and larger quantities for a fee.
Even a small amount of free storage is useful, as a transfer point # <p>
between your repositories. Even a small amount of free storage is useful, as a transfer point #
<p> between your repositories.
<form method="post" .form-horizontal enctype=#{enctype}> <p>
<fieldset> <form method="post" .form-horizontal enctype=#{enctype}>
^{form} <fieldset>
^{webAppFormAuthToken} ^{form}
<div .form-group> ^{webAppFormAuthToken}
<div .col-sm-offset-2> <div .form-group>
<button .btn .btn-primary type=submit onclick="$('#workingmodal').modal('show');"> <div .col-sm-offset-2>
Add repository <button .btn .btn-primary type=submit onclick="$('#workingmodal').modal('show');">
Add repository
<div .modal .fade #workingmodal> <div .modal .fade #workingmodal>
<div .modal-dialog> <div .modal-dialog>
<div .modal-content> <div .modal-content>

View file

@ -1,33 +1,35 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
Adding a removable drive <h2>
<p> Adding a removable drive
Clone this repository to a USB drive, memory stick, or other # <p>
removable media. Whenever the removable drive is plugged in, its # Clone this repository to a USB drive, memory stick, or other #
content will be synced with the content of this repository. removable media. Whenever the removable drive is plugged in, its #
<p> content will be synced with the content of this repository.
$if (null writabledrives) <p>
<div .col-sm-6 .alert .alert-danger .alert-block> $if (null writabledrives)
$if (null removabledrives) <div .col-sm-6 .alert .alert-danger .alert-block>
<h4 .alert-heading> $if (null removabledrives)
No removable drives found <h4 .alert-heading>
Please make sure you have a removable drive plugged in and mounted. No removable drives found
$else Please make sure you have a removable drive plugged in and mounted.
<h4 .alert-heading> $else
No usable removable drives found <h4 .alert-heading>
Seems you cannot write to any of the removable drives that are # No usable removable drives found
currently mounted. Try plugging in a removable drive that you can # Seems you cannot write to any of the removable drives that are #
write to, or correcting the write permissions. currently mounted. Try plugging in a removable drive that you can #
<p> write to, or correcting the write permissions.
<a .btn .btn-primary href="@{AddDriveR}"> <p>
Rescan for removable drives <a .btn .btn-primary href="@{AddDriveR}">
$else Rescan for removable drives
<form method="post" enctype=#{enctype} .form-horizontal> $else
<fieldset> <form method="post" enctype=#{enctype} .form-horizontal>
^{form} <fieldset>
^{webAppFormAuthToken} ^{form}
<div .form-group> ^{webAppFormAuthToken}
<div .col-sm-offset-2> <div .form-group>
<button .btn .btn-primary type=submit>Use this drive</button> # <div .col-sm-offset-2>
<a .btn .btn-default href="@{AddDriveR}"> <button .btn .btn-primary type=submit>Use this drive</button> #
Rescan for removable drives <a .btn .btn-default href="@{AddDriveR}">
Rescan for removable drives

View file

@ -1,21 +1,22 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
Combine repositories? <h2>
<p> Combine repositories?
The removable drive at <tt>#{mountPoint drive}</tt> already <p>
has files in its repository <tt>#{driveRepoPath drive}</tt> The removable drive at <tt>#{mountPoint drive}</tt> already
<p> has files in its repository <tt>#{driveRepoPath drive}</tt>
Do you want to combine these files into your repository? <p>
<p> Do you want to combine these files into your repository?
<a .btn .btn-default onclick="$('#setupmodal').modal('show');" href="@{FinishAddDriveR drive NoRepoKey}"> <p>
<span .glyphicon .glyphicon-resize-small> <a .btn .btn-default onclick="$('#setupmodal').modal('show');" href="@{FinishAddDriveR drive NoRepoKey}">
\ Combine the repositories # <span .glyphicon .glyphicon-resize-small>
The combined repositories will sync and share their files. \ Combine the repositories #
<p> The combined repositories will sync and share their files.
<p> <p>
<a .btn .btn-default href="@{AddDriveR}"> <p>
<span .glyphicon .glyphicon-resize-full> <a .btn .btn-default href="@{AddDriveR}">
\ Go back # <span .glyphicon .glyphicon-resize-full>
Use a different directory than <tt>#{driveRepoPath drive}</tt> to # \ Go back #
avoid combining the repositories. Use a different directory than <tt>#{driveRepoPath drive}</tt> to #
avoid combining the repositories.
^{setupDriveModal} ^{setupDriveModal}

View file

@ -1,28 +1,29 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
Encrypt this drive? <h2>
<p> Encrypt this drive?
Encrypting the repository stored on the removable drive at # <p>
<tt>#{mountPoint drive}</tt> # Encrypting the repository stored on the removable drive at #
will prevent the data stored in it from being exposed if the drive # <tt>#{mountPoint drive}</tt> #
falls into the wrong hands. However, encryption # will prevent the data stored in it from being exposed if the drive #
will also prevent you from sharing the repository with friends, or # falls into the wrong hands. However, encryption #
easily accessing its contents on another computer. will also prevent you from sharing the repository with friends, or #
<p> easily accessing its contents on another computer.
<a .btn .btn-default onclick="$('#setupmodal').modal('show');" href="@{FinishAddDriveR drive NoRepoKey}"> <p>
<span .glyphicon .glyphicon-minus-sign> <a .btn .btn-default onclick="$('#setupmodal').modal('show');" href="@{FinishAddDriveR drive NoRepoKey}">
\ Do not encrypt repository # <span .glyphicon .glyphicon-minus-sign>
Anyone who has the drive can see the files stored on it. \ Do not encrypt repository #
$forall (keyid, name) <- secretkeys Anyone who has the drive can see the files stored on it.
<p> $forall (keyid, name) <- secretkeys
<a .btn .btn-default onclick="$('#setupmodal').modal('show');" href="@{FinishAddDriveR drive (RepoKey keyid)}"> <p>
<span .glyphicon .glyphicon-ok-sign> <a .btn .btn-default onclick="$('#setupmodal').modal('show');" href="@{FinishAddDriveR drive (RepoKey keyid)}">
\ Encrypt repository # <span .glyphicon .glyphicon-ok-sign>
to ^{gpgKeyDisplay keyid (Just name)} \ Encrypt repository #
<p> to ^{gpgKeyDisplay keyid (Just name)}
<a .btn .btn-default onclick="$('#genkeymodal').modal('show');" href="@{GenKeyForDriveR drive}"> <p>
<span .glyphicon .glyphicon-plus-sign> <a .btn .btn-default onclick="$('#genkeymodal').modal('show');" href="@{GenKeyForDriveR drive}">
\ Encrypt repository # <span .glyphicon .glyphicon-plus-sign>
with a new encryption key \ Encrypt repository #
with a new encryption key
^{setupDriveModal} ^{setupDriveModal}
^{genKeyModal} ^{genKeyModal}

View file

@ -1,31 +1,32 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
Adding an Amazon Glacier repository <h2>
<p> Adding an Amazon Glacier repository
<a href="http://aws.amazon.com/glacier/">Amazon Glacier</a> is an # <p>
offline cloud storage provider. It takes several hours for requested # <a href="http://aws.amazon.com/glacier/">Amazon Glacier</a> is an #
files to be retrieved from Glacier, making it mostly suitable for # offline cloud storage provider. It takes several hours for requested #
backups and long-term data archival. # files to be retrieved from Glacier, making it mostly suitable for #
<p> backups and long-term data archival. #
<span .glyphicon .glyphicon-warning-sign> <p>
\ By default, only files you place in # <span .glyphicon .glyphicon-warning-sign>
"archive" directories will be archived in Amazon Glacier. \ By default, only files you place in #
<p> "archive" directories will be archived in Amazon Glacier.
<span .glyphicon .glyphicon-warning-sign> <p>
\ You will be charged by Amazon for data # <span .glyphicon .glyphicon-warning-sign>
uploaded to Glacier, as well as data downloaded from Glacier, and a # \ You will be charged by Amazon for data #
monthly fee for data storage. # uploaded to Glacier, as well as data downloaded from Glacier, and a #
<a href="http://aws.amazon.com/glacier/pricing/"> monthly fee for data storage. #
Pricing details <a href="http://aws.amazon.com/glacier/pricing/">
<p> Pricing details
<form method="post" .form-horizontal enctype=#{enctype}> <p>
<fieldset> <form method="post" .form-horizontal enctype=#{enctype}>
^{form} <fieldset>
^{webAppFormAuthToken} ^{form}
<div .form-group> ^{webAppFormAuthToken}
<div .col-sm-offset-2> <div .form-group>
<button .btn .btn-primary type=submit onclick="$('#workingmodal').modal('show');"> <div .col-sm-offset-2>
Add Glacier repository <button .btn .btn-primary type=submit onclick="$('#workingmodal').modal('show');">
Add Glacier repository
<div .modal .fade #workingmodal> <div .modal .fade #workingmodal>
<div .modal-dialog> <div .modal-dialog>
<div .modal-content> <div .modal-content>

View file

@ -1,29 +1,30 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
Adding an Internet Archive item <h2>
<p> Adding an Internet Archive item
<a href="http://archive.org/">The Internet Archive</a> allows anyone # <p>
to publically archive their information, for free. All you need to # <a href="http://archive.org/">The Internet Archive</a> allows anyone #
get started is to # to publically archive their information, for free. All you need to #
<a href="http://archive.org/account/login.createaccount.php"> get started is to #
Create an account <a href="http://archive.org/account/login.createaccount.php">
<p> Create an account
The Internet Archive stores "items". An item can be a single file, or # <p>
a related group of files. You can make as many different items as you # The Internet Archive stores "items". An item can be a single file, or #
like. a related group of files. You can make as many different items as you #
<p> like.
By default, only files that you place in a special directory # <p>
will be uploaded to your Internet Archive item. Any other files # By default, only files that you place in a special directory #
in your repository will remain private. will be uploaded to your Internet Archive item. Any other files #
<p> in your repository will remain private.
<form method="post" .form-horizontal enctype=#{enctype}> <p>
<fieldset> <form method="post" .form-horizontal enctype=#{enctype}>
^{form} <fieldset>
^{webAppFormAuthToken} ^{form}
<div .form-group> ^{webAppFormAuthToken}
<div .col-sm-offset-2> <div .form-group>
<button .btn .btn-primary type=submit onclick="$('#workingmodal').modal('show');"> <div .col-sm-offset-2>
Add Internet Archive item <button .btn .btn-primary type=submit onclick="$('#workingmodal').modal('show');">
Add Internet Archive item
<div .modal .fade #workingmodal> <div .modal .fade #workingmodal>
<div .modal-dialog> <div .modal-dialog>
<div .modal-content> <div .modal-content>

View file

@ -1,4 +1,5 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<div .jumbotron>
<h2> <h2>
Adding an Amazon S3 repository Adding an Amazon S3 repository
<p> <p>

View file

@ -1,35 +1,36 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
Deleting #{reldir} <h2>
<p> Deleting #{reldir}
Deleting this repository will remove <tt>#{reldir}</tt> and all its # <p>
^{actionButton FileBrowserR (Just "files") (Just "Click to open a file browser") "" "icon-folder-open"}. Deleting this repository will remove <tt>#{reldir}</tt> and all its #
$if havegitremotes ^{actionButton FileBrowserR (Just "files") (Just "Click to open a file browser") "" "icon-folder-open"}.
$if havedataremotes $if havegitremotes
<div .alert> $if havedataremotes
Since this repository is currently configured to sync to other # <div .alert>
repositories, you may be able to remove this repository without # Since this repository is currently configured to sync to other #
losing any data, if all files have been synced to them. # repositories, you may be able to remove this repository without #
No guarantees -- It's up to you to make sure before you continue. losing any data, if all files have been synced to them. #
No guarantees -- It's up to you to make sure before you continue.
$else
<div .alert .alert-danger>
This repository is not uploading its files to other repositories,
so you will lose data if you delete it!
$else $else
<div .alert .alert-danger> <div .alert .alert-danger>
This repository is not uploading its files to other repositories, This repository is not syncing to other git repositories, #
so you will lose data if you delete it! so you will lose data if you delete it!
$else <p>
<div .alert .alert-danger> If you choose to delete this repository, and potentially lose #
This repository is not syncing to other git repositories, # data, enter "#{magicphrase}" into the box.
so you will lose data if you delete it! <p>
<p> <form method="post" .form-horizontal enctype=#{enctype}>
If you choose to delete this repository, and potentially lose # <fieldset>
data, enter "#{magicphrase}" into the box. ^{form}
<p> ^{webAppFormAuthToken}
<form method="post" .form-horizontal enctype=#{enctype}> <div .col-md-2>
<fieldset> <button .btn .btn-danger type=submit>
^{form} <span .glyphicon .glyphicon-warning-sign>
^{webAppFormAuthToken} \ Delete this repository #
<div .col-md-2> <a .btn .btn-default href="@{DashboardR}">
<button .btn .btn-danger type=submit> Cancel
<span .glyphicon .glyphicon-warning-sign>
\ Delete this repository #
<a .btn .btn-default href="@{DashboardR}">
Cancel

View file

@ -1,14 +1,15 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
Repository deleted <h2>
<p> Repository deleted
As much data as possible has been removed from the repository <p>
"#{reponame}", and it has been removed from the list of repositories. As much data as possible has been removed from the repository
<p> "#{reponame}", and it has been removed from the list of repositories.
$if gitrepo <p>
<div .alert> $if gitrepo
Since "#{reponame}" is a git repository, it still contains <div .alert>
some data. To completely remove it, you should go delete that git Since "#{reponame}" is a git repository, it still contains
repository. some data. To completely remove it, you should go delete that git
$else repository.
Now you can safely go delete the underlying storage of the repository. $else
Now you can safely go delete the underlying storage of the repository.

View file

@ -1,12 +1,13 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
Delete repository # <h2>
<small> Delete repository #
#{reponame} <small>
<p> #{reponame}
Before this repository can be deleted, all data must be moved # <p>
off it, to other repositories. Before this repository can be deleted, all data must be moved #
<p> off it, to other repositories.
<a .btn .btn-primary href="@{StartDeleteRepositoryR uuid}"> <p>
<span .glyphicon .glyphicon-minus> <a .btn .btn-primary href="@{StartDeleteRepositoryR uuid}">
\ Start deletion process <span .glyphicon .glyphicon-minus>
\ Start deletion process

View file

@ -1,18 +1,19 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
Just a git repository <h2>
<p> Just a git repository
This repository is not currently set up as a git annex; #
only git metadata is synced with this repository.
$if sshrepo
<p> <p>
If this repository's ssh server has git-annex installed, you can # This repository is not currently set up as a git annex; #
upgrade this repository to a full git annex, which will store the only git metadata is synced with this repository.
contents of your files, not only their metadata. $if sshrepo
<p>
If this repository's ssh server has git-annex installed, you can #
upgrade this repository to a full git annex, which will store the
contents of your files, not only their metadata.
<p>
<a .btn .btn-default href="@{UpgradeRepositoryR r}">
Upgrade Repository
<h2>
Repository information
<p> <p>
<a .btn .btn-default href="@{UpgradeRepositoryR r}"> ^{repoInfo}
Upgrade Repository
<h2>
Repository information
<p>
^{repoInfo}

View file

@ -1,38 +1,39 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
<h2>
$if new
Setup complete
$else
Editing repository
$if new $if new
Setup complete <p>
$else This repository is set up and ready to go!
Editing repository <p>
$if new Now you can do a little more configuring of it, if you like. #
Perhaps enter a better name than the automatically generated one.
$if istransfer
<div .alert .alert-info>
This repository is currently in the transfer group. That's the #
right choice if you'll use it to shuttle data back and forth #
between other repositories. Otherwise, pick one of the other groups.
<p> <p>
This repository is set up and ready to go! <form method="post" .form-horizontal enctype=#{enctype}>
<fieldset>
^{form}
^{webAppFormAuthToken}
<div .form-group>
<div .col-sm-offset-2>
<button .btn .btn-primary type=submit>
Save Changes #
<a .btn .btn-default href="@{DashboardR}">
Cancel #
$if new
<p>
In a hurry? Feel free to skip this step! You can always come back #
and configure this repository later.
<h3>
Repository information
<p> <p>
Now you can do a little more configuring of it, if you like. # ^{repoInfo}
Perhaps enter a better name than the automatically generated one.
$if istransfer
<div .alert .alert-info>
This repository is currently in the transfer group. That's the #
right choice if you'll use it to shuttle data back and forth #
between other repositories. Otherwise, pick one of the other groups.
<p>
<form method="post" .form-horizontal enctype=#{enctype}>
<fieldset>
^{form}
^{webAppFormAuthToken}
<div .form-group>
<div .col-sm-offset-2>
<button .btn .btn-primary type=submit>
Save Changes #
<a .btn .btn-default href="@{DashboardR}">
Cancel #
$if new
<p> <p>
In a hurry? Feel free to skip this step! You can always come back # ^{repoEncryption}
and configure this repository later.
<h3>
Repository information
<p>
^{repoInfo}
<p>
^{repoEncryption}

View file

@ -1,27 +1,28 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
Enabling #{description} <h2>
<p> Enabling #{description}
To use this Amazon repository, you need an Access Key ID, and a # <p>
Secret Access Key. These access keys will be stored in a file that # To use this Amazon repository, you need an Access Key ID, and a #
only you can access. Secret Access Key. These access keys will be stored in a file that #
<p> only you can access.
If this repository uses your Amazon account, you can # <p>
<a href="https://portal.aws.amazon.com/gp/aws/securityCredentials#id_block"> If this repository uses your Amazon account, you can #
look up your access keys. # <a href="https://portal.aws.amazon.com/gp/aws/securityCredentials#id_block">
If this repository uses someone else's Amazon account, they # look up your access keys. #
can generate access keys for you, using their # If this repository uses someone else's Amazon account, they #
<a href="https://console.aws.amazon.com/iam/home"> can generate access keys for you, using their #
IAM Management Console. <a href="https://console.aws.amazon.com/iam/home">
<p> IAM Management Console.
<form method="post" .form-horizontal enctype=#{enctype}> <p>
<fieldset> <form method="post" .form-horizontal enctype=#{enctype}>
^{form} <fieldset>
^{webAppFormAuthToken} ^{form}
<div .form-group> ^{webAppFormAuthToken}
<div .col-sm-offset-2> <div .form-group>
<button .btn .btn-primary type=submit onclick="$('#workingmodal').modal('show');"> <div .col-sm-offset-2>
Enable Amazon repository <button .btn .btn-primary type=submit onclick="$('#workingmodal').modal('show');">
Enable Amazon repository
<div .modal .fade #workingmodal> <div .modal .fade #workingmodal>
<div .modal-dialog> <div .modal-dialog>
<div .modal-content> <div .modal-content>

View file

@ -1,10 +1,11 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
Enabling #{description} <h2>
<p> Enabling #{description}
Where is this repository located? <p>
<p> Where is this repository located?
<a .btn .btn-default href="@{AddDriveR}"> <p>
On a removable drive <a .btn .btn-default href="@{AddDriveR}">
<a .btn href="@{DashboardR}"> On a removable drive
Cancel <a .btn href="@{DashboardR}">
Cancel

View file

@ -1,19 +1,20 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
Enabling #{description} <h2>
<p> Enabling #{description}
To use this Internet Archive repository, you need an Access Key ID, and a # <p>
Secret Access Key. These access keys will be stored in a file that # To use this Internet Archive repository, you need an Access Key ID, and a #
only you can access. Secret Access Key. These access keys will be stored in a file that #
<p> only you can access.
<form method="post" .form-horizontal enctype=#{enctype}> <p>
<fieldset> <form method="post" .form-horizontal enctype=#{enctype}>
^{form} <fieldset>
^{webAppFormAuthToken} ^{form}
<div .form-group> ^{webAppFormAuthToken}
<div .col-sm-offset-2> <div .form-group>
<button .btn .btn-primary type=submit onclick="$('#workingmodal').modal('show');"> <div .col-sm-offset-2>
Enable Internet Archive repository <button .btn .btn-primary type=submit onclick="$('#workingmodal').modal('show');">
Enable Internet Archive repository
<div .modal .fade #workingmodal> <div .modal .fade #workingmodal>
<div .modal-dialog> <div .modal-dialog>
<div .modal-content> <div .modal-content>

View file

@ -1,19 +1,20 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
Enabling #{description} <h2>
<p> Enabling #{description}
This is a WebDAV repository located at # <p>
<a href="#{url}"> This is a WebDAV repository located at #
#{url} <a href="#{url}">
<p> #{url}
<form method="post" .form-horizontal enctype=#{enctype}> <p>
<fieldset> <form method="post" .form-horizontal enctype=#{enctype}>
^{form} <fieldset>
^{webAppFormAuthToken} ^{form}
<div .form-group> ^{webAppFormAuthToken}
<div .col-sm-offset-2> <div .form-group>
<button .btn .btn-primary type=submit onclick="$('#workingmodal').modal('show');"> <div .col-sm-offset-2>
Enable repository <button .btn .btn-primary type=submit onclick="$('#workingmodal').modal('show');">
Enable repository
<div .modal .fade #workingmodal> <div .modal .fade #workingmodal>
<div .modal-dialog> <div .modal-dialog>
<div .modal-content> <div .modal-content>

View file

@ -1,31 +1,32 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
Consistency checks <h2>
<p> Consistency checks
Checking the contents of a repository periodically will ensure that #
your data is in good shape. Any problems that are detected will #
be automatically fixed.
<p>
Running the consistency check involves reading all the files in the #
repository, which can take a long time if it's large. Running just a #
little at a time will eventually check the whole repository.
$if (not (null scheduledchecks))
<p> <p>
Currently scheduled checks: Checking the contents of a repository periodically will ensure that #
$forall c <- scheduledchecks your data is in good shape. Any problems that are detected will #
^{showFsckForm False c} be automatically fixed.
<div style="margin-left: 5em"> <p>
^{showFsckStatus c} Running the consistency check involves reading all the files in the #
<p> repository, which can take a long time if it's large. Running just a #
$if null (recommendedchecks) little at a time will eventually check the whole repository.
Add a check: $if (not (null scheduledchecks))
^{showFsckForm True (defaultFsck Nothing)} <p>
$else Currently scheduled checks:
<span .glyphicon .glyphicon-warning-sign> $forall c <- scheduledchecks
\ Some repositories are not yet checked. # ^{showFsckForm False c}
Please consider adding these checks: <div style="margin-left: 5em">
$forall c <- recommendedchecks ^{showFsckStatus c}
^{showFsckForm True c} <p>
<h3> $if null (recommendedchecks)
Configuration Add a check:
^{showFsckPreferencesForm} ^{showFsckForm True (defaultFsck Nothing)}
$else
<span .glyphicon .glyphicon-warning-sign>
\ Some repositories are not yet checked. #
Please consider adding these checks:
$forall c <- recommendedchecks
^{showFsckForm True c}
<h3>
Configuration
^{showFsckPreferencesForm}

View file

@ -1,13 +1,14 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
<span .glyphicon .glyphicon-signal> <h2>
\ Connection needed <span .glyphicon .glyphicon-signal>
<p> \ Connection needed
In order to quickly sync with other repositories, # <p>
a direct connection is needed to another git-annex. # In order to quickly sync with other repositories, #
<p> a direct connection is needed to another git-annex. #
You don't currently seem to have such a connection configured -- # <p>
or if you do, it's not currently connected! You don't currently seem to have such a connection configured -- #
<h2> or if you do, it's not currently connected!
Add a connection <h2>
^{makeConnectionRepositories} Add a connection
^{makeConnectionRepositories}

View file

@ -1,10 +1,11 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
Need git-remote-gcrypt <h2>
<p> Need git-remote-gcrypt
To encrypt git repositories, you need to install # <p>
<a href="https://github.com/joeyh/git-remote-gcrypt"> To encrypt git repositories, you need to install #
git-remote-gcrypt <a href="https://github.com/joeyh/git-remote-gcrypt">
<p> git-remote-gcrypt
<a .btn .btn-primary .btn-lg href=""> <p>
Retry <a .btn .btn-primary .btn-lg href="">
Retry

View file

@ -1,10 +1,11 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
Need glacier-cli <h2>
<p> Need glacier-cli
To use Amazon Glacier, you need to install # <p>
<a href="https://github.com/basak/glacier-cli"> To use Amazon Glacier, you need to install #
glacier-cli <a href="https://github.com/basak/glacier-cli">
<p> glacier-cli
<a .btn .btn-primary .btn-lg href=""> <p>
Retry <a .btn .btn-primary .btn-lg href="">
Retry

View file

@ -1,13 +1,14 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
Add another local repository <h2>
<p> Add another local repository
<span .glyphicon .glyphicon-asterisk> <p>
\ Do you want to back your repository up to a # <span .glyphicon .glyphicon-asterisk>
removable drive? \ Do you want to back your repository up to a #
<a .btn .btn-primary href="@{AddDriveR}"> removable drive?
Make a repository on a Removable Drive <a .btn .btn-primary href="@{AddDriveR}">
<p> Make a repository on a Removable Drive
Repository location: <p>
<form method="post" .form-inline enctype=#{enctype}> Repository location:
^{form} <form method="post" .form-inline enctype=#{enctype}>
^{form}

View file

@ -1,19 +1,20 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
Combine repositories? <h2>
<p> Combine repositories?
The repository at #{newrepo} is set up. <p>
<br> The repository at #{newrepo} is set up.
Do you want to combine it with your existing repository at #{mainrepo}? <br>
<p> Do you want to combine it with your existing repository at #{mainrepo}?
<a .btn .btn-default href="@{CombineRepositoryR newrepopath newrepouuid}"> <p>
<span .glyphicon .glyphicon-resize-small> <a .btn .btn-default href="@{CombineRepositoryR newrepopath newrepouuid}">
\ Combine the repositories # <span .glyphicon .glyphicon-resize-small>
The combined repositories will sync and share their files. \ Combine the repositories #
<p> The combined repositories will sync and share their files.
-or- <p>
<p> -or-
<a .btn .btn-default href="@{SwitchToRepositoryR newrepopath}"> <p>
<span .glyphicon .glyphicon-resize-full> <a .btn .btn-default href="@{SwitchToRepositoryR newrepopath}">
\ Keep the repositories separate # <span .glyphicon .glyphicon-resize-full>
Files placed in one will not be synced to the other. \ Keep the repositories separate #
Files placed in one will not be synced to the other.

View file

@ -1,20 +1,21 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
Welcome to git-annex! <h2>
<p> Welcome to git-annex!
To get started, let's create a git-annex repository.
$if androidspecial
<p> <p>
Do you only want to share photos and videos you take? To get started, let's create a git-annex repository.
<p>
<a .btn .btn-primary .btn-lg href="@{AndroidCameraRepositoryR}">
<span .glyphicon .glyphicon-camera>
\ Make Camera Repository
<p>
$if androidspecial $if androidspecial
Want to share more files? # <p>
Files in this repository will be kept in sync with your # Do you only want to share photos and videos you take?
repositories on other devices. <p>
<p> <a .btn .btn-primary .btn-lg href="@{AndroidCameraRepositoryR}">
<form method="post" .form-inline enctype=#{enctype}> <span .glyphicon .glyphicon-camera>
^{form} \ Make Camera Repository
<p>
$if androidspecial
Want to share more files? #
Files in this repository will be kept in sync with your #
repositories on other devices.
<p>
<form method="post" .form-inline enctype=#{enctype}>
^{form}

View file

@ -1,5 +1,6 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
not supported <h2>
<p> not supported
This build of git-annex does not support #{pairingtype} pairing. Sorry! <p>
This build of git-annex does not support #{pairingtype} pairing. Sorry!

View file

@ -1,18 +1,19 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
Pairing in progress .. <h2>
$if T.null secret Pairing in progress ..
<p> $if T.null secret
You do not need to leave this page open; pairing will finish # <p>
automatically. You do not need to leave this page open; pairing will finish #
$else automatically.
<p> $else
Now you should either go tell the owner of the computer you want to pair # <p>
with the secret phrase you selected ("#{secret}"), or go enter it into # Now you should either go tell the owner of the computer you want to pair #
the computer you want to pair with. with the secret phrase you selected ("#{secret}"), or go enter it into #
<p> the computer you want to pair with.
You do not need to leave this page open; pairing will finish automatically # <p>
as soon as the secret phrase is entered into the other computer. You do not need to leave this page open; pairing will finish automatically #
<p> as soon as the secret phrase is entered into the other computer.
If you're not seeing a pair request on the other computer, try moving # <p>
it to the same switch or wireless network as this one. If you're not seeing a pair request on the other computer, try moving #
it to the same switch or wireless network as this one.

View file

@ -1,52 +1,53 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
Pairing with a local computer <h2>
<p> Pairing with a local computer
$if start <p>
Pair with a computer on your local network (or VPN), and the #
two git annex repositories will be combined into one, with changes #
kept in sync between them.
$else
Pairing with #{username}@#{hostname} will combine your two git annex #
repositories into one, allowing you to share files.
<p>
$if start
For security, enter a secret phrase. To verify that you're pairing #
with the right computer, its git-annex webapp will then prompt for the #
same secret phrase. That's all this secret phrase will be used for.
$else
$if sameusername
For security, you need to enter the same secret phrase that was #
entered on #{hostname} when the pairing was started.
$else
For security, a secret phrase has been selected, which you need #
to enter here to finish the pairing. If you don't know the #
phrase, go ask #{username} ...
$if badphrase
<div .alert .alert-danger>
<span .glyphicon .glyphicon-warning-sign>
\ #{problem}
<p>
<form method="post" .form-horizontal enctype=#{enctype}>
<fieldset>
^{form}
^{webAppFormAuthToken}
<div .form-group>
<div .col-sm-offset-2>
<button .btn .btn-primary type=submit>
$if start
Start pairing
$else
Finish pairing
<div .alert .alert-info>
$if start $if start
<p> Pair with a computer on your local network (or VPN), and the #
A good secret phrase is reasonably long. You'll only # two git annex repositories will be combined into one, with changes #
type it a few times. Only letters and numbers matter; # kept in sync between them.
punctuation and white space is ignored.
<p>
A quotation is one good choice, something like: #
"#{sampleQuote}"
$else $else
Only letters and numbers matter; punctuation and spaces are # Pairing with #{username}@#{hostname} will combine your two git annex #
ignored. repositories into one, allowing you to share files.
<p>
$if start
For security, enter a secret phrase. To verify that you're pairing #
with the right computer, its git-annex webapp will then prompt for the #
same secret phrase. That's all this secret phrase will be used for.
$else
$if sameusername
For security, you need to enter the same secret phrase that was #
entered on #{hostname} when the pairing was started.
$else
For security, a secret phrase has been selected, which you need #
to enter here to finish the pairing. If you don't know the #
phrase, go ask #{username} ...
$if badphrase
<div .alert .alert-danger>
<span .glyphicon .glyphicon-warning-sign>
\ #{problem}
<p>
<form method="post" .form-horizontal enctype=#{enctype}>
<fieldset>
^{form}
^{webAppFormAuthToken}
<div .form-group>
<div .col-sm-offset-2>
<button .btn .btn-primary type=submit>
$if start
Start pairing
$else
Finish pairing
<div .alert .alert-info>
$if start
<p>
A good secret phrase is reasonably long. You'll only #
type it a few times. Only letters and numbers matter; #
punctuation and white space is ignored.
<p>
A quotation is one good choice, something like: #
"#{sampleQuote}"
$else
Only letters and numbers matter; punctuation and spaces are #
ignored.

View file

@ -1,32 +1,33 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
$if inprogress <div .jumbotron>
$if inprogress
<h2>
Pair request sent ...
<p>
$maybe name <- friend
A pair request has been sent to #{name}. Now it's up to them #
to accept it and finish pairing.
$nothing
A pair request has been sent to all other devices that #
have been configured to use your jabber account. #
It will be answered automatically by any devices that see it.
$else
Pair request accepted.
<h2> <h2>
Pair request sent ... Configure a shared cloud repository
<p> $maybe name <- friend
$maybe name <- friend <p>
A pair request has been sent to #{name}. Now it's up to them # &#9730; To share files with #{name}, you'll need a repository in #
to accept it and finish pairing. the cloud, that you both can access.
$nothing $nothing
A pair request has been sent to all other devices that # <p>
have been configured to use your jabber account. # &#9730; To share files with your other devices, when they're not #
It will be answered automatically by any devices that see it. nearby, you'll need a repository in the cloud.
$else <p>
Pair request accepted. Make sure that your other devices are configured to access a #
<h2> cloud repository, and that the same repository is enabled here #
Configure a shared cloud repository too.
$maybe name <- friend ^{cloudRepoList}
<p> <h2>
&#9730; To share files with #{name}, you'll need a repository in # Add a cloud repository
the cloud, that you both can access. ^{makeCloudRepositories}
$nothing
<p>
&#9730; To share files with your other devices, when they're not #
nearby, you'll need a repository in the cloud.
<p>
Make sure that your other devices are configured to access a #
cloud repository, and that the same repository is enabled here #
too.
^{cloudRepoList}
<h2>
Add a cloud repository
^{makeCloudRepositories}

View file

@ -1,11 +1,12 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
Pair request received from #{name} <h2>
<p> Pair request received from #{name}
Pairing with #{name} will combine your two git annex # <p>
repositories into one, allowing you to share files. Pairing with #{name} will combine your two git annex #
<p> repositories into one, allowing you to share files.
<a .btn .btn-primary .btn-lg href="@{FinishXMPPPairFriendR pairkey}"> <p>
Accept pair request <a .btn .btn-primary .btn-lg href="@{FinishXMPPPairFriendR pairkey}">
<a .btn .btn-default .btn-lg href="@{DashboardR}"> Accept pair request
No thanks <a .btn .btn-default .btn-lg href="@{DashboardR}">
No thanks

View file

@ -1,12 +1,13 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
Share with a friend <h2>
<p> Share with a friend
You can combine your repository with a friend's repository #
to share your files. Your repositories will automatically be kept in #
sync. Only do this if you want your friend to see all the files #
in this repository!
<p>
Here are the friends currently available via your Jabber account.
<p> <p>
^{buddyListDisplay} You can combine your repository with a friend's repository #
to share your files. Your repositories will automatically be kept in #
sync. Only do this if you want your friend to see all the files #
in this repository!
<p>
Here are the friends currently available via your Jabber account.
<p>
^{buddyListDisplay}

View file

@ -1,20 +1,21 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
Sharing with your other devices <h2>
<p> Sharing with your other devices
If you have multiple devices, all running git-annex, and using # <p>
your Jabber account #{account}, you can configure them to share # If you have multiple devices, all running git-annex, and using #
your files between themselves. your Jabber account #{account}, you can configure them to share #
<p> your files between themselves.
For example, you can have a computer at home, one at work, and a # <p>
laptop, and their repositories will automatically be kept in sync. For example, you can have a computer at home, one at work, and a #
<p> laptop, and their repositories will automatically be kept in sync.
Make sure your other devices are online and configured to use # <p>
your Jabber account before continuing. Note that <b>all</b> # Make sure your other devices are online and configured to use #
repositories configured to use the same Jabber account will be # your Jabber account before continuing. Note that <b>all</b> #
combined together when you do this. repositories configured to use the same Jabber account will be #
<p> combined together when you do this.
<a .btn .btn-primary .btn-lg href="@{RunningXMPPPairSelfR}"> <p>
Start sharing with my other devices # <a .btn .btn-primary .btn-lg href="@{RunningXMPPPairSelfR}">
<a .btn .btn-default .btn-lg href="@{DashboardR}"> Start sharing with my other devices #
Cancel <a .btn .btn-default .btn-lg href="@{DashboardR}">
Cancel

View file

@ -1,11 +1,12 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
Unable to get in touch with any other devices. <h2>
<p> Unable to get in touch with any other devices.
Make sure your other devices are online and configured to use # <p>
your Jabber account before continuing. Make sure your other devices are online and configured to use #
<p> your Jabber account before continuing.
<a .btn .btn-primary .btn-lg href="@{RunningXMPPPairSelfR}"> <p>
Start sharing with my other devices # <a .btn .btn-primary .btn-lg href="@{RunningXMPPPairSelfR}">
<a .btn .btn-default .btn-lg href="@{DashboardR}"> Start sharing with my other devices #
Cancel <a .btn .btn-default .btn-lg href="@{DashboardR}">
Cancel

View file

@ -1,14 +1,15 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
Preferences <h2>
<p> Preferences
<form method="post" .form-horizontal enctype=#{enctype}> <p>
<fieldset> <form method="post" .form-horizontal enctype=#{enctype}>
^{form} <fieldset>
^{webAppFormAuthToken} ^{form}
<div .form-group> ^{webAppFormAuthToken}
<div .col-sm-offset-2> <div .form-group>
<button .btn .btn-primary type=submit> <div .col-sm-offset-2>
Save Preferences <button .btn .btn-primary type=submit>
<a .btn .btn-default href="@{ConfigurationR}"> Save Preferences
Cancel <a .btn .btn-default href="@{ConfigurationR}">
Cancel

View file

@ -1,44 +1,45 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
Adding a Rsync.net repository <h2>
<p> Adding a Rsync.net repository
<a href="http://rsync.net/"> <p>
Rsync.net # <a href="http://rsync.net/">
is a well-respected cloud storage provider. Its rsync repositories are # Rsync.net #
supported very well by git-annex. # is a well-respected cloud storage provider. Its rsync repositories are #
supported very well by git-annex. #
<p> <p>
They have committed to support git-annex and offer a special They have committed to support git-annex and offer a special
discounted rate for git-annex users. discounted rate for git-annex users.
<a href="http://www.rsync.net/products/git-annex-pricing.html"> <a href="http://www.rsync.net/products/git-annex-pricing.html">
pricing details pricing details
<p> <p>
$case status $case status
$of UnusableServer msg $of UnusableServer msg
<div .alert .alert-danger> <div .alert .alert-danger>
<span .glyphicon .glyphicon-warning-sign> <span .glyphicon .glyphicon-warning-sign>
\ #{msg} \ #{msg}
$of _ $of _
<div> <div>
Your data will be encrypted before it is sent to Rsync.net. Your data will be encrypted before it is sent to Rsync.net.
<p> <p>
<form method="post" .form-horizontal enctype=#{enctype}> <form method="post" .form-horizontal enctype=#{enctype}>
<fieldset> <fieldset>
^{form} ^{form}
^{webAppFormAuthToken} ^{webAppFormAuthToken}
<div .form-group> <div .form-group>
<div .col-sm-offset-2> <div .col-sm-offset-2>
<button .btn .btn-primary type=submit onclick="$('#setupmodal').modal('show');"> <button .btn .btn-primary type=submit onclick="$('#setupmodal').modal('show');">
Use this rsync.net repository Use this rsync.net repository
<div .modal .fade #setupmodal> <div .modal .fade #setupmodal>
<div .modal-dialog> <div .modal-dialog>
<div .modal-content> <div .modal-content>
<div .modal-header> <div .modal-header>
<h3> <h3>
Checking access to rsync.net ... Checking access to rsync.net ...
<div .modal-body> <div .modal-body>
<p> <p>
This could take a minute. This could take a minute.
<p> <p>
You may be prompted for your rsync.net ssh password. You may be prompted for your rsync.net ssh password.

View file

@ -1,41 +1,42 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
Ready to use rsync.net <h2>
<p> Ready to use rsync.net
All data will be encrypted before it is sent to rsync.net. # <p>
There are two options for how to encrypt your data. All data will be encrypted before it is sent to rsync.net. #
<h3> There are two options for how to encrypt your data.
Simple shared encryption <h3>
<p> Simple shared encryption
This allows everyone who has a clone of this repository to decrypt the # <p>
files stored on rsync.net. That makes it good for sharing. # This allows everyone who has a clone of this repository to decrypt the #
And it's easy to set up and use. files stored on rsync.net. That makes it good for sharing. #
<p> And it's easy to set up and use.
<a .btn .btn-default href="@{MakeRsyncNetSharedR sshdata}" onclick="$('#setupmodal').modal('show');"> <p>
<span .glyphicon .glyphicon-lock> <a .btn .btn-default href="@{MakeRsyncNetSharedR sshdata}" onclick="$('#setupmodal').modal('show');">
\ Use shared encryption <span .glyphicon .glyphicon-lock>
<p style="text-align: center"> \ Use shared encryption
-or- <p style="text-align: center">
<h3> -or-
Encrypt with GnuPG key <h3>
<p> Encrypt with GnuPG key
This stores an encrypted clone of your repository on rsync.net, # <p>
unlike shared encryption which only stores file contents on rsync.net. # This stores an encrypted clone of your repository on rsync.net, #
So it's good for backups. But the encryption will prevent you from # unlike shared encryption which only stores file contents on rsync.net. #
sharing the rsync.net repository with friends, or easily accessing # So it's good for backups. But the encryption will prevent you from #
its contents on another computer. sharing the rsync.net repository with friends, or easily accessing #
<p> its contents on another computer.
$forall (keyid, name) <- secretkeys <p>
<p> $forall (keyid, name) <- secretkeys
<a .btn .btn-default href="@{MakeRsyncNetGCryptR sshdata (RepoKey keyid)}" onclick="$('#setupmodal').modal('show');"> <p>
<span .glyphicon .glyphicon-lock> <a .btn .btn-default href="@{MakeRsyncNetGCryptR sshdata (RepoKey keyid)}" onclick="$('#setupmodal').modal('show');">
\ Encrypt repository # <span .glyphicon .glyphicon-lock>
to ^{gpgKeyDisplay keyid (Just name)} \ Encrypt repository #
<p> to ^{gpgKeyDisplay keyid (Just name)}
<a .btn .btn-default href="@{MakeRsyncNetGCryptR sshdata NoRepoKey}" onclick="$('#genkeymodal').modal('show');"> <p>
<span .glyphicon .glyphicon-plus-sign> <a .btn .btn-default href="@{MakeRsyncNetGCryptR sshdata NoRepoKey}" onclick="$('#genkeymodal').modal('show');">
\ Encrypt repository # <span .glyphicon .glyphicon-plus-sign>
with a new encryption key \ Encrypt repository #
with a new encryption key
^{genKeyModal} ^{genKeyModal}
<div .modal .fade #setupmodal> <div .modal .fade #setupmodal>
<div .modal-dialog> <div .modal-dialog>

View file

@ -1,25 +1,26 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
Adding a remote server using ssh <h2>
<p> Adding a remote server using ssh
You can use nearly any server that has ssh and rsync. For example, you # <p>
could use a <a href="http://linode.com/">Linode</a> or # You can use nearly any server that has ssh and rsync. For example, you #
<a href="http://vix.su/personalcolo/">another VPS</a>, or # could use a <a href="http://linode.com/">Linode</a> or #
an account on a friend's server. <a href="http://vix.su/personalcolo/">another VPS</a>, or #
<p> an account on a friend's server.
$case status <p>
$of UnusableServer msg $case status
<div .alert .alert-danger> $of UnusableServer msg
<span .glyphicon .glyphicon-warning-sign> <div .alert .alert-danger>
\ #{msg} <span .glyphicon .glyphicon-warning-sign>
$of _ \ #{msg}
<p> $of _
<form method="post" .form-horizontal enctype=#{enctype}> <p>
<fieldset> <form method="post" .form-horizontal enctype=#{enctype}>
^{form} <fieldset>
^{webAppFormAuthToken} ^{form}
<div .form-group> ^{webAppFormAuthToken}
<div .col-sm-offset-2> <div .form-group>
<button .btn .btn-primary type=submit onclick="$('#testmodal').modal('show');"> <div .col-sm-offset-2>
Check this server <button .btn .btn-primary type=submit onclick="$('#testmodal').modal('show');">
Check this server
^{sshTestModal} ^{sshTestModal}

View file

@ -1,21 +1,22 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
Combine repositories? <h2>
<p> Combine repositories?
A repository already exists on #{sshHostName sshdata} in the # <p>
<tt>#{sshDirectory sshdata}</tt> directory. A repository already exists on #{sshHostName sshdata} in the #
<p> <tt>#{sshDirectory sshdata}</tt> directory.
Do you want to merge this repository's contents into your repository? <p>
<p> Do you want to merge this repository's contents into your repository?
<a .btn .btn-default onclick="$('#setupmodal').modal('show');" href="@{CombineSshR sshdata}"> <p>
<span .glyphicon .glyphicon-resize-small> <a .btn .btn-default onclick="$('#setupmodal').modal('show');" href="@{CombineSshR sshdata}">
\ Combine the repositories # <span .glyphicon .glyphicon-resize-small>
The combined repositories will sync and share their files. \ Combine the repositories #
<p> The combined repositories will sync and share their files.
<p> <p>
<a .btn .btn-default href="@{AddSshR}"> <p>
<span .glyphicon .glyphicon-resize-full> <a .btn .btn-default href="@{AddSshR}">
\ Go back # <span .glyphicon .glyphicon-resize-full>
Use a different directory than <tt>#{sshDirectory sshdata}</tt> to # \ Go back #
avoid combining the repositories. Use a different directory than <tt>#{sshDirectory sshdata}</tt> to #
avoid combining the repositories.
^{sshSetupModal sshdata} ^{sshSetupModal sshdata}

View file

@ -1,72 +1,73 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
Ready to add remote server <h2>
<div .row> Ready to add remote server
<div .col-sm-9> <div .row>
$if not (hasCapability sshdata GitAnnexShellCapable) <div .col-sm-9>
<p> $if not (hasCapability sshdata GitAnnexShellCapable)
<span .glyphicon .glyphicon-warning-sign> <p>
\ The server #{sshHostName sshdata} can be used as is, but # <span .glyphicon .glyphicon-warning-sign>
installing # \ The server #{sshHostName sshdata} can be used as is, but #
$if not (hasCapability sshdata GitCapable) installing #
git and git-annex # $if not (hasCapability sshdata GitCapable)
$else git and git-annex #
git-annex # $else
on it would make it work better, and provide more options below. # git-annex #
<p> on it would make it work better, and provide more options below. #
If you're able to install software on the server, do so and click <p>
<a .btn .btn-default href="@{RetrySshR sshdata}" onclick="$('#testmodal').modal('show');"> If you're able to install software on the server, do so and click
Retry <a .btn .btn-default href="@{RetrySshR sshdata}" onclick="$('#testmodal').modal('show');">
$else Retry
<p> $else
The server #{sshHostName sshdata} has been verified to be usable. # <p>
Depending on whether you trust this server, you can choose between # The server #{sshHostName sshdata} has been verified to be usable. #
storing your data on it encrypted, or unencrypted. Depending on whether you trust this server, you can choose between #
storing your data on it encrypted, or unencrypted.
<h3>
Unencrypted repository
<p>
All your data will be uploaded to the server, including a clone of #
the git repository. This is a good choice if you want to set up #
other devices to use the same server, or share the repository with #
others.
<p>
<a .btn .btn-default href="@{MakeSshGitR sshdata}" onclick="$('#setupmodal').modal('show');">
Make an unencrypted git repository on the server
<p style="text-align: center">
-or-
<h3> <h3>
Unencrypted repository Simple shared encryption
<p> <p>
All your data will be uploaded to the server, including a clone of # This allows everyone who has a clone of this repository to #
the git repository. This is a good choice if you want to set up # decrypt the files stored on #{sshHostName sshdata}. That makes #
other devices to use the same server, or share the repository with # it good for sharing. And it's easy to set up and use.
others.
<p> <p>
<a .btn .btn-default href="@{MakeSshGitR sshdata}" onclick="$('#setupmodal').modal('show');"> <a .btn .btn-default href="@{MakeSshRsyncR sshdata}" onclick="$('#setupmodal').modal('show');">
Make an unencrypted git repository on the server <span .glyphicon .glyphicon-lock>
<p style="text-align: center"> \ Use shared encryption
-or- $if hasCapability sshdata GitCapable
<h3> <p style="text-align: center">
Simple shared encryption -or-
<p> <h3>
This allows everyone who has a clone of this repository to # Encrypt with GnuPG key
decrypt the files stored on #{sshHostName sshdata}. That makes # <p>
it good for sharing. And it's easy to set up and use. This stores an encrypted clone of your repository on #
<p> #{sshHostName sshdata}, unlike shared encryption which only #
<a .btn .btn-default href="@{MakeSshRsyncR sshdata}" onclick="$('#setupmodal').modal('show');"> stores file contents there. So it's good for backups. But the #
<span .glyphicon .glyphicon-lock> encryption will prevent you from sharing the repository with #
\ Use shared encryption friends, or easily accessing its contents on another computer.
$if hasCapability sshdata GitCapable <p>
<p style="text-align: center"> $forall (keyid, name) <- secretkeys
-or- <p>
<h3> <a .btn .btn-default href="@{MakeSshGCryptR sshdata (RepoKey keyid)}" onclick="$('#setupmodal').modal('show');" >
Encrypt with GnuPG key <span .glyphicon .glyphicon-lock>
<p> \ Encrypt repository #
This stores an encrypted clone of your repository on # to ^{gpgKeyDisplay keyid (Just name)}
#{sshHostName sshdata}, unlike shared encryption which only # <p>
stores file contents there. So it's good for backups. But the # <a .btn href="@{MakeSshGCryptR sshdata NoRepoKey}" onclick="$('#genkeymodal').modal('show');">
encryption will prevent you from sharing the repository with # <span .glyphicon .glyphicon-plus-sign>
friends, or easily accessing its contents on another computer. \ Encrypt repository #
<p> with a new encryption key
$forall (keyid, name) <- secretkeys
<p>
<a .btn .btn-default href="@{MakeSshGCryptR sshdata (RepoKey keyid)}" onclick="$('#setupmodal').modal('show');" >
<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>
\ Encrypt repository #
with a new encryption key
^{sshTestModal} ^{sshTestModal}
^{sshSetupModal sshdata} ^{sshSetupModal sshdata}
^{genKeyModal} ^{genKeyModal}

View file

@ -1,25 +1,26 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
Enabling #{description} <h2>
<p> Enabling #{description}
To enable this repository, you first need to check that its ssh server # <p>
is usable from here. To enable this repository, you first need to check that its ssh server #
<p> is usable from here.
<p> <p>
<form method="post" .form-horizontal enctype=#{enctype}> <p>
<fieldset> <form method="post" .form-horizontal enctype=#{enctype}>
<div .form-group> <fieldset>
<div .col-sm-offset-2> <div .form-group>
<button .btn .btn-primary type=submit onclick="$('#testmodal').modal('show');"> <div .col-sm-offset-2>
Check this server <button .btn .btn-primary type=submit onclick="$('#testmodal').modal('show');">
$case status Check this server
$of UnusableServer msg $case status
<div .alert .alert-danger> $of UnusableServer msg
<span .glyphicon .glyphicon-warning-sign> <div .alert .alert-danger>
\ #{msg} <span .glyphicon .glyphicon-warning-sign>
$of _ \ #{msg}
^{form} $of _
^{webAppFormAuthToken} ^{form}
^{webAppFormAuthToken}
<div .modal .fade #testmodal> <div .modal .fade #testmodal>
<div .modal-dialog> <div .modal-dialog>
<div .modal-content> <div .modal-content>

View file

@ -1,12 +1,13 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
<span .glyphicon .glyphicon-warning-sign> <h2>
\ Failed to make repository <span .glyphicon .glyphicon-warning-sign>
<p> \ Failed to make repository
Something went wrong setting up the repository on the remote server. <p>
<p> Something went wrong setting up the repository on the remote server.
Transcript: <p>
<pre> Transcript:
#{msg} <pre>
<p> #{msg}
To retry setting up the repository, reload this page. <p>
To retry setting up the repository, reload this page.

View file

@ -1,41 +1,42 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
Managing unused files <h2>
<p> Managing unused files
$maybe desc <- munuseddesc <p>
Some old versions of files and deleted files have been preserved # $maybe desc <- munuseddesc
inside this repository. Some old versions of files and deleted files have been preserved #
<div .alert .alert-info> inside this repository.
<span .glyphicon .glyphicon-info-sign> <div .alert .alert-info>
\ #{renderTense Past desc} # <span .glyphicon .glyphicon-info-sign>
$maybe lastchecked <- mlastchecked \ #{renderTense Past desc} #
(last checked #{fromDuration lastchecked} ago) $maybe lastchecked <- mlastchecked
$nothing (last checked #{fromDuration lastchecked} ago)
Old versions of files and deleted files can be preserved inside # $nothing
this repository. Old versions of files and deleted files can be preserved inside #
<p> this repository.
This might be useful, if you ever need to access those old or deleted # <p>
files. But they'll also use up disk space. There are three ways to deal # This might be useful, if you ever need to access those old or deleted #
with this. files. But they'll also use up disk space. There are three ways to deal #
<ol> with this.
<li> <ol>
<p> <li>
Set up a backup or archive repository, on a removable drive # <p>
or in the cloud, and the unused files will be moved to it, freeing # Set up a backup or archive repository, on a removable drive #
up space. or in the cloud, and the unused files will be moved to it, freeing #
<br> up space.
<a .btn .btn-default href="@{AddRepositoryR}"> <br>
<span .glyphicon .glyphicon-plus> <a .btn .btn-default href="@{AddRepositoryR}">
\ Add a new repository <span .glyphicon .glyphicon-plus>
<li> \ Add a new repository
<p> <li>
Or, you can let unused files expire after a period of time. <p>
<form method="post" .form-inline enctype=#{enctype}> Or, you can let unused files expire after a period of time.
^{form} <form method="post" .form-inline enctype=#{enctype}>
<li> ^{form}
<p> <li>
Finally, you can clean up all unused files manually at any time. <p>
<br> Finally, you can clean up all unused files manually at any time.
<a .btn .btn-default href="@{CleanupUnusedR}"> <br>
<span .glyphicon .glyphicon-trash> <a .btn .btn-default href="@{CleanupUnusedR}">
\ Clean up unused files now <span .glyphicon .glyphicon-trash>
\ Clean up unused files now

View file

@ -1,9 +1,10 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
Upgrading git-annex <h2>
<p> Upgrading git-annex
To start the upgrade # <p>
<a .btn .btn-primary href="#{url}"> To start the upgrade #
Download #{takeFileName url} <a .btn .btn-primary href="#{url}">
<p> Download #{takeFileName url}
Once the download is complete, open the file to upgrade git-annex. <p>
Once the download is complete, open the file to upgrade git-annex.

View file

@ -1,33 +1,34 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
Configuring jabber account <h2>
<p> Configuring jabber account
A jabber account is used to communicate between # <p>
devices that are not in direct contact. # A jabber account is used to communicate between #
It can also be used to pair up with a friend's repository, if desired. devices that are not in direct contact. #
<p> It can also be used to pair up with a friend's repository, if desired.
It's fine to reuse an existing jabber account; git-annex won't # <p>
post any messages to it. It's fine to reuse an existing jabber account; git-annex won't #
<p> post any messages to it.
$maybe msg <- problem <p>
<span .glyphicon .glyphicon-warning-sign> $maybe msg <- problem
\ Unable to connect to the Jabber server. # <span .glyphicon .glyphicon-warning-sign>
Maybe you entered the wrong password? (Error message: #{msg}) \ Unable to connect to the Jabber server. #
$nothing Maybe you entered the wrong password? (Error message: #{msg})
<span .glyphicon .glyphicon-user> $nothing
\ If you have a Gmail account, you can use # <span .glyphicon .glyphicon-user>
Google Talk. Just enter your full Gmail address # \ If you have a Gmail account, you can use #
<small>(<tt>you@gmail.com</tt>)</small> # Google Talk. Just enter your full Gmail address #
and password below. <small>(<tt>you@gmail.com</tt>)</small> #
<p> and password below.
<form method="post" .form-horizontal enctype=#{enctype}> <p>
<fieldset> <form method="post" .form-horizontal enctype=#{enctype}>
^{form} <fieldset>
^{webAppFormAuthToken} ^{form}
<div .form-group> ^{webAppFormAuthToken}
<div .col-sm-offset-2> <div .form-group>
<button .btn .btn-primary type=submit onclick="$('#workingmodal').modal('show');"> <div .col-sm-offset-2>
Use this account <button .btn .btn-primary type=submit onclick="$('#workingmodal').modal('show');">
Use this account
<a .btn .btn-default href="@{DisconnectXMPPR}"> <a .btn .btn-default href="@{DisconnectXMPPR}">
Stop using this account Stop using this account
<div .modal .fade #workingmodal> <div .modal .fade #workingmodal>

View file

@ -1,5 +1,6 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
Jabber not supported <h2>
<p> Jabber not supported
This build of git-annex does not support Jabber. Sorry! <p>
This build of git-annex does not support Jabber. Sorry!

View file

@ -1,17 +1,18 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
&#9730; Configure a shared cloud repository <h2>
$maybe name <- buddyname &#9730; Configure a shared cloud repository
<p> $maybe name <- buddyname
You and #{name} have combined your repositores. But you can't open # <p>
each other's files yet. To start sharing files with #{name}, # You and #{name} have combined your repositores. But you can't open #
you need a repository in the cloud, that you both can access. each other's files yet. To start sharing files with #{name}, #
$nothing you need a repository in the cloud, that you both can access.
<p> $nothing
You've combined the repositories on two or more of your devices. # <p>
But files are not flowing yet. To start sharing files # You've combined the repositories on two or more of your devices. #
between your devices, you should set up a repository in the cloud. But files are not flowing yet. To start sharing files #
^{cloudRepoList} between your devices, you should set up a repository in the cloud.
<h2> ^{cloudRepoList}
Add a cloud repository <h2>
^{makeCloudRepositories} Add a cloud repository
^{makeCloudRepositories}

View file

@ -1,6 +1,7 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<p> <div .jumbotron>
Here's everything that has been logged by the git-annex assistant, # <p>
as well as by programs it has run. Here's everything that has been logged by the git-annex assistant, #
<pre> as well as by programs it has run.
#{logcontent} <pre>
#{logcontent}

View file

@ -1,6 +1,7 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<p> <div .jumbotron>
Bye bye! <p>
Bye bye!
<div .modal .fade #shutdownmodal> <div .modal .fade #shutdownmodal>
<div .modal-dialog> <div .modal-dialog>
<div .modal-content> <div .modal-content>

View file

@ -1,22 +1,23 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<p> <div .jumbotron>
A #
<a href="@{ConfigFsckR}">
consistency check #
found corrupt data in the git repository #{repodesc}.
<p>
While this is not good, this problem can be automatically repaired,
often without data loss.
$if repairingmainrepo
<p> <p>
When possible, the corrupt data will be recovered from other # A #
repositories. You should make sure any other repositories that might # <a href="@{ConfigFsckR}">
have this data are available before continuing. So, plug in any # consistency check #
removable drive that contains a repository, or make sure your network # found corrupt data in the git repository #{repodesc}.
connection to other repositories is active. <p>
<p> While this is not good, this problem can be automatically repaired,
<a .btn .btn-primary href="@{RepairRepositoryRunR u}" onclick="$('#workingmodal').modal('show');"> often without data loss.
Start Repair Process $if repairingmainrepo
<p>
When possible, the corrupt data will be recovered from other #
repositories. You should make sure any other repositories that might #
have this data are available before continuing. So, plug in any #
removable drive that contains a repository, or make sure your network #
connection to other repositories is active.
<p>
<a .btn .btn-primary href="@{RepairRepositoryRunR u}" onclick="$('#workingmodal').modal('show');">
Start Repair Process
<div .modal .fade #workingmodal> <div .modal .fade #workingmodal>
<div .modal-dialog> <div .modal-dialog>
<div .modal-content> <div .modal-content>

View file

@ -1,13 +1,14 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<p> <div .jumbotron>
Good news: Your repository has successfully been repaired! <p>
<p> Good news: Your repository has successfully been repaired!
This problem could have had a variety of causes. If your computer # <p>
lost power, or the drive containing this repository # This problem could have had a variety of causes. If your computer #
was disconnected, it would explain this type of problem. lost power, or the drive containing this repository #
<p> was disconnected, it would explain this type of problem.
On the other hand, it's possible that you have a hardware problem. <p>
<p> On the other hand, it's possible that you have a hardware problem.
Remember: Lots of copies keep stuff safe! The more repositories you # <p>
have, the less likely you are to lose data no matter what goes wrong. Remember: Lots of copies keep stuff safe! The more repositories you #
^{repolist} have, the less likely you are to lose data no matter what goes wrong.
^{repolist}

View file

@ -1,14 +1,15 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
Switch repository <h2>
<p> Switch repository
$if null repolist <p>
There are no other local repositories. Want to # $if null repolist
<a href="@{NewRepositoryR}">add one</a>? There are no other local repositories. Want to #
$else <a href="@{NewRepositoryR}">add one</a>?
You can switch to any of these other local repositories: $else
<ul> You can switch to any of these other local repositories:
$forall (name, path) <- repolist <ul>
<li> $forall (name, path) <- repolist
<a href="@{SwitchToRepositoryR path}"> <li>
#{name} <a href="@{SwitchToRepositoryR path}">
#{name}

View file

@ -1,9 +1,10 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
Shutdown daemon? <h2>
<p> Shutdown daemon?
<a .btn .btn-danger href="@{ShutdownConfirmedR}"> <p>
<span .glyphicon .glyphicon-off> <a .btn .btn-danger href="@{ShutdownConfirmedR}">
\ Confirm shutdown <span .glyphicon .glyphicon-off>
<a .btn .btn-default href="@{DashboardR}"> \ Confirm shutdown
Keep running <a .btn .btn-default href="@{DashboardR}">
Keep running

View file

@ -1,33 +1,34 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
git-annex watches over your files <h2>
<p> git-annex watches over your files
It will automatically notice changes, and keep files in sync between #
here and repositories elsewhere.
<p>
For full details, see #
<a href="http://git-annex.branchable.com/">the git-annex website</a>.
<hr>
git-annex is © 2010-2013 Joey Hess. It is free software, licensed #
under the terms of the GNU General Public License, version 3 or above. #
This webapp is licensed under the terms of the GNU Affero General #
Public License, version 3 or above. #
For full license information, see #
$if builtinlicense
<a href="@{LicenseR}">
this page.
$else
<a href="http://git-annex.branchable.com/license">
this page.
<p> <p>
The source code for git-annex can be downloaded # It will automatically notice changes, and keep files in sync between #
<a href="http://source.git-annex.branchable.com/">here</a>. here and repositories elsewhere.
<p> <p>
Development of git-annex is made possible by # For full details, see #
<a href="http://git-annex.branchable.com/assistant/thanks/"> <a href="http://git-annex.branchable.com/">the git-annex website</a>.
many excellent people <hr>
. &hearts; git-annex is © 2010-2013 Joey Hess. It is free software, licensed #
<p> under the terms of the GNU General Public License, version 3 or above. #
Version: #{packageversion} This webapp is licensed under the terms of the GNU Affero General #
<br> Public License, version 3 or above. #
Build flags: #{unwords buildFlags} For full license information, see #
$if builtinlicense
<a href="@{LicenseR}">
this page.
$else
<a href="http://git-annex.branchable.com/license">
this page.
<p>
The source code for git-annex can be downloaded #
<a href="http://source.git-annex.branchable.com/">here</a>.
<p>
Development of git-annex is made possible by #
<a href="http://git-annex.branchable.com/assistant/thanks/">
many excellent people
. &hearts;
<p>
Version: #{packageversion}
<br>
Build flags: #{unwords buildFlags}

View file

@ -1,60 +1,61 @@
<div .col-sm-9 .jumbotron> <div .col-sm-9>
<h2> <div .jumbotron>
Repository groups <h2>
<p> Repository groups
Each repository you configure git-annex to use is a member of a # <p>
repository group. Each group of repositories has a different # Each repository you configure git-annex to use is a member of a #
purpose. repository group. Each group of repositories has a different #
<p> purpose.
Let's start with the <b>client repositories</b>. These are the # <p>
repositories that contain files that you can directly use. Generally # Let's start with the <b>client repositories</b>. These are the #
you'll have one client repository per computer. The whole point of # repositories that contain files that you can directly use. Generally #
the git-annex assistant is to keep these repositories in sync as you # you'll have one client repository per computer. The whole point of #
change files, add files, delete files, etc. the git-annex assistant is to keep these repositories in sync as you #
<p> change files, add files, delete files, etc.
The next most important repository group is the # <p>
<b>transfer repositories</b>. # The next most important repository group is the #
These are used to transfer files between clients, when the clients # <b>transfer repositories</b>. #
cannot directly talk to one-another. Transfer repositories only # These are used to transfer files between clients, when the clients #
hold the files that need to be synced to other repositories, so they # cannot directly talk to one-another. Transfer repositories only #
are relatively small. hold the files that need to be synced to other repositories, so they #
<p> are relatively small.
You can get along without any <b>full backup repositories</b>, but # <p>
they're a useful safeguard. These repositories accumulate every file You can get along without any <b>full backup repositories</b>, but #
they can get ahold of. A large removable drive makes a good full backup # they're a useful safeguard. These repositories accumulate every file
repository. they can get ahold of. A large removable drive makes a good full backup #
<p> repository.
Similarly, the <b>incremental backup repositories</b> try to back up # <p>
every file, but these only accumulate files that are not already # Similarly, the <b>incremental backup repositories</b> try to back up #
present in a full or incremental backup. every file, but these only accumulate files that are not already #
<p> present in a full or incremental backup.
Next we come to the <b>archive repositories</b>. <p>
The archive repositories coordinate together, so that each file is # Next we come to the <b>archive repositories</b>.
archived in only one place. When you move files into a folder named # The archive repositories coordinate together, so that each file is #
"archive", the content of the files will be removed from all your # archived in only one place. When you move files into a folder named #
client repositories (either immediately or as soon as an archive # "archive", the content of the files will be removed from all your #
repository gets a copy of the file). This is handy if you have old files # client repositories (either immediately or as soon as an archive #
you don't need anymore, but want to keep archived for later. # repository gets a copy of the file). This is handy if you have old files #
When you copy or move a file out of an "archive" folder, it'll be # you don't need anymore, but want to keep archived for later. #
retrieved from the archive repository. When you copy or move a file out of an "archive" folder, it'll be #
<p> retrieved from the archive repository.
The <b>small archive repositories</b> are like other archive # <p>
repositories, but smaller. While archive repositories normally accumulate # The <b>small archive repositories</b> are like other archive #
every file they can, small archive repositories only accumulate files # repositories, but smaller. While archive repositories normally accumulate #
after you've put them in an "archive" directory. They otherwise behave # every file they can, small archive repositories only accumulate files #
the same after you've put them in an "archive" directory. They otherwise behave #
<p> the same
Sometimes useful for devices like cameras are the # <p>
<b>source repositories</b>. Repositories in this group only retain # Sometimes useful for devices like cameras are the #
files until they can be moved to some other repository, like a client # <b>source repositories</b>. Repositories in this group only retain #
or transfer repository. files until they can be moved to some other repository, like a client #
<p> or transfer repository.
If you configure a repository that can be viewed by the public, # <p>
but you don't want all your files to show up there, you can # If you configure a repository that can be viewed by the public, #
configure it to be a <b>public repository</b>. Then only files # but you don't want all your files to show up there, you can #
located in a directory you choose will be sent to it. configure it to be a <b>public repository</b>. Then only files #
<p> located in a directory you choose will be sent to it.
Finally, repositories can be configured to be in <b>manual mode</b>. This # <p>
prevents content being automatically synced to the repository, but # Finally, repositories can be configured to be in <b>manual mode</b>. This #
you can use command-line tools like `git annex get` and `git annex drop` # prevents content being automatically synced to the repository, but #
to control what content is present. you can use command-line tools like `git annex get` and `git annex drop` #
to control what content is present.