[refs #443] abf tour
After Width: | Height: | Size: 2.8 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 60 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 59 KiB |
After Width: | Height: | Size: 48 KiB |
After Width: | Height: | Size: 60 KiB |
After Width: | Height: | Size: 48 KiB |
After Width: | Height: | Size: 34 KiB |
After Width: | Height: | Size: 81 KiB |
After Width: | Height: | Size: 30 KiB |
|
@ -4,6 +4,11 @@ class PagesController < ApplicationController
|
|||
# load_and_authorize_resource
|
||||
|
||||
def root
|
||||
render 'pages/tour/abf-tour-project-description-1', :layout => 'tour'
|
||||
end
|
||||
|
||||
def tour_inside
|
||||
render "pages/tour/tour-inside-#{params[:id]}", :layout => 'tour'
|
||||
end
|
||||
|
||||
def forbidden
|
||||
|
|
|
@ -0,0 +1,46 @@
|
|||
!!!
|
||||
%html
|
||||
%head
|
||||
%meta{:content => "text/html; charset=utf-8", "http-equiv" => "Content-Type"}/
|
||||
%title Сборочная среда
|
||||
%script{:src => "http://html5shiv.googlecode.com/svn/trunk/html5.js", :type => "text/javascript"}
|
||||
= stylesheet_link_tag "tour"
|
||||
%body
|
||||
.wrap
|
||||
%header
|
||||
.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_in"), new_user_session_path
|
||||
.right
|
||||
.both
|
||||
/ Page
|
||||
.tour
|
||||
=image_tag 'tour-top.png', :alt => 'ABF'
|
||||
.both
|
||||
%article
|
||||
= yield
|
||||
.both
|
||||
.tour-gap
|
||||
%footer= render "layouts/menu/bottom"
|
||||
= render 'layouts/counters' unless current_user.try(:admin?)
|
|
@ -0,0 +1,40 @@
|
|||
.feature-wrap
|
||||
.feature
|
||||
.left
|
||||
=image_tag "tour/1/control.png", :alt => "Управление проектами"
|
||||
.right
|
||||
%a{:href => tour_inside_path('1_1')}
|
||||
%h1 Управление проектами
|
||||
%p
|
||||
Каждый git-репозиторий на ABF поставляется с инструментами,
|
||||
необходимыми для управления проектами, вне зависимости от
|
||||
того, публичный или приватный проект.
|
||||
%br/
|
||||
=link_to 'Читать далее...', tour_inside_path('1_1')
|
||||
.both
|
||||
.feature-wrap
|
||||
.feature
|
||||
.left
|
||||
%a{:href => tour_inside_path('1_2')}
|
||||
%h1 Исходный код
|
||||
%p
|
||||
ABF — полноценный git-хостинг с удобным веб-интерфейсом.
|
||||
%br/
|
||||
=link_to 'Читать далее...', tour_inside_path('1_2')
|
||||
.right
|
||||
=image_tag "tour/2/code.png", :alt => "Исходный код"
|
||||
.both
|
||||
.feature-wrap
|
||||
.feature
|
||||
.left
|
||||
=image_tag "tour/3/monitoring.png", :alt => "Сборка пакетов"
|
||||
.right
|
||||
%a{:href => tour_inside_path('1_3')}
|
||||
%h1 Сборка пакетов
|
||||
%p
|
||||
ABF — это не только хостинг исходного кода, но и система сборки
|
||||
и хостинга пакетов. Собирайте свои проекты под множество
|
||||
дистрибутивов и архитектур в свой персональный репозиторий.
|
||||
%br/
|
||||
=link_to 'Читать далее...', tour_inside_path('1_3')
|
||||
.both
|
|
@ -0,0 +1,58 @@
|
|||
/ Submenu
|
||||
.sub-menu.tour
|
||||
%nav
|
||||
%ul
|
||||
%li
|
||||
=link_to 'Управление проектами', tour_inside_path('1_1'), :class => 'active'
|
||||
%li
|
||||
=link_to 'Исходный код', tour_inside_path('1_2')
|
||||
%li
|
||||
=link_to 'Сборка проектов', tour_inside_path('1_3')
|
||||
.both
|
||||
/ Page
|
||||
%article
|
||||
/ Single page content
|
||||
.feature-wrap
|
||||
.feature
|
||||
.left
|
||||
=image_tag('tour/1/control.png', :alt => 'Управление проектами')
|
||||
.right
|
||||
%h1 Управление проектами
|
||||
%p
|
||||
Существует 3 возможных роли для участника проекта: только
|
||||
чтение, чтение/запись и административный уровень. Участником
|
||||
проекта может выступать как пользователь, так и группа. Проект,
|
||||
как и группа, может иметь неограниченное число участников
|
||||
(пользователей, групп или всех вместе).
|
||||
.both
|
||||
.feature-wrap
|
||||
.feature
|
||||
.left
|
||||
%h1 Git Wiki
|
||||
%p
|
||||
Вики проекта создана с помощью Gollum — открытого
|
||||
вики-движка, созданного GitHub. В основе своей это полноценный
|
||||
git-репозиторий, который можно клонировать, использовать в
|
||||
режиме офлайн, изменять и загружать изменения обратно на
|
||||
сервер, как в случае с обычным кодом. Удобный веб-редактор
|
||||
позволит работать с ней в онлайн. Теперь данные о проекте не
|
||||
пропадут и доступны для редактирования в любимом редакторе!
|
||||
%br/
|
||||
%br/
|
||||
Примечание: для приватного проекта вики доступна только его
|
||||
участникам. Для публичного — всем для чтения.
|
||||
.right
|
||||
=image_tag "tour/1/git.png", :alt => "Git Wiki"
|
||||
.both
|
||||
.feature-wrap
|
||||
.feature
|
||||
.left
|
||||
=image_tag "tour/1/tracker.png", :alt => "Легкий трекер задач"
|
||||
.right
|
||||
%h1 Легкий трекер задач
|
||||
%p
|
||||
Каждый проект также может использовать легкий и простой
|
||||
трекер задач. Метки и назначения позволят не потеряться среди
|
||||
задач, а понятный интерфейс позволит сконцентрироваться на
|
||||
работе, а не на заполнении огромных формуляров.
|
||||
.both
|
|
@ -0,0 +1,61 @@
|
|||
.sub-menu.tour
|
||||
%nav
|
||||
%ul
|
||||
%li
|
||||
=link_to 'Управление проектами', tour_inside_path('1_1')
|
||||
%li
|
||||
=link_to 'Исходный код', tour_inside_path('1_2'), :class => 'active'
|
||||
%li
|
||||
=link_to 'Сборка проектов', tour_inside_path('1_3')
|
||||
.both
|
||||
/ Page
|
||||
%article
|
||||
/ Single page content
|
||||
.feature-wrap
|
||||
.feature
|
||||
.left
|
||||
=image_tag('tour/2/code.png', :alt => 'Исходный код онлайн')
|
||||
.right
|
||||
%h1 Исходный код онлайн
|
||||
%p
|
||||
Мы сфокусировались на том, чтобы сделать исходный код
|
||||
доступным и прозрачным. Все, что вы выложите в git-репозиторий,
|
||||
мгновенно станет доступным для просмотра в режиме онлайн,
|
||||
чтобы вы могли поделиться им с людьми, даже если они не
|
||||
используют Git. На главной странице каждого проекта есть список
|
||||
файлов проекта, а также информация о последнем изменении.
|
||||
Вы можете сразу увидеть самое важное в вашем проекте: код.
|
||||
.both
|
||||
.feature-wrap
|
||||
.feature
|
||||
.left
|
||||
%h1 История файла
|
||||
%p
|
||||
Каждый файл в git-репозитории имеет историю, которую вы
|
||||
легко можете посмотреть: кто, когда и что в нем поменял.
|
||||
.right
|
||||
=image_tag('tour/2/history.png', :alt => 'История файла')
|
||||
.both
|
||||
.feature-wrap
|
||||
.feature
|
||||
.left
|
||||
=image_tag('tour/2/annotation.png', :alt => 'Аннотация файла')
|
||||
.right
|
||||
%h1 Аннотация файла
|
||||
%p
|
||||
Ищете автора фрагмента кода? Откройте аннотацию файла
|
||||
(Blame), чтобы увидеть: кто и в каком коммите последний
|
||||
изменял данный фрагмент.
|
||||
.both
|
||||
.feature-wrap
|
||||
.feature
|
||||
.left
|
||||
%h1 Редактирования онлайн
|
||||
%p
|
||||
Вам нужно быстро внести изменение в файл? Исправить
|
||||
орфографические ошибки на вашем мобильном телефоне?
|
||||
Мы предлагаем простой редактор для каждого файла в
|
||||
git-репозитории.
|
||||
.right
|
||||
=image_tag('tour/2/edit.png', :alt => 'Редактирования онлайн')
|
||||
.both
|
|
@ -0,0 +1,50 @@
|
|||
.sub-menu.tour
|
||||
%nav
|
||||
%ul
|
||||
%li
|
||||
=link_to 'Управление проектами', tour_inside_path('1_1')
|
||||
%li
|
||||
=link_to 'Исходный код', tour_inside_path('1_2')
|
||||
%li
|
||||
=link_to 'Сборка проектов', tour_inside_path('1_3'), :class => 'active'
|
||||
.both
|
||||
/ Page
|
||||
%article
|
||||
/ Single page content
|
||||
.feature-wrap
|
||||
.feature
|
||||
.left
|
||||
=image_tag "tour/3/repo.png", :alt => "Персональный репозиторий"
|
||||
.right
|
||||
%h1 Персональный репозиторий
|
||||
%p
|
||||
Персональный репозиторий — быстрый и легкий способ
|
||||
распространить свое ПОмножеству Linux пользователей
|
||||
различных дистрибутивов, используя стандартный механизм
|
||||
доставки ПО. ABF позаботится о зависимостях ПО из основных
|
||||
репозиториев и/или дополнительных персональных репозиториев.
|
||||
Опубликовали новую версию? Пользователи автоматически
|
||||
получат оповещение о доступности обновления.
|
||||
.both
|
||||
.feature-wrap
|
||||
.feature
|
||||
.left
|
||||
%h1 Сборка пакета
|
||||
%p
|
||||
ABF позволяет собрать ваши проекты под множество архитектур
|
||||
и дистрибутивов, используя свои вычислительные мощности.
|
||||
Никаких затрат с вашей стороны!
|
||||
.right
|
||||
=image_tag "tour/3/build.png", :alt => "Сборка пакета"
|
||||
.both
|
||||
.feature-wrap
|
||||
.feature
|
||||
.left
|
||||
=image_tag "tour/3/monitoring.png", :alt => "Мониторинг"
|
||||
.right
|
||||
%h1 Мониторинг
|
||||
%p
|
||||
В большом числе сборочных заданий легко потеряться, поэтому
|
||||
мониторинг сборки фокусирует ваше внимание только на том,
|
||||
что действительно важно.
|
||||
.both
|
|
@ -62,7 +62,7 @@ Rosa::Application.configure do
|
|||
config.assets.digest = true
|
||||
|
||||
# Precompile additional assets (application.js, application.css, and all non-JS/CSS are already added)
|
||||
config.assets.precompile += %w(login.css login.js reg_session.css)
|
||||
config.assets.precompile += %w(login.css login.js reg_session.css tour.css)
|
||||
end
|
||||
|
||||
# require 'stub_xml_rpc'
|
||||
|
|
|
@ -9,6 +9,7 @@ Rosa::Application.routes.draw do
|
|||
|
||||
get '/forbidden' => 'pages#forbidden', :as => 'forbidden'
|
||||
get '/terms-of-service' => 'pages#tos', :as => 'tos'
|
||||
get '/tour/inside/:id' => 'pages#tour_inside', :as => 'tour_inside', :id => /1_1|1_2|1_3/
|
||||
|
||||
get '/activity_feeds.:format' => 'activity_feeds#index', :as => 'atom_activity_feeds', :format => /atom/
|
||||
if APP_CONFIG['anonymous_access']
|
||||
|
|
|
@ -23,6 +23,10 @@ class ReservedNameValidator < ActiveModel::EachValidator
|
|||
unfollow unsubscribe url user
|
||||
widget widgets wiki
|
||||
xfn xmpp
|
||||
abf-tour-project-description-1
|
||||
tour-inside-1_1
|
||||
tour-inside-1_2
|
||||
tour-inside-1_3
|
||||
}
|
||||
|
||||
def reserved_names
|
||||
|
|