#369: updated UI for tour
This commit is contained in:
parent
774d98e1b7
commit
7c3ed1a5d2
|
@ -2,7 +2,7 @@ class HomeController < ApplicationController
|
|||
before_filter :authenticate_user!, only: [:activity, :issues, :pull_requests]
|
||||
|
||||
def root
|
||||
render 'pages/tour/abf-tour-project-description-1', layout: 'tour'
|
||||
render 'pages/tour/abf-tour-project-description-1'
|
||||
end
|
||||
|
||||
def activity
|
||||
|
|
|
@ -9,7 +9,7 @@ class PagesController < ApplicationController
|
|||
when 'projects'
|
||||
%w(control git tracker)
|
||||
end
|
||||
render "pages/tour/tour-inside", layout: 'tour'
|
||||
render "pages/tour/tour-inside"
|
||||
end
|
||||
|
||||
def forbidden
|
||||
|
|
|
@ -34,6 +34,7 @@ class Ability
|
|||
can :possible_forks, Project
|
||||
|
||||
if user.guest? # Guest rights
|
||||
cannot :index, Project
|
||||
# can [:new, :create], RegisterRequest
|
||||
else # Registered user rights
|
||||
if user.admin?
|
||||
|
|
|
@ -1,61 +0,0 @@
|
|||
!!!
|
||||
%html
|
||||
%head
|
||||
%meta{content: "text/html; charset=utf-8", "http-equiv" => "Content-Type"}/
|
||||
= stylesheet_link_tag "tour"
|
||||
/[if lt IE 9]
|
||||
= javascript_include_tag 'https://html5shiv.googlecode.com/svn/trunk/html5.js'
|
||||
= javascript_include_tag "tour"
|
||||
= csrf_meta_tag
|
||||
= display_meta_tags site: APP_CONFIG['project_name'], reverse: true, separator: '-'
|
||||
%body
|
||||
.wrap
|
||||
%header.top
|
||||
.left
|
||||
.middle
|
||||
%menu
|
||||
.logo= link_to image_tag('logo-mini.png', alt: 'logo'), root_path
|
||||
= render 'layouts/menu/top', which_menu: 'top_menu'
|
||||
.information
|
||||
= render 'search/form'
|
||||
- if current_user
|
||||
.user
|
||||
.avatar= image_tag avatar_url(current_user), alt: 'avatar', height: "30"
|
||||
.profile
|
||||
%a{href: "#"}
|
||||
= current_user.uname
|
||||
= image_tag 'expand-white.png', alt: 'ex'
|
||||
.both
|
||||
.both
|
||||
.droplist-wrap
|
||||
#droplist.droplist
|
||||
.a= link_to current_user.uname, current_user
|
||||
.a= link_to t('layout.settings.label'), profile_settings_path
|
||||
.a= link_to t('layout.logout'), destroy_user_session_path, method: :delete
|
||||
- else
|
||||
.user
|
||||
.profile= link_to t("layout.devise.shared_links.sign_up"), new_register_request_path
|
||||
.profile= link_to t("layout.devise.shared_links.sign_in"), new_user_session_path
|
||||
.right
|
||||
.both
|
||||
/ Page
|
||||
.tour
|
||||
=image_tag "tour-top#{I18n.locale == :en ? '-eng' : ''}.png", alt: 'ABF'
|
||||
.both
|
||||
= render 'layouts/noscript'
|
||||
= render 'layouts/flashes'
|
||||
%article
|
||||
= yield
|
||||
.both
|
||||
-# No idea why here was this div...
|
||||
-#.tour-gap
|
||||
%footer= render "layouts/menu/bottom"
|
||||
= render 'layouts/counters' if !current_user.try(:admin?) && Rails.env.production?
|
||||
:javascript
|
||||
$(document).ready(function() {
|
||||
$().piroBox_ext({
|
||||
piro_speed : 700,
|
||||
bg_alpha : 0.5,
|
||||
piro_scroll : true //pirobox always positioned at the center of the page
|
||||
});
|
||||
});
|
|
@ -1,19 +0,0 @@
|
|||
.feature-wrap
|
||||
.feature
|
||||
-if is_left
|
||||
.left
|
||||
%h1=t "tour.#{entry}"
|
||||
%p
|
||||
=raw t "tour.#{entry}_description"
|
||||
.right
|
||||
%a.pirobox{href: image_path("tour/big/#{entry}.png"), rel: "single", title: t("tour.#{entry}")}
|
||||
=image_tag "tour/#{entry}.png"
|
||||
-else
|
||||
.left
|
||||
%a.pirobox{href: image_path("tour/big/#{entry}.png"), rel: "single", title: t("tour.#{entry}")}
|
||||
=image_tag "tour/#{entry}.png"
|
||||
.right
|
||||
%h1=t "tour.#{entry}"
|
||||
%p
|
||||
=raw t "tour.#{entry}_description"
|
||||
.both
|
|
@ -0,0 +1,28 @@
|
|||
.row
|
||||
|
||||
- if is_left
|
||||
.col-md-6
|
||||
h3.text-primary
|
||||
= t("tour.#{entry}")
|
||||
p.text-muted
|
||||
= t("tour.#{entry}_description_html")
|
||||
|
||||
.col-md-6
|
||||
a.btn-link data-toggle="modal" data-target="##{entry}Modal"
|
||||
= image_tag "tour/#{entry}.png", class: 'img-responsive center-block'
|
||||
- else
|
||||
.col-md-6
|
||||
a.btn-link data-toggle="modal" data-target="##{entry}Modal"
|
||||
= image_tag "tour/#{entry}.png", class: 'img-responsive center-block'
|
||||
|
||||
.col-md-6
|
||||
h3.text-primary
|
||||
= t("tour.#{entry}")
|
||||
p.text-muted
|
||||
= t("tour.#{entry}_description_html")
|
||||
|
||||
.modal.fade id="#{entry}Modal" tabindex="-1" role="dialog" aria-hidden="true"
|
||||
.modal-dialog
|
||||
.modal-content
|
||||
.modal-body
|
||||
= image_tag "tour/big/#{entry}.png", class: 'img-responsive center-block'
|
|
@ -1,4 +0,0 @@
|
|||
%ul
|
||||
-%w(projects sources builds).each do |entry|
|
||||
%li
|
||||
=link_to t("tour.#{entry}"), tour_inside_path(entry), class: params[:id] == entry ? 'active' : ''
|
|
@ -0,0 +1,4 @@
|
|||
ul.nav.nav-tabs
|
||||
- %w(projects sources builds).each do |entry|
|
||||
li role='presentation' class=('active' if params[:id] == entry)
|
||||
= link_to t("tour.#{entry}"), tour_inside_path(entry)
|
|
@ -1,39 +0,0 @@
|
|||
.feature-wrap
|
||||
.feature
|
||||
.left
|
||||
%a.pirobox{href: image_path('tour/big/control.png'), rel: "single", title: t('tour.projects')}
|
||||
=image_tag 'tour/control.png'
|
||||
.right
|
||||
%a{href: tour_inside_path('projects')}
|
||||
%h1=t 'tour.projects'
|
||||
%p
|
||||
=t 'tour.projects_header'
|
||||
%br
|
||||
=link_to t('tour.read_more'), tour_inside_path('projects')
|
||||
.both
|
||||
.feature-wrap
|
||||
.feature
|
||||
.left
|
||||
%a{href: tour_inside_path('sources')}
|
||||
%h1=t 'tour.sources'
|
||||
%p
|
||||
=t 'tour.sources_header'
|
||||
%br/
|
||||
=link_to t('tour.read_more'), tour_inside_path('sources')
|
||||
.right
|
||||
%a.pirobox{href: image_path('tour/big/source.png'), rel: "single", title: t('tour.sources')}
|
||||
=image_tag 'tour/source.png'
|
||||
.both
|
||||
.feature-wrap
|
||||
.feature
|
||||
.left
|
||||
%a.pirobox{href: image_path('tour/big/monitoring.png'), rel: "single", title: t('tour.builds')}
|
||||
=image_tag 'tour/monitoring.png'
|
||||
.right
|
||||
%a{href: tour_inside_path('builds')}
|
||||
%h1=t 'tour.builds'
|
||||
%p
|
||||
=t 'tour.builds_header'
|
||||
%br/
|
||||
=link_to t('tour.read_more'), tour_inside_path('builds')
|
||||
.both
|
|
@ -0,0 +1,63 @@
|
|||
.row
|
||||
.col-md-8.col-md-offset-2
|
||||
.row
|
||||
= image_tag "tour-top#{I18n.locale == :en ? '-eng' : ''}.png", alt: 'ABF', class: 'img-responsive center-block'
|
||||
|
||||
.row.offset20
|
||||
.col-md-6
|
||||
a.btn-link data-toggle="modal" data-target="#controlModal"
|
||||
= image_tag 'tour/control.png', class: 'img-responsive center-block'
|
||||
|
||||
.modal.fade#controlModal tabindex="-1" role="dialog" aria-hidden="true"
|
||||
.modal-dialog
|
||||
.modal-content
|
||||
.modal-body
|
||||
= image_tag 'tour/big/control.png', class: 'img-responsive center-block'
|
||||
|
||||
.col-md-6
|
||||
h3
|
||||
a href=tour_inside_path('projects')
|
||||
= t('tour.projects')
|
||||
p.text-muted
|
||||
= t('tour.projects_header')
|
||||
= link_to t('tour.read_more'), tour_inside_path('projects')
|
||||
|
||||
hr
|
||||
.row
|
||||
.col-md-6
|
||||
h3
|
||||
a href=tour_inside_path('sources')
|
||||
= t('tour.sources')
|
||||
p.text-muted
|
||||
= t('tour.sources_header')
|
||||
= link_to t('tour.read_more'), tour_inside_path('sources')
|
||||
|
||||
.col-md-6
|
||||
a.btn-link data-toggle="modal" data-target="#sourceModal"
|
||||
= image_tag 'tour/source.png', class: 'img-responsive center-block'
|
||||
|
||||
.modal.fade#sourceModal tabindex="-1" role="dialog" aria-hidden="true"
|
||||
.modal-dialog
|
||||
.modal-content
|
||||
.modal-body
|
||||
= image_tag 'tour/big/source.png', class: 'img-responsive center-block'
|
||||
|
||||
hr
|
||||
.row
|
||||
.col-md-6
|
||||
a.btn-link data-toggle="modal" data-target="#monitoringModal"
|
||||
= image_tag 'tour/monitoring.png', class: 'img-responsive center-block'
|
||||
|
||||
.modal.fade#monitoringModal tabindex="-1" role="dialog" aria-hidden="true"
|
||||
.modal-dialog
|
||||
.modal-content
|
||||
.modal-body
|
||||
= image_tag 'tour/big/monitoring.png', class: 'img-responsive center-block'
|
||||
|
||||
.col-md-6
|
||||
h3
|
||||
a href=tour_inside_path('builds')
|
||||
= t('tour.builds')
|
||||
p.text-muted
|
||||
= t('tour.builds_header')
|
||||
= link_to t('tour.read_more'), tour_inside_path('builds')
|
|
@ -1,9 +0,0 @@
|
|||
.sub-menu.tour
|
||||
%nav
|
||||
=render 'pages/tour/submenu'
|
||||
.both
|
||||
/ Page
|
||||
%article
|
||||
/ Single page content
|
||||
-@entries.each_with_index do |el, ind|
|
||||
=render partial: 'pages/tour/entry', locals: {entry: el, is_left: ind.odd?}
|
|
@ -0,0 +1,12 @@
|
|||
.row
|
||||
.col-md-8.col-md-offset-2
|
||||
.row
|
||||
= image_tag "tour-top#{I18n.locale == :en ? '-eng' : ''}.png", alt: 'ABF', class: 'img-responsive center-block'
|
||||
|
||||
.row.offset20
|
||||
= render 'pages/tour/submenu'
|
||||
.offset20
|
||||
|
||||
- @entries.each_with_index do |el, ind|
|
||||
= render partial: 'pages/tour/entry', locals: {entry: el, is_left: ind.odd?}
|
||||
hr
|
|
@ -21,31 +21,31 @@ en:
|
|||
ABF is not just a hosting for source code, but a system to build and publish packages.
|
||||
Build your projects for large variety of distributions and hardware platforms in your personal repository!
|
||||
|
||||
repo_description: |
|
||||
repo_description_html: |
|
||||
Personal repository provides you with an easy way to distribute your software among great number of Linux users by means of standard ways of software delivery.
|
||||
ABF will take care of package dependencies from both main repositories or extra and personal ones. Published a new package version?
|
||||
Users will be automatically notified about available update.
|
||||
builds_description: |
|
||||
builds_description_html: |
|
||||
ABF provides you with power to build projects for large variety of distributions and hardware platforms. No additional efforts from your side!
|
||||
monitoring_description: |
|
||||
monitoring_description_html: |
|
||||
It is easy to get lost in large amount of tasks, but smart monitoring will focus your attention on those tasks that really matter for you.
|
||||
source_description: |
|
||||
source_description_html: |
|
||||
We have focused on making access to the source code easy and transparent. Every file pushed to git repository will instantly become available for online access,
|
||||
so you can share it with other developers even if they don't use Git. Home page of every project contains list of project files,
|
||||
as well as information about recent changes. You can immediately see the most important part of your project: the code.
|
||||
history_description: |
|
||||
history_description_html: |
|
||||
Every file in git repository has history of modifications which can be easily looked through using ABF to see who and when modified the file
|
||||
and which changes were introduced by particular commits.
|
||||
annotation_description: 'Looking for the author of a particular code fragment? Just open the file blame to see who modified that fragment for the last time and in which commit.'
|
||||
edit_description: Need to quickly edit some file? Want to fix syntax error from your mobile phone? No problem. We provide you with a simple editor for every file in git repository.
|
||||
control_description: |
|
||||
annotation_description_html: 'Looking for the author of a particular code fragment? Just open the file blame to see who modified that fragment for the last time and in which commit.'
|
||||
edit_description_html: Need to quickly edit some file? Want to fix syntax error from your mobile phone? No problem. We provide you with a simple editor for every file in git repository.
|
||||
control_description_html: |
|
||||
There are 3 possible levels of privileges for project members: read-only, read/write, and administration level. A project member can designate a real user
|
||||
or a group of developers. Both projects and groups may have unlimited number of members (every of which can be in turn a user or a group).
|
||||
git_description: |
|
||||
git_description_html: |
|
||||
Project wiki is based on Gollum — open wiki engine developed by GitHub. In fact, this is a full-function git repository which can be cloned, used offline,
|
||||
modified and pushed back to server, as if it were a usual source code. Convenient web editor allows to modify wiki online.
|
||||
Now information about your project will be never lost and will be always available for modifications in any editor!
|
||||
<br/><br/>Note: for private projects, wiki is accessible by project team only. Wiki of a public project can be read by everyone.
|
||||
tracker_description: |
|
||||
tracker_description_html: |
|
||||
Every project may use a lightweight and simple task tracker. Labels and assignments will allow not to get lost in tasks,
|
||||
while convenient interface will allow to concentrate on a real work, not filling huge forms.
|
||||
|
|
|
@ -23,39 +23,39 @@ ru:
|
|||
ABF — это не только хостинг исходного кода, но и система сборки и хостинга пакетов.
|
||||
Собирайте свои проекты под множество дистрибутивов и архитектур в свой персональный репозиторий.
|
||||
|
||||
repo_description: |
|
||||
repo_description_html: |
|
||||
Персональный репозиторий — быстрый и легкий способ распространить свое ПО множеству Linux пользователей
|
||||
различных дистрибутивов, используя стандартный механизм доставки ПО.
|
||||
ABF позаботится о зависимостях ПО из основных репозиториев и/или дополнительных персональных репозиториев.
|
||||
Опубликовали новую версию? Пользователи автоматически получат оповещение о доступности обновления.
|
||||
builds_description: |
|
||||
builds_description_html: |
|
||||
ABF позволяет собрать ваши проекты под множество архитектур и дистрибутивов, используя свои вычислительные мощности.
|
||||
Никаких затрат с вашей стороны!
|
||||
monitoring_description: |
|
||||
monitoring_description_html: |
|
||||
В большом числе сборочных заданий легко потеряться, поэтому мониторинг сборки фокусирует ваше внимание только на том,
|
||||
что действительно важно.
|
||||
source_description: |
|
||||
source_description_html: |
|
||||
Мы сфокусировались на том, чтобы сделать исходный код доступным и прозрачным. Все, что вы выложите в git-репозиторий,
|
||||
мгновенно станет доступным для просмотра в режиме онлайн, чтобы вы могли поделиться им с людьми, даже если они не
|
||||
используют Git. На главной странице каждого проекта есть список файлов проекта, а также информация о последнем изменении.
|
||||
Вы можете сразу увидеть самое важное в вашем проекте: код.
|
||||
history_description: 'Каждый файл в git-репозитории имеет историю, которую вы легко можете посмотреть: кто, когда и что в нем поменял.'
|
||||
annotation_description: |
|
||||
history_description_html: 'Каждый файл в git-репозитории имеет историю, которую вы легко можете посмотреть: кто, когда и что в нем поменял.'
|
||||
annotation_description_html: |
|
||||
Ищете автора фрагмента кода? Откройте аннотацию файла (Blame), чтобы увидеть:
|
||||
кто и в каком коммите последний изменял данный фрагмент.
|
||||
edit_description: |
|
||||
edit_description_html: |
|
||||
Вам нужно быстро внести изменение в файл? Исправить орфографические ошибки c вашего мобильного телефона?
|
||||
Мы предлагаем простой редактор для каждого файла в git-репозитории.
|
||||
control_description: |
|
||||
control_description_html: |
|
||||
Существует 3 возможных роли для участника проекта: только чтение, чтение/запись и административный уровень.
|
||||
Участником проекта может выступать как пользователь, так и группа. Проект, как и группа, может иметь неограниченное
|
||||
число участников (пользователей, групп или всех вместе).
|
||||
git_description: |
|
||||
git_description_html: |
|
||||
Вики проекта создана с помощью Gollum — открытого вики-движка, созданного GitHub. В основе своей это полноценный
|
||||
git-репозиторий, который можно клонировать, использовать в режиме офлайн, изменять и загружать изменения обратно на
|
||||
сервер, как в случае с обычным кодом. Удобный веб-редактор позволит работать с ней в онлайн. Теперь данные о проекте не
|
||||
пропадут и доступны для редактирования в любимом редакторе!
|
||||
<br/><br/>Примечание: для приватного проекта вики доступна только его участникам. Для публичного — всем для чтения.
|
||||
tracker_description: |
|
||||
tracker_description_html: |
|
||||
Каждый проект также может использовать легкий и простой трекер задач. Метки и назначения позволят не потеряться среди
|
||||
задач, а понятный интерфейс позволит сконцентрироваться на работе, а не на заполнении огромных формуляров.
|
||||
|
|
Loading…
Reference in New Issue