#369: updated UI for tour

This commit is contained in:
Vokhmin Alexey V 2014-11-14 02:48:45 +03:00
parent 774d98e1b7
commit 7c3ed1a5d2
14 changed files with 130 additions and 154 deletions

View File

@ -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

View File

@ -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

View File

@ -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?

View File

@ -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
});
});

View File

@ -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

View File

@ -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'

View File

@ -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' : ''

View File

@ -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)

View File

@ -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

View File

@ -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')

View File

@ -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?}

View File

@ -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

View File

@ -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.

View File

@ -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: |
Каждый проект также может использовать легкий и простой трекер задач. Метки и назначения позволят не потеряться среди
задач, а понятный интерфейс позволит сконцентрироваться на работе, а не на заполнении огромных формуляров.