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>
<h2>
Adding a Box.com repository
<p>
<a href="http://box.com">Box.com</a> offers a small quantity of storage #
for free, and larger quantities for a fee.
<p>
Even a small amount of free storage is useful, as a transfer point #
between your repositories.
<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 onclick="$('#workingmodal').modal('show');">
Add repository
<div .col-sm-9>
<div .jumbotron>
<h2>
Adding a Box.com repository
<p>
<a href="http://box.com">Box.com</a> offers a small quantity of storage #
for free, and larger quantities for a fee.
<p>
Even a small amount of free storage is useful, as a transfer point #
between your repositories.
<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 onclick="$('#workingmodal').modal('show');">
Add repository
<div .modal .fade #workingmodal>
<div .modal-dialog>
<div .modal-content>

View file

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

View file

@ -1,21 +1,22 @@
<div .col-sm-9 .jumbotron>
<h2>
Combine repositories?
<p>
The removable drive at <tt>#{mountPoint drive}</tt> already
has files in its repository <tt>#{driveRepoPath drive}</tt>
<p>
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>
\ 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>
\ Go back #
Use a different directory than <tt>#{driveRepoPath drive}</tt> to #
avoid combining the repositories.
<div .col-sm-9>
<div .jumbotron>
<h2>
Combine repositories?
<p>
The removable drive at <tt>#{mountPoint drive}</tt> already
has files in its repository <tt>#{driveRepoPath drive}</tt>
<p>
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>
\ 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>
\ Go back #
Use a different directory than <tt>#{driveRepoPath drive}</tt> to #
avoid combining the repositories.
^{setupDriveModal}

View file

@ -1,28 +1,29 @@
<div .col-sm-9 .jumbotron>
<h2>
Encrypt this drive?
<p>
Encrypting the repository stored on the removable drive at #
<tt>#{mountPoint drive}</tt> #
will prevent the data stored in it from being exposed if the drive #
falls into the wrong hands. However, encryption #
will also prevent you from sharing the repository with friends, or #
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>
\ 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>
\ Encrypt repository #
to ^{gpgKeyDisplay keyid (Just name)}
<p>
<a .btn .btn-default onclick="$('#genkeymodal').modal('show');" href="@{GenKeyForDriveR drive}">
<span .glyphicon .glyphicon-plus-sign>
\ Encrypt repository #
with a new encryption key
<div .col-sm-9>
<div .jumbotron>
<h2>
Encrypt this drive?
<p>
Encrypting the repository stored on the removable drive at #
<tt>#{mountPoint drive}</tt> #
will prevent the data stored in it from being exposed if the drive #
falls into the wrong hands. However, encryption #
will also prevent you from sharing the repository with friends, or #
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>
\ 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>
\ Encrypt repository #
to ^{gpgKeyDisplay keyid (Just name)}
<p>
<a .btn .btn-default onclick="$('#genkeymodal').modal('show');" href="@{GenKeyForDriveR drive}">
<span .glyphicon .glyphicon-plus-sign>
\ Encrypt repository #
with a new encryption key
^{setupDriveModal}
^{genKeyModal}

View file

@ -1,31 +1,32 @@
<div .col-sm-9 .jumbotron>
<h2>
Adding an Amazon Glacier repository
<p>
<a href="http://aws.amazon.com/glacier/">Amazon Glacier</a> is an #
offline cloud storage provider. It takes several hours for requested #
files to be retrieved from Glacier, making it mostly suitable for #
backups and long-term data archival. #
<p>
<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>
\ 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/">
Pricing details
<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 onclick="$('#workingmodal').modal('show');">
Add Glacier repository
<div .col-sm-9>
<div .jumbotron>
<h2>
Adding an Amazon Glacier repository
<p>
<a href="http://aws.amazon.com/glacier/">Amazon Glacier</a> is an #
offline cloud storage provider. It takes several hours for requested #
files to be retrieved from Glacier, making it mostly suitable for #
backups and long-term data archival. #
<p>
<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>
\ 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/">
Pricing details
<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 onclick="$('#workingmodal').modal('show');">
Add Glacier repository
<div .modal .fade #workingmodal>
<div .modal-dialog>
<div .modal-content>

View file

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

View file

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

View file

@ -1,35 +1,36 @@
<div .col-sm-9 .jumbotron>
<h2>
Deleting #{reldir}
<p>
Deleting this repository will remove <tt>#{reldir}</tt> and all its #
^{actionButton FileBrowserR (Just "files") (Just "Click to open a file browser") "" "icon-folder-open"}.
$if havegitremotes
$if havedataremotes
<div .alert>
Since this repository is currently configured to sync to other #
repositories, you may be able to remove this repository without #
losing any data, if all files have been synced to them. #
No guarantees -- It's up to you to make sure before you continue.
<div .col-sm-9>
<div .jumbotron>
<h2>
Deleting #{reldir}
<p>
Deleting this repository will remove <tt>#{reldir}</tt> and all its #
^{actionButton FileBrowserR (Just "files") (Just "Click to open a file browser") "" "icon-folder-open"}.
$if havegitremotes
$if havedataremotes
<div .alert>
Since this repository is currently configured to sync to other #
repositories, you may be able to remove this repository without #
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
<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!
$else
<div .alert .alert-danger>
This repository is not syncing to other git repositories, #
so you will lose data if you delete it!
<p>
If you choose to delete this repository, and potentially lose #
data, enter "#{magicphrase}" into the box.
<p>
<form method="post" .form-horizontal enctype=#{enctype}>
<fieldset>
^{form}
^{webAppFormAuthToken}
<div .col-md-2>
<button .btn .btn-danger type=submit>
<span .glyphicon .glyphicon-warning-sign>
\ Delete this repository #
<a .btn .btn-default href="@{DashboardR}">
Cancel
<p>
If you choose to delete this repository, and potentially lose #
data, enter "#{magicphrase}" into the box.
<p>
<form method="post" .form-horizontal enctype=#{enctype}>
<fieldset>
^{form}
^{webAppFormAuthToken}
<div .col-md-2>
<button .btn .btn-danger type=submit>
<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>
<h2>
Repository deleted
<p>
As much data as possible has been removed from the repository
"#{reponame}", and it has been removed from the list of repositories.
<p>
$if gitrepo
<div .alert>
Since "#{reponame}" is a git repository, it still contains
some data. To completely remove it, you should go delete that git
repository.
$else
Now you can safely go delete the underlying storage of the repository.
<div .col-sm-9>
<div .jumbotron>
<h2>
Repository deleted
<p>
As much data as possible has been removed from the repository
"#{reponame}", and it has been removed from the list of repositories.
<p>
$if gitrepo
<div .alert>
Since "#{reponame}" is a git repository, it still contains
some data. To completely remove it, you should go delete that git
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>
<h2>
Delete repository #
<small>
#{reponame}
<p>
Before this repository can be deleted, all data must be moved #
off it, to other repositories.
<p>
<a .btn .btn-primary href="@{StartDeleteRepositoryR uuid}">
<span .glyphicon .glyphicon-minus>
\ Start deletion process
<div .col-sm-9>
<div .jumbotron>
<h2>
Delete repository #
<small>
#{reponame}
<p>
Before this repository can be deleted, all data must be moved #
off it, to other repositories.
<p>
<a .btn .btn-primary href="@{StartDeleteRepositoryR uuid}">
<span .glyphicon .glyphicon-minus>
\ Start deletion process

View file

@ -1,18 +1,19 @@
<div .col-sm-9 .jumbotron>
<h2>
Just a git repository
<p>
This repository is not currently set up as a git annex; #
only git metadata is synced with this repository.
$if sshrepo
<div .col-sm-9>
<div .jumbotron>
<h2>
Just a git repository
<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.
This repository is not currently set up as a git annex; #
only git metadata is synced with this repository.
$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>
<a .btn .btn-default href="@{UpgradeRepositoryR r}">
Upgrade Repository
<h2>
Repository information
<p>
^{repoInfo}
^{repoInfo}

View file

@ -1,38 +1,39 @@
<div .col-sm-9 .jumbotron>
<h2>
<div .col-sm-9>
<div .jumbotron>
<h2>
$if new
Setup complete
$else
Editing repository
$if new
Setup complete
$else
Editing repository
$if new
<p>
This repository is set up and ready to go!
<p>
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>
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>
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>
<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
^{repoInfo}
<p>
In a hurry? Feel free to skip this step! You can always come back #
and configure this repository later.
<h3>
Repository information
<p>
^{repoInfo}
<p>
^{repoEncryption}
^{repoEncryption}

View file

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

View file

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

View file

@ -1,19 +1,20 @@
<div .col-sm-9 .jumbotron>
<h2>
Enabling #{description}
<p>
To use this Internet Archive repository, you need an Access Key ID, and a #
Secret Access Key. These access keys will be stored in a file that #
only you can access.
<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 onclick="$('#workingmodal').modal('show');">
Enable Internet Archive repository
<div .col-sm-9>
<div .jumbotron>
<h2>
Enabling #{description}
<p>
To use this Internet Archive repository, you need an Access Key ID, and a #
Secret Access Key. These access keys will be stored in a file that #
only you can access.
<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 onclick="$('#workingmodal').modal('show');">
Enable Internet Archive repository
<div .modal .fade #workingmodal>
<div .modal-dialog>
<div .modal-content>

View file

@ -1,19 +1,20 @@
<div .col-sm-9 .jumbotron>
<h2>
Enabling #{description}
<p>
This is a WebDAV repository located at #
<a href="#{url}">
#{url}
<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 onclick="$('#workingmodal').modal('show');">
Enable repository
<div .col-sm-9>
<div .jumbotron>
<h2>
Enabling #{description}
<p>
This is a WebDAV repository located at #
<a href="#{url}">
#{url}
<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 onclick="$('#workingmodal').modal('show');">
Enable repository
<div .modal .fade #workingmodal>
<div .modal-dialog>
<div .modal-content>

View file

@ -1,31 +1,32 @@
<div .col-sm-9 .jumbotron>
<h2>
Consistency checks
<p>
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))
<div .col-sm-9>
<div .jumbotron>
<h2>
Consistency checks
<p>
Currently scheduled checks:
$forall c <- scheduledchecks
^{showFsckForm False c}
<div style="margin-left: 5em">
^{showFsckStatus c}
<p>
$if null (recommendedchecks)
Add a check:
^{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}
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>
Currently scheduled checks:
$forall c <- scheduledchecks
^{showFsckForm False c}
<div style="margin-left: 5em">
^{showFsckStatus c}
<p>
$if null (recommendedchecks)
Add a check:
^{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>
<h2>
<span .glyphicon .glyphicon-signal>
\ Connection needed
<p>
In order to quickly sync with other repositories, #
a direct connection is needed to another git-annex. #
<p>
You don't currently seem to have such a connection configured -- #
or if you do, it's not currently connected!
<h2>
Add a connection
^{makeConnectionRepositories}
<div .col-sm-9>
<div .jumbotron>
<h2>
<span .glyphicon .glyphicon-signal>
\ Connection needed
<p>
In order to quickly sync with other repositories, #
a direct connection is needed to another git-annex. #
<p>
You don't currently seem to have such a connection configured -- #
or if you do, it's not currently connected!
<h2>
Add a connection
^{makeConnectionRepositories}

View file

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

View file

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

View file

@ -1,13 +1,14 @@
<div .col-sm-9 .jumbotron>
<h2>
Add another local repository
<p>
<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
<p>
Repository location:
<form method="post" .form-inline enctype=#{enctype}>
^{form}
<div .col-sm-9>
<div .jumbotron>
<h2>
Add another local repository
<p>
<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
<p>
Repository location:
<form method="post" .form-inline enctype=#{enctype}>
^{form}

View file

@ -1,19 +1,20 @@
<div .col-sm-9 .jumbotron>
<h2>
Combine repositories?
<p>
The repository at #{newrepo} is set up.
<br>
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>
\ 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>
\ Keep the repositories separate #
Files placed in one will not be synced to the other.
<div .col-sm-9>
<div .jumbotron>
<h2>
Combine repositories?
<p>
The repository at #{newrepo} is set up.
<br>
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>
\ 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>
\ 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>
<h2>
Welcome to git-annex!
<p>
To get started, let's create a git-annex repository.
$if androidspecial
<div .col-sm-9>
<div .jumbotron>
<h2>
Welcome to git-annex!
<p>
Do you only want to share photos and videos you take?
<p>
<a .btn .btn-primary .btn-lg href="@{AndroidCameraRepositoryR}">
<span .glyphicon .glyphicon-camera>
\ Make Camera Repository
<p>
To get started, let's create a git-annex repository.
$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}
<p>
Do you only want to share photos and videos you take?
<p>
<a .btn .btn-primary .btn-lg href="@{AndroidCameraRepositoryR}">
<span .glyphicon .glyphicon-camera>
\ 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>
<h2>
not supported
<p>
This build of git-annex does not support #{pairingtype} pairing. Sorry!
<div .col-sm-9>
<div .jumbotron>
<h2>
not supported
<p>
This build of git-annex does not support #{pairingtype} pairing. Sorry!

View file

@ -1,18 +1,19 @@
<div .col-sm-9 .jumbotron>
<h2>
Pairing in progress ..
$if T.null secret
<p>
You do not need to leave this page open; pairing will finish #
automatically.
$else
<p>
Now you should either go tell the owner of the computer you want to pair #
with the secret phrase you selected ("#{secret}"), or go enter it into #
the computer you want to pair with.
<p>
You do not need to leave this page open; pairing will finish automatically #
as soon as the secret phrase is entered into the other computer.
<p>
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.
<div .col-sm-9>
<div .jumbotron>
<h2>
Pairing in progress ..
$if T.null secret
<p>
You do not need to leave this page open; pairing will finish #
automatically.
$else
<p>
Now you should either go tell the owner of the computer you want to pair #
with the secret phrase you selected ("#{secret}"), or go enter it into #
the computer you want to pair with.
<p>
You do not need to leave this page open; pairing will finish automatically #
as soon as the secret phrase is entered into the other computer.
<p>
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>
<h2>
Pairing with a local computer
<p>
$if start
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>
<div .col-sm-9>
<div .jumbotron>
<h2>
Pairing with a local computer
<p>
$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}"
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
Only letters and numbers matter; punctuation and spaces are #
ignored.
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
<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>
$if inprogress
<div .col-sm-9>
<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>
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>
Configure a shared cloud repository
$maybe name <- friend
<p>
&#9730; To share files with #{name}, you'll need a repository in #
the cloud, that you both can access.
$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}
Configure a shared cloud repository
$maybe name <- friend
<p>
&#9730; To share files with #{name}, you'll need a repository in #
the cloud, that you both can access.
$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>
<h2>
Pair request received from #{name}
<p>
Pairing with #{name} will combine your two git annex #
repositories into one, allowing you to share files.
<p>
<a .btn .btn-primary .btn-lg href="@{FinishXMPPPairFriendR pairkey}">
Accept pair request
<a .btn .btn-default .btn-lg href="@{DashboardR}">
No thanks
<div .col-sm-9>
<div .jumbotron>
<h2>
Pair request received from #{name}
<p>
Pairing with #{name} will combine your two git annex #
repositories into one, allowing you to share files.
<p>
<a .btn .btn-primary .btn-lg href="@{FinishXMPPPairFriendR pairkey}">
Accept pair request
<a .btn .btn-default .btn-lg href="@{DashboardR}">
No thanks

View file

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

View file

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

View file

@ -1,14 +1,15 @@
<div .col-sm-9 .jumbotron>
<h2>
Preferences
<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 Preferences
<a .btn .btn-default href="@{ConfigurationR}">
Cancel
<div .col-sm-9>
<div .jumbotron>
<h2>
Preferences
<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 Preferences
<a .btn .btn-default href="@{ConfigurationR}">
Cancel

View file

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

View file

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

View file

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

View file

@ -1,21 +1,22 @@
<div .col-sm-9 .jumbotron>
<h2>
Combine repositories?
<p>
A repository already exists on #{sshHostName sshdata} in the #
<tt>#{sshDirectory sshdata}</tt> directory.
<p>
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>
\ 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>
\ Go back #
Use a different directory than <tt>#{sshDirectory sshdata}</tt> to #
avoid combining the repositories.
<div .col-sm-9>
<div .jumbotron>
<h2>
Combine repositories?
<p>
A repository already exists on #{sshHostName sshdata} in the #
<tt>#{sshDirectory sshdata}</tt> directory.
<p>
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>
\ 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>
\ Go back #
Use a different directory than <tt>#{sshDirectory sshdata}</tt> to #
avoid combining the repositories.
^{sshSetupModal sshdata}

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,33 +1,34 @@
<div .col-sm-9 .jumbotron>
<h2>
Configuring jabber account
<p>
A jabber account is used to communicate between #
devices that are not in direct contact. #
It can also be used to pair up with a friend's repository, if desired.
<p>
It's fine to reuse an existing jabber account; git-annex won't #
post any messages to it.
<p>
$maybe msg <- problem
<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>
\ 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.
<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 onclick="$('#workingmodal').modal('show');">
Use this account
<div .col-sm-9>
<div .jumbotron>
<h2>
Configuring jabber account
<p>
A jabber account is used to communicate between #
devices that are not in direct contact. #
It can also be used to pair up with a friend's repository, if desired.
<p>
It's fine to reuse an existing jabber account; git-annex won't #
post any messages to it.
<p>
$maybe msg <- problem
<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>
\ 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.
<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 onclick="$('#workingmodal').modal('show');">
Use this account
<a .btn .btn-default href="@{DisconnectXMPPR}">
Stop using this account
<div .modal .fade #workingmodal>

View file

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

View file

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

View file

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

View file

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

View file

@ -1,22 +1,23 @@
<div .col-sm-9 .jumbotron>
<p>
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
<div .col-sm-9>
<div .jumbotron>
<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
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>
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-dialog>
<div .modal-content>

View file

@ -1,13 +1,14 @@
<div .col-sm-9 .jumbotron>
<p>
Good news: Your repository has successfully been repaired!
<p>
This problem could have had a variety of causes. If your computer #
lost power, or the drive containing this repository #
was disconnected, it would explain this type of problem.
<p>
On the other hand, it's possible that you have a hardware problem.
<p>
Remember: Lots of copies keep stuff safe! The more repositories you #
have, the less likely you are to lose data no matter what goes wrong.
^{repolist}
<div .col-sm-9>
<div .jumbotron>
<p>
Good news: Your repository has successfully been repaired!
<p>
This problem could have had a variety of causes. If your computer #
lost power, or the drive containing this repository #
was disconnected, it would explain this type of problem.
<p>
On the other hand, it's possible that you have a hardware problem.
<p>
Remember: Lots of copies keep stuff safe! The more repositories you #
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>
<h2>
Switch repository
<p>
$if null repolist
There are no other local repositories. Want to #
<a href="@{NewRepositoryR}">add one</a>?
$else
You can switch to any of these other local repositories:
<ul>
$forall (name, path) <- repolist
<li>
<a href="@{SwitchToRepositoryR path}">
#{name}
<div .col-sm-9>
<div .jumbotron>
<h2>
Switch repository
<p>
$if null repolist
There are no other local repositories. Want to #
<a href="@{NewRepositoryR}">add one</a>?
$else
You can switch to any of these other local repositories:
<ul>
$forall (name, path) <- repolist
<li>
<a href="@{SwitchToRepositoryR path}">
#{name}

View file

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

View file

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