Merge branch 'Alys-communityGuidelines' into develop
73
migrations/20140914_upgrade_admin_contrib_tiers.js
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
var migrationName = '20140914_upgrade_admin_contrib_tiers';
|
||||
var authorName = 'Alys'; // in case script author needs to know when their ...
|
||||
var authorUuid = 'd904bd62-da08-416b-a816-ba797c9ee265'; //... own data is done
|
||||
|
||||
/**
|
||||
* https://github.com/HabitRPG/habitrpg/issues/3801
|
||||
* Convert Tier 8 contributors to Tier 9 (staff) (all current Tier 8s are admins).
|
||||
* Convert Tier 7 contributors with admin flag to Tier 8 (moderators).
|
||||
*/
|
||||
|
||||
var mongo = require('mongoskin');
|
||||
var _ = require('lodash');
|
||||
|
||||
var dbUsers = mongo.db('localhost:27017/habitrpg?auto_reconnect').collection('users');
|
||||
|
||||
var query =
|
||||
{ 'contributor.level':{$gte:7}, 'contributor.admin':true, 'migration': {$ne: migrationName} };
|
||||
|
||||
var fields = {'migration':1,
|
||||
'contributor.admin':1,
|
||||
'contributor.level':1,
|
||||
'auth.local.username':1,
|
||||
'profile.name':1,
|
||||
};
|
||||
|
||||
var userResults = {}; // each key is a UUID, each value is a username;
|
||||
// contains only the users changed
|
||||
|
||||
console.warn('Updating users...');
|
||||
var progressCount = 1000;
|
||||
var count = 0;
|
||||
dbUsers.findEach(query, fields, {batchSize:250}, function(err, user) {
|
||||
if (err) { return exiting(1, 'ERROR! ' + err); }
|
||||
if (!user) {
|
||||
console.warn('All appropriate users found and modified.');
|
||||
return displayData();
|
||||
}
|
||||
count++;
|
||||
|
||||
var set = {'migration': migrationName};
|
||||
var inc = {'contributor.level':1, _v:1};
|
||||
|
||||
userResults[user._id] = user.profile.name;
|
||||
|
||||
dbUsers.update({_id:user._id}, {$set:set, $inc:inc});
|
||||
|
||||
if (count%progressCount == 0) console.warn(count + ' ' + user._id);
|
||||
if (user._id == authorUuid) console.warn(authorName + ' processed');
|
||||
if (user._id == '9' ) console.warn('lefnire' + ' processed');
|
||||
});
|
||||
|
||||
|
||||
function displayData() {
|
||||
console.log('users modified:');
|
||||
_.each(userResults, function(name, uuid) {
|
||||
console.log(name);
|
||||
});
|
||||
console.warn('\n' + count +
|
||||
' users processed (should be 11 according to the Hall)\n');
|
||||
return exiting(0);
|
||||
}
|
||||
|
||||
|
||||
function exiting(code, msg) {
|
||||
code = code || 0; // 0 = success
|
||||
if (code && !msg) { msg = 'ERROR!'; }
|
||||
if (msg) {
|
||||
if (code) { console.error(msg); }
|
||||
else { console.log( msg); }
|
||||
}
|
||||
process.exit(code);
|
||||
}
|
||||
|
||||
BIN
public/community-guidelines-images/backCorner.png
Executable file
|
After Width: | Height: | Size: 8.7 KiB |
BIN
public/community-guidelines-images/beingHabitican.png
Executable file
|
After Width: | Height: | Size: 12 KiB |
BIN
public/community-guidelines-images/consequences.png
Executable file
|
After Width: | Height: | Size: 25 KiB |
BIN
public/community-guidelines-images/contributing.png
Executable file
|
After Width: | Height: | Size: 5.9 KiB |
BIN
public/community-guidelines-images/github.gif
Executable file
|
After Width: | Height: | Size: 13 KiB |
BIN
public/community-guidelines-images/infractions.png
Executable file
|
After Width: | Height: | Size: 7.1 KiB |
BIN
public/community-guidelines-images/intro.png
Normal file
|
After Width: | Height: | Size: 5.7 KiB |
BIN
public/community-guidelines-images/moderators.png
Normal file
|
After Width: | Height: | Size: 8.2 KiB |
BIN
public/community-guidelines-images/publicGuilds.png
Executable file
|
After Width: | Height: | Size: 5.4 KiB |
BIN
public/community-guidelines-images/publicSpaces.png
Executable file
|
After Width: | Height: | Size: 32 KiB |
BIN
public/community-guidelines-images/restoration.png
Executable file
|
After Width: | Height: | Size: 10 KiB |
BIN
public/community-guidelines-images/staff.png
Executable file
|
After Width: | Height: | Size: 9.2 KiB |
BIN
public/community-guidelines-images/tavern.png
Executable file
|
After Width: | Height: | Size: 4.8 KiB |
BIN
public/community-guidelines-images/trello.png
Executable file
|
After Width: | Height: | Size: 11 KiB |
BIN
public/community-guidelines-images/wiki.png
Executable file
|
After Width: | Height: | Size: 9.5 KiB |
|
|
@ -13,6 +13,11 @@
|
|||
margin-bottom: 0.618em
|
||||
line-height: 1.618em
|
||||
|
||||
.guidelines-not-accepted p
|
||||
border: 1px solid #ccc
|
||||
padding: 1em;
|
||||
margin-bottom: 0.5em;
|
||||
|
||||
.chat-controls
|
||||
> div
|
||||
display: inline-block
|
||||
|
|
@ -130,8 +135,7 @@ hrpg-contributor-label-mixin($hrpg-contributor-color)
|
|||
.label-contributor-7
|
||||
hrpg-contributor-label-mixin($color-contributor-seven)
|
||||
.label-contributor-8
|
||||
hrpg-contributor-label-mixin($color-contributor-staff)
|
||||
// FOR NEW MOD LEVEL: line above will change from -staff to -mod
|
||||
hrpg-contributor-label-mixin($color-contributor-mod)
|
||||
.label-contributor-9
|
||||
hrpg-contributor-label-mixin($color-contributor-staff)
|
||||
.label-npc
|
||||
|
|
|
|||
12
public/fontello/LICENSE.txt
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
Font license info
|
||||
|
||||
|
||||
## Fontelico
|
||||
|
||||
Copyright (C) 2012 by Fontello project
|
||||
|
||||
Author: Crowdsourced, for Fontello project
|
||||
License: SIL (http://scripts.sil.org/OFL)
|
||||
Homepage: http://fontello.com
|
||||
|
||||
|
||||
75
public/fontello/README.txt
Normal file
|
|
@ -0,0 +1,75 @@
|
|||
This webfont is generated by http://fontello.com open source project.
|
||||
|
||||
|
||||
================================================================================
|
||||
Please, note, that you should obey original font licences, used to make this
|
||||
webfont pack. Details available in LICENSE.txt file.
|
||||
|
||||
- Usually, it's enough to publish content of LICENSE.txt file somewhere on your
|
||||
site in "About" section.
|
||||
|
||||
- If your project is open-source, usually, it will be ok to make LICENSE.txt
|
||||
file publically available in your repository.
|
||||
|
||||
- Fonts, used in Fontello, don't require to make clickable links on your site.
|
||||
But any kind of additional authors crediting is welcome.
|
||||
================================================================================
|
||||
|
||||
|
||||
Comments on archive content
|
||||
---------------------------
|
||||
|
||||
- /font/* - fonts in different formats
|
||||
|
||||
- /css/* - different kinds of css, for all situations. Should be ok with
|
||||
twitter bootstrap. Also, you can skip <i> style and assign icon classes
|
||||
directly to text elements, if you don't mind about IE7.
|
||||
|
||||
- demo.html - demo file, to show your webfont content
|
||||
|
||||
- LICENSE.txt - license info about source fonts, used to build your one.
|
||||
|
||||
- config.json - keeps your settings. You can import it back to fontello anytime,
|
||||
to continue your work
|
||||
|
||||
|
||||
Why so many CSS files ?
|
||||
-----------------------
|
||||
|
||||
Because we like to fit all your needs :)
|
||||
|
||||
- basic file, <your_font_name>.css - is usually enougth, in contains @font-face
|
||||
and character codes definition
|
||||
|
||||
- *-ie7.css - if you need IE7 support, but still don't wish to put char codes
|
||||
directly into html
|
||||
|
||||
- *-codes.css and *-ie7-codes.css - if you like to use your own @font-face
|
||||
rules, but still wish to benefit of css generation. That can be very
|
||||
convenient for automated assets build systems. When you need to update font -
|
||||
no needs to manually edit files, just override old version with archive
|
||||
content. See fontello source codes for example.
|
||||
|
||||
- *-embedded.css - basic css file, but with embedded WOFF font, to avoid
|
||||
CORS issues in Firefox and IE9+, when fonts are hosted on the separate domain.
|
||||
We strongly recommend to resolve this issue by `Access-Control-Allow-Origin`
|
||||
server headers. But if you ok with dirty hack - this file is for you. Note,
|
||||
that data url moved to separate @font-face to avoid problems with <IE9, when
|
||||
string is too long.
|
||||
|
||||
- animate.css - use it to get ideas about spinner rotation animation.
|
||||
|
||||
|
||||
Attention for server setup
|
||||
--------------------------
|
||||
|
||||
You MUST setup server to reply with proper `mime-types` for font files. In other
|
||||
case, some browsers will fail to show fonts.
|
||||
|
||||
Usually, `apache` already has necessary settings, but `nginx` and other
|
||||
webservers should be tuned. Here is list of mime types for our file extentions:
|
||||
|
||||
- `application/vnd.ms-fontobject` - eot
|
||||
- `application/x-font-woff` - woff
|
||||
- `application/x-font-ttf` - ttf
|
||||
- `image/svg+xml` - svg
|
||||
85
public/fontello/css/animation.css
vendored
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
/*
|
||||
Animation example, for spinners
|
||||
*/
|
||||
.animate-spin {
|
||||
-moz-animation: spin 2s infinite linear;
|
||||
-o-animation: spin 2s infinite linear;
|
||||
-webkit-animation: spin 2s infinite linear;
|
||||
animation: spin 2s infinite linear;
|
||||
display: inline-block;
|
||||
}
|
||||
@-moz-keyframes spin {
|
||||
0% {
|
||||
-moz-transform: rotate(0deg);
|
||||
-o-transform: rotate(0deg);
|
||||
-webkit-transform: rotate(0deg);
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
|
||||
100% {
|
||||
-moz-transform: rotate(359deg);
|
||||
-o-transform: rotate(359deg);
|
||||
-webkit-transform: rotate(359deg);
|
||||
transform: rotate(359deg);
|
||||
}
|
||||
}
|
||||
@-webkit-keyframes spin {
|
||||
0% {
|
||||
-moz-transform: rotate(0deg);
|
||||
-o-transform: rotate(0deg);
|
||||
-webkit-transform: rotate(0deg);
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
|
||||
100% {
|
||||
-moz-transform: rotate(359deg);
|
||||
-o-transform: rotate(359deg);
|
||||
-webkit-transform: rotate(359deg);
|
||||
transform: rotate(359deg);
|
||||
}
|
||||
}
|
||||
@-o-keyframes spin {
|
||||
0% {
|
||||
-moz-transform: rotate(0deg);
|
||||
-o-transform: rotate(0deg);
|
||||
-webkit-transform: rotate(0deg);
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
|
||||
100% {
|
||||
-moz-transform: rotate(359deg);
|
||||
-o-transform: rotate(359deg);
|
||||
-webkit-transform: rotate(359deg);
|
||||
transform: rotate(359deg);
|
||||
}
|
||||
}
|
||||
@-ms-keyframes spin {
|
||||
0% {
|
||||
-moz-transform: rotate(0deg);
|
||||
-o-transform: rotate(0deg);
|
||||
-webkit-transform: rotate(0deg);
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
|
||||
100% {
|
||||
-moz-transform: rotate(359deg);
|
||||
-o-transform: rotate(359deg);
|
||||
-webkit-transform: rotate(359deg);
|
||||
transform: rotate(359deg);
|
||||
}
|
||||
}
|
||||
@keyframes spin {
|
||||
0% {
|
||||
-moz-transform: rotate(0deg);
|
||||
-o-transform: rotate(0deg);
|
||||
-webkit-transform: rotate(0deg);
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
|
||||
100% {
|
||||
-moz-transform: rotate(359deg);
|
||||
-o-transform: rotate(359deg);
|
||||
-webkit-transform: rotate(359deg);
|
||||
transform: rotate(359deg);
|
||||
}
|
||||
}
|
||||
11
public/fontello/css/fontelico-codes.css
vendored
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
|
||||
.icon-crown:before { content: '\e800'; } /* '' */
|
||||
.icon-crown-plus:before { content: '\e801'; } /* '' */
|
||||
.icon-crown-minus:before { content: '\e802'; } /* '' */
|
||||
.icon-spin6:before { content: '\e804'; } /* '' */
|
||||
.icon-spin5:before { content: '\e805'; } /* '' */
|
||||
.icon-spin4:before { content: '\e806'; } /* '' */
|
||||
.icon-spin3:before { content: '\e807'; } /* '' */
|
||||
.icon-spin2:before { content: '\e808'; } /* '' */
|
||||
.icon-spin1:before { content: '\e809'; } /* '' */
|
||||
.icon-marquee:before { content: '\e80a'; } /* '' */
|
||||
64
public/fontello/css/fontelico-embedded.css
vendored
Normal file
11
public/fontello/css/fontelico-ie7-codes.css
vendored
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
|
||||
.icon-crown { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-crown-plus { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-crown-minus { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-spin6 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-spin5 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-spin4 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-spin3 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-spin2 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-spin1 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-marquee { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
22
public/fontello/css/fontelico-ie7.css
vendored
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
[class^="icon-"], [class*=" icon-"] {
|
||||
font-family: 'fontelico';
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
|
||||
/* fix buttons height */
|
||||
line-height: 1em;
|
||||
|
||||
/* you can be more comfortable with increased icons size */
|
||||
/* font-size: 120%; */
|
||||
}
|
||||
|
||||
.icon-crown { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-crown-plus { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-crown-minus { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-spin6 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-spin5 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-spin4 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-spin3 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-spin2 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-spin1 { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
.icon-marquee { *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = ' '); }
|
||||
62
public/fontello/css/fontelico.css
vendored
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
@font-face {
|
||||
font-family: 'fontelico';
|
||||
src: url('../font/fontelico.eot?7274479');
|
||||
src: url('../font/fontelico.eot?7274479#iefix') format('embedded-opentype'),
|
||||
url('../font/fontelico.woff?7274479') format('woff'),
|
||||
url('../font/fontelico.ttf?7274479') format('truetype'),
|
||||
url('../font/fontelico.svg?7274479#fontelico') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
|
||||
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
|
||||
/*
|
||||
@media screen and (-webkit-min-device-pixel-ratio:0) {
|
||||
@font-face {
|
||||
font-family: 'fontelico';
|
||||
src: url('../font/fontelico.svg?7274479#fontelico') format('svg');
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
[class^="icon-"]:before, [class*=" icon-"]:before {
|
||||
font-family: "fontelico";
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
speak: none;
|
||||
|
||||
display: inline-block;
|
||||
text-decoration: inherit;
|
||||
width: 1em;
|
||||
margin-right: .2em;
|
||||
text-align: center;
|
||||
/* opacity: .8; */
|
||||
|
||||
/* For safety - reset parent styles, that can break glyph codes*/
|
||||
font-variant: normal;
|
||||
text-transform: none;
|
||||
|
||||
/* fix buttons height, for twitter bootstrap */
|
||||
line-height: 1em;
|
||||
|
||||
/* Animation center compensation - margins should be symmetric */
|
||||
/* remove if not needed */
|
||||
margin-left: .2em;
|
||||
|
||||
/* you can be more comfortable with increased icons size */
|
||||
font-size: 120%;
|
||||
|
||||
/* Uncomment for 3D effect */
|
||||
/* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
|
||||
}
|
||||
|
||||
.icon-crown:before { content: '\e800'; } /* '' */
|
||||
.icon-crown-plus:before { content: '\e801'; } /* '' */
|
||||
.icon-crown-minus:before { content: '\e802'; } /* '' */
|
||||
.icon-spin6:before { content: '\e804'; } /* '' */
|
||||
.icon-spin5:before { content: '\e805'; } /* '' */
|
||||
.icon-spin4:before { content: '\e806'; } /* '' */
|
||||
.icon-spin3:before { content: '\e807'; } /* '' */
|
||||
.icon-spin2:before { content: '\e808'; } /* '' */
|
||||
.icon-spin1:before { content: '\e809'; } /* '' */
|
||||
.icon-marquee:before { content: '\e80a'; } /* '' */
|
||||
276
public/fontello/demo.html
Normal file
|
|
@ -0,0 +1,276 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head><!--[if lt IE 9]><script language="javascript" type="text/javascript" src="//html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
|
||||
<meta charset="UTF-8"><style>/*
|
||||
* Bootstrap v2.2.1
|
||||
*
|
||||
* Copyright 2012 Twitter, Inc
|
||||
* Licensed under the Apache License v2.0
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Designed and built with all the love in the world @twitter by @mdo and @fat.
|
||||
*/
|
||||
.clearfix {
|
||||
*zoom: 1;
|
||||
}
|
||||
.clearfix:before,
|
||||
.clearfix:after {
|
||||
display: table;
|
||||
content: "";
|
||||
line-height: 0;
|
||||
}
|
||||
.clearfix:after {
|
||||
clear: both;
|
||||
}
|
||||
html {
|
||||
font-size: 100%;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
-ms-text-size-adjust: 100%;
|
||||
}
|
||||
a:focus {
|
||||
outline: thin dotted #333;
|
||||
outline: 5px auto -webkit-focus-ring-color;
|
||||
outline-offset: -2px;
|
||||
}
|
||||
a:hover,
|
||||
a:active {
|
||||
outline: 0;
|
||||
}
|
||||
button,
|
||||
input,
|
||||
select,
|
||||
textarea {
|
||||
margin: 0;
|
||||
font-size: 100%;
|
||||
vertical-align: middle;
|
||||
}
|
||||
button,
|
||||
input {
|
||||
*overflow: visible;
|
||||
line-height: normal;
|
||||
}
|
||||
button::-moz-focus-inner,
|
||||
input::-moz-focus-inner {
|
||||
padding: 0;
|
||||
border: 0;
|
||||
}
|
||||
body {
|
||||
margin: 0;
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
font-size: 14px;
|
||||
line-height: 20px;
|
||||
color: #333;
|
||||
background-color: #fff;
|
||||
}
|
||||
a {
|
||||
color: #08c;
|
||||
text-decoration: none;
|
||||
}
|
||||
a:hover {
|
||||
color: #005580;
|
||||
text-decoration: underline;
|
||||
}
|
||||
.row {
|
||||
margin-left: -20px;
|
||||
*zoom: 1;
|
||||
}
|
||||
.row:before,
|
||||
.row:after {
|
||||
display: table;
|
||||
content: "";
|
||||
line-height: 0;
|
||||
}
|
||||
.row:after {
|
||||
clear: both;
|
||||
}
|
||||
[class*="span"] {
|
||||
float: left;
|
||||
min-height: 1px;
|
||||
margin-left: 20px;
|
||||
}
|
||||
.container,
|
||||
.navbar-static-top .container,
|
||||
.navbar-fixed-top .container,
|
||||
.navbar-fixed-bottom .container {
|
||||
width: 940px;
|
||||
}
|
||||
.span12 {
|
||||
width: 940px;
|
||||
}
|
||||
.span11 {
|
||||
width: 860px;
|
||||
}
|
||||
.span10 {
|
||||
width: 780px;
|
||||
}
|
||||
.span9 {
|
||||
width: 700px;
|
||||
}
|
||||
.span8 {
|
||||
width: 620px;
|
||||
}
|
||||
.span7 {
|
||||
width: 540px;
|
||||
}
|
||||
.span6 {
|
||||
width: 460px;
|
||||
}
|
||||
.span5 {
|
||||
width: 380px;
|
||||
}
|
||||
.span4 {
|
||||
width: 300px;
|
||||
}
|
||||
.span3 {
|
||||
width: 220px;
|
||||
}
|
||||
.span2 {
|
||||
width: 140px;
|
||||
}
|
||||
.span1 {
|
||||
width: 60px;
|
||||
}
|
||||
[class*="span"].pull-right,
|
||||
.row-fluid [class*="span"].pull-right {
|
||||
float: right;
|
||||
}
|
||||
.container {
|
||||
margin-right: auto;
|
||||
margin-left: auto;
|
||||
*zoom: 1;
|
||||
}
|
||||
.container:before,
|
||||
.container:after {
|
||||
display: table;
|
||||
content: "";
|
||||
line-height: 0;
|
||||
}
|
||||
.container:after {
|
||||
clear: both;
|
||||
}
|
||||
p {
|
||||
margin: 0 0 10px;
|
||||
}
|
||||
.lead {
|
||||
margin-bottom: 20px;
|
||||
font-size: 21px;
|
||||
font-weight: 200;
|
||||
line-height: 30px;
|
||||
}
|
||||
small {
|
||||
font-size: 85%;
|
||||
}
|
||||
h1 {
|
||||
margin: 10px 0;
|
||||
font-family: inherit;
|
||||
font-weight: bold;
|
||||
line-height: 20px;
|
||||
color: inherit;
|
||||
text-rendering: optimizelegibility;
|
||||
}
|
||||
h1 small {
|
||||
font-weight: normal;
|
||||
line-height: 1;
|
||||
color: #999;
|
||||
}
|
||||
h1 {
|
||||
line-height: 40px;
|
||||
}
|
||||
h1 {
|
||||
font-size: 38.5px;
|
||||
}
|
||||
h1 small {
|
||||
font-size: 24.5px;
|
||||
}
|
||||
body {
|
||||
margin-top: 90px;
|
||||
}
|
||||
.header {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 50%;
|
||||
margin-left: -480px;
|
||||
background-color: #fff;
|
||||
border-bottom: 1px solid #ddd;
|
||||
padding-top: 10px;
|
||||
z-index: 10;
|
||||
}
|
||||
.footer {
|
||||
color: #ddd;
|
||||
font-size: 12px;
|
||||
text-align: center;
|
||||
margin-top: 20px;
|
||||
}
|
||||
.footer a {
|
||||
color: #ccc;
|
||||
text-decoration: underline;
|
||||
}
|
||||
.the-icons {
|
||||
font-size: 14px;
|
||||
line-height: 24px;
|
||||
}
|
||||
.switch {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
bottom: 10px;
|
||||
color: #666;
|
||||
}
|
||||
.switch input {
|
||||
margin-right: 0.3em;
|
||||
}
|
||||
.codesOn .i-name {
|
||||
display: none;
|
||||
}
|
||||
.codesOn .i-code {
|
||||
display: inline;
|
||||
}
|
||||
.i-code {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
<link rel="stylesheet" href="css/fontelico.css">
|
||||
<link rel="stylesheet" href="css/animation.css"><!--[if IE 7]><link rel="stylesheet" href="css/fontelico-ie7.css"><![endif]-->
|
||||
<script>
|
||||
function toggleCodes(on) {
|
||||
var obj = document.getElementById('icons');
|
||||
|
||||
if (on) {
|
||||
obj.className += ' codesOn';
|
||||
} else {
|
||||
obj.className = obj.className.replace(' codesOn', '');
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container header">
|
||||
<h1>
|
||||
fontelico
|
||||
<small>font demo</small>
|
||||
</h1>
|
||||
<label class="switch">
|
||||
<input type="checkbox" onclick="toggleCodes(this.checked)">show codes
|
||||
</label>
|
||||
</div>
|
||||
<div id="icons" class="container">
|
||||
<div class="row">
|
||||
<div title="Code: 0xe800" class="the-icons span3"><i class="icon-crown"></i> <span class="i-name">icon-crown</span><span class="i-code">0xe800</span></div>
|
||||
<div title="Code: 0xe801" class="the-icons span3"><i class="icon-crown-plus"></i> <span class="i-name">icon-crown-plus</span><span class="i-code">0xe801</span></div>
|
||||
<div title="Code: 0xe802" class="the-icons span3"><i class="icon-crown-minus"></i> <span class="i-name">icon-crown-minus</span><span class="i-code">0xe802</span></div>
|
||||
<div title="Code: 0xe804" class="the-icons span3"><i class="icon-spin6 animate-spin"></i> <span class="i-name">icon-spin6</span><span class="i-code">0xe804</span></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div title="Code: 0xe805" class="the-icons span3"><i class="icon-spin5 animate-spin"></i> <span class="i-name">icon-spin5</span><span class="i-code">0xe805</span></div>
|
||||
<div title="Code: 0xe806" class="the-icons span3"><i class="icon-spin4 animate-spin"></i> <span class="i-name">icon-spin4</span><span class="i-code">0xe806</span></div>
|
||||
<div title="Code: 0xe807" class="the-icons span3"><i class="icon-spin3 animate-spin"></i> <span class="i-name">icon-spin3</span><span class="i-code">0xe807</span></div>
|
||||
<div title="Code: 0xe808" class="the-icons span3"><i class="icon-spin2 animate-spin"></i> <span class="i-name">icon-spin2</span><span class="i-code">0xe808</span></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div title="Code: 0xe809" class="the-icons span3"><i class="icon-spin1 animate-spin"></i> <span class="i-name">icon-spin1</span><span class="i-code">0xe809</span></div>
|
||||
<div title="Code: 0xe80a" class="the-icons span3"><i class="icon-marquee"></i> <span class="i-name">icon-marquee</span><span class="i-code">0xe80a</span></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="container footer">Generated by <a href="http://fontello.com">fontello.com</a></div>
|
||||
</body>
|
||||
</html>
|
||||
BIN
public/fontello/font/fontelico.eot
Normal file
21
public/fontello/font/fontelico.svg
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<metadata>Copyright (C) 2014 by original authors @ fontello.com</metadata>
|
||||
<defs>
|
||||
<font id="fontelico" horiz-adv-x="1000" >
|
||||
<font-face font-family="fontelico" font-weight="400" font-stretch="normal" units-per-em="1000" ascent="850" descent="-150" />
|
||||
<missing-glyph horiz-adv-x="1000" />
|
||||
<glyph glyph-name="crown" unicode="" d="m419 822c-39 0-71-32-71-72 0-40 32-72 71-72 39 0 74 32 74 72 0 40-35 72-74 72z m-48-222c-40-119-101-152-101-152s-52 146-109 232c-23-52-47-86-96-100-1-44 51-208 55-290l601 0c2 79 55 256 55 288-38 16-85 51-96 102-63-86-109-232-109-232s-61 33-101 152c-27-13-77-13-99 0z m-297 222c-40 0-74-32-74-72 0-40 34-72 74-72 39 0 70 32 70 72 0 40-31 72-70 72z m47-603l0-119 600 0c0 43 0 81 0 119z m644 603c-40 0-72-32-72-72 0-40 32-72 72-72 40 0 72 32 72 72 0 40-32 72-72 72z" horiz-adv-x="837" />
|
||||
<glyph glyph-name="crown-plus" unicode="" d="m419 822c-39 0-71-32-71-72 0-40 32-72 71-72 39 0 74 32 74 72 0 40-35 72-74 72z m-48-222c-40-119-101-152-101-152s-52 146-109 232c-23-52-47-86-96-100-1-44 51-208 55-290l362 0 0 72 248 0c5 72 35 158 46 216-38 16-85 51-96 102-63-86-109-232-109-232s-61 33-101 152c-27-13-77-13-99 0z m-297 222c-40 0-74-32-74-72 0-40 34-72 74-72 39 0 70 32 70 72 0 40-31 72-70 72z m47-603l0-119 230 0 0 110 131 0 0 9z m644 603c-40 0-72-32-72-72 0-40 32-72 72-72 40 0 72 32 72 72 0 40-32 72-72 72z m-196-816c-37 0-107 0-146 0 0 31 0 102 0 138 49 0 94 0 146 0 0 49 0 98 0 146 24 0 85 0 138 0 0-46 0-95 0-146 46 0 93 0 146 0 0-45 0-101 0-138-43 0-98 0-146 0 0-48 0-103 0-146-52 0-99 0-138 0 0 52 0 123 0 146z" horiz-adv-x="853" />
|
||||
<glyph glyph-name="crown-minus" unicode="" d="m419 822c-39 0-71-32-71-72 0-40 32-72 71-72 39 0 74 32 74 72 0 40-35 72-74 72z m-48-222c-40-119-101-152-101-152s-52 146-109 232c-23-52-47-86-96-100-1-44 51-208 55-290l601 0c2 79 55 256 55 288-38 16-85 51-96 102-63-86-109-232-109-232s-61 33-101 152c-27-13-77-13-99 0z m-297 222c-40 0-74-32-74-72 0-40 34-72 74-72 39 0 70 32 70 72 0 40-31 72-70 72z m47-603l0-119 230 0 0 110 370 0 0 9z m644 603c-40 0-72-32-72-72 0-40 32-72 72-72 40 0 72 32 72 72 0 40-32 72-72 72z m-342-816c0 32 0 106 0 143 123 0 152 0 430 0 0-46 0-105 0-143-113 0-333 0-430 0z" horiz-adv-x="853" />
|
||||
<glyph glyph-name="spin6" unicode="" d="m855 9c-189-190-520-172-705 13-190 190-200 494-28 695 11 13 21 26 35 34 36 23 85 18 117-13 30-31 35-76 16-112-5-9-9-15-16-22-140-151-145-379-8-516 153-153 407-121 542 34 106 122 142 297 77 451-83 198-305 291-510 222l0 1c236 82 492-24 588-252 71-167 37-355-72-493-11-15-23-29-36-42z" horiz-adv-x="1000" />
|
||||
<glyph glyph-name="spin5" unicode="" d="m462 850c-6 0-11-5-11-11l0-183 0 0c0-6 5-11 11-11l69 0c1 0 1 0 1 0 7 0 12 5 12 11l0 183 0 0c0 6-5 11-12 11l-69 0c0 0 0 0-1 0z m250-47c-4 1-8-2-10-5l-91-158 0 0c-4-6-2-13 4-16l60-35c0 0 0 0 0 0 6-3 13-1 16 4l91 158c3 6 2 13-4 16l-61 35c-1 1-3 1-5 1z m-428-2c-2 0-4-1-6-2l-61-35c-5-3-7-10-4-16l91-157c0 0 0 0 0 0 3-6 10-8 16-5l61 35c5 4 7 11 4 16l-91 157c0 1 0 1 0 1-2 4-6 6-10 6z m620-163c-2 0-4 0-6-1l-157-91c0 0 0 0 0 0-6-3-8-10-5-16l35-61c4-5 11-7 16-4l157 91c1 0 1 0 1 0 6 3 7 10 4 16l-35 61c-2 3-6 5-10 5z m-810-4c-5 0-9-2-11-6l-35-61c-3-5-1-12 4-15l158-92 0 0c6-3 13-1 16 5l35 60c0 0 0 0 0 0 3 6 1 13-4 16l-158 91c-2 1-4 2-5 2z m712-235l0 0c-6 0-11-5-11-11l0-69c0-1 0-1 0-1 0-7 5-12 11-12l183 0 0 0c6 0 11 5 11 12l0 69c0 0 0 0 0 1 0 6-5 11-11 11l-183 0z m-794-5l0 0c-7 0-12-5-12-12l0-69c0 0 0 0 0-1 0-6 5-11 12-11l182 0 0 0c6 0 11 5 11 11l0 69c0 1 0 1 0 1 0 7-5 12-11 12l-182 0z m772-153c-4 0-8-2-10-6l-34-60c-1 0-1 0-1 0-3-6-1-13 4-16l158-91c6-3 13-2 16 4l35 61c3 5 1 12-4 15l-158 91 0 0c-2 1-4 2-6 2z m-566-5c-1 0-3 0-5-1l-157-91c0 0-1 0-1 0-5-3-7-11-4-16l35-61c3-5 10-7 16-4l157 91c0 0 0 0 0 0 6 3 8 10 5 16l-35 61c-3 3-7 5-11 5z m468-121c-2 0-4 0-6-1l-61-35c-5-4-7-11-4-16l91-157c0-1 0-1 0-1 3-6 11-7 16-4l61 35c5 3 7 10 4 16l-91 157c0 0 0 0 0 0-2 4-6 6-10 6z m-367-3c-4 1-8-2-10-5l-91-158c-3-6-1-13 4-16l61-35c5-3 12-1 15 4l92 158 0 0c3 6 1 13-5 16l-60 34c0 1 0 1 0 1-2 1-4 1-6 1z m149-57c-7 0-12-5-12-11l0-183 0 0c0-6 5-11 12-11l69 0c0 0 0 0 1 0 6 0 11 5 11 11l0 183 0 0c0 6-5 11-11 11l-69 0c-1 0-1 0-1 0z" horiz-adv-x="1000" />
|
||||
<glyph glyph-name="spin4" unicode="" d="m498 850c-114 0-228-39-320-116l0 0c173 140 428 130 588-31 134-134 164-332 89-495-10-29-5-50 12-68 21-20 61-23 84 0 3 3 12 15 15 24 71 180 33 393-112 539-99 98-228 147-356 147z m-409-274c-14 0-29-5-39-16-3-3-13-15-15-24-71-180-34-393 112-539 185-185 479-195 676-31l0 0c-173-140-428-130-589 31-134 134-163 333-89 495 11 29 6 50-12 68-11 11-27 17-44 16z" horiz-adv-x="1001" />
|
||||
<glyph glyph-name="spin3" unicode="" d="m494 850c-266 0-483-210-494-472-1-19 13-20 13-20l84 0c16 0 19 10 19 18 10 199 176 358 378 358 107 0 205-45 273-118l-58-57c-11-12-11-27 5-31l247-50c21-5 46 11 37 44l-58 227c-2 9-16 22-29 13l-65-60c-89 91-214 148-352 148z m409-508c-16 0-19-10-19-18-10-199-176-358-377-358-108 0-205 45-274 118l59 57c10 12 10 27-5 31l-248 50c-21 5-46-11-37-44l58-227c2-9 16-22 30-13l64 60c89-91 214-148 353-148 265 0 482 210 493 473 1 18-13 19-13 19l-84 0z" horiz-adv-x="1000" />
|
||||
<glyph glyph-name="spin2" unicode="" d="m46 144l0 0c0 0-1 0-1 0-8 18-15 37-21 55-6 19-11 38-15 58-19 99-8 203 35 298 3 6 10 8 15 5 1 0 2 0 2-1l0 0 80-59c5-3 6-9 4-14-5-12-9-25-12-38-4-12-7-26-9-39-11-67-3-137 23-201 2-5 0-10-4-13l0 0-80-56c-5-4-12-3-16 3-1 0-1 1-1 2l0 0z m120 574l0 0c0 1 0 1 0 1 15 13 30 25 46 37 16 11 33 22 51 31 89 50 192 72 297 60 6-1 10-6 10-13 0-1-1-1-1-2l0 0-31-94c-2-5-8-8-13-7-13 0-27 0-40 0-14-1-27-2-40-4-68-11-133-40-186-84-4-3-10-3-14 0l0 0-79 58c-5 3-6 11-2 16 0 0 1 1 2 1l0 0z m588 65l0 0c0 0 1 0 1 0 17-10 34-21 50-32 16-12 31-25 46-38 74-69 127-160 148-262 2-6-2-12-9-13-1 0-1 0-2 0l0 0-100 1c-5 0-10 4-11 9-3 13-8 26-12 38-5 12-10 25-17 36-31 61-78 113-137 150-5 3-6 8-5 13l0 0 31 92c2 6 9 9 15 7 1 0 2-1 2-1l0 0z m244-535l0 0c0 0 0 0 0 0-4-20-9-39-15-57-7-19-14-37-22-55-44-92-114-170-205-221-6-3-13-1-16 4 0 1-1 2-1 2l0 0-30 94c-2 6 1 12 6 14 11 7 22 15 32 23 11 9 21 18 30 27 49 48 84 109 101 176 2 5 6 8 11 8l0 0 98-1c6 0 11-5 11-11 0-1 0-2 0-3l0 0z m-438-395l0 0c0 0 0 0 0 0-20-2-40-3-60-3-20 0-40 1-59 4-102 12-198 54-276 125-5 4-5 11 0 16 0 0 1 1 1 1l0 0 81 58c5 3 12 2 16-2 10-8 20-16 32-23 11-7 22-14 34-20 62-31 131-45 200-41 6 0 10-3 12-8l0 0 29-92c2-6-1-12-7-14-1-1-2-1-3-1l0 0z" horiz-adv-x="1000" />
|
||||
<glyph glyph-name="spin1" unicode="" d="m496 850c-176 0-331-90-421-226-18-27-33-55-46-85-12-29-21-60-28-92 0 0 0-1 0-1l0 0 0 0c0-1 0-2 0-2 0-7 5-12 11-12l101 0c5 0 10 4 11 9 29 113 109 206 214 253 20 10 41 17 63 23 31 7 62 11 95 11l0 0 0 0 0 0c25 0 50-2 74-7 5-1 10-2 14-3 6-1 10-3 14-4l0 0c5-1 11 1 13 6l51 87c0 0 1 1 1 2 2 6-1 13-7 15-22 7-43 13-65 17-5 1-9 1-13 2-27 5-54 7-82 7l0 0 0 0z m327-114c-5 0-9-2-11-6l-50-87c-3-4-2-10 2-14 29-29 54-63 73-101 4-7 7-14 11-22 19-46 30-97 30-151l0 0 0 0c0-77-22-149-62-209-7-11-15-23-24-34-9-10-18-20-28-30l0 0 0 0 0 0c-4-4-5-10-2-14l50-87c0-1 1-2 2-3 4-5 11-5 16-1 58 52 104 117 134 190 6 14 11 29 15 44 14 46 21 94 21 144 0 108-34 209-92 291-11 16-23 31-37 46-13 14-26 28-41 41l0 0c-1 1-1 1-2 1-2 1-4 2-5 2z m-811-468l0 0c-1 0-2 0-3 0-6-1-10-8-9-14 34-166 149-302 302-366 30-12 61-21 93-28 32-6 66-10 100-10l0 0 0 0c40 0 79 5 117 14 7 1 14 3 22 5 6 2 13 5 20 7 1 0 2 1 3 1 6 3 8 10 4 16l-50 87c-3 5-8 7-13 6-14-4-28-7-42-9-3-1-6-1-8-2-18-2-35-3-53-3l0 0 0 0c-128 0-242 63-311 160-1 0-1 0-1 0-13 19-25 40-35 61-10 21-18 43-24 65-1 6-6 10-11 10l-101 0z" horiz-adv-x="1000" />
|
||||
<glyph glyph-name="marquee" unicode="" d="m0 850l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-285l0-143 143 0 0 143-143 0z m857 0l0-143 143 0 0 143-143 0z m-857-286l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z m285 0l0-143 143 0 0 143-143 0z m286 0l0-143 143 0 0 143-143 0z" horiz-adv-x="1000" />
|
||||
</font>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 7.9 KiB |
BIN
public/fontello/font/fontelico.ttf
Normal file
BIN
public/fontello/font/fontelico.woff
Normal file
|
|
@ -8,6 +8,7 @@ habitrpg.controller("HallHeroesCtrl", ['$scope', '$rootScope', 'User', 'Notifica
|
|||
$scope.hero = Hero.get({uid:uuid});
|
||||
}
|
||||
$scope.saveHero = function(hero) {
|
||||
$scope.hero.contributor.admin = ($scope.hero.contributor.level > 7) ? true : false;
|
||||
hero.$save(function(){
|
||||
Notification.text("User updated");
|
||||
$scope.hero = undefined;
|
||||
|
|
|
|||
|
|
@ -42,10 +42,32 @@ habitrpg.controller("RootCtrl", ['$scope', '$rootScope', '$location', 'User', '$
|
|||
// styling helpers
|
||||
$scope.userLevelStyle = function(user,style){
|
||||
style = style || '';
|
||||
if(user && user.backer && user.backer.npc)
|
||||
style += ' label-npc';
|
||||
var npc = (user && user.backer && user.backer.npc) ? user.backer.npc : '';
|
||||
var level = (user && user.contributor && user.contributor.level) ? user.contributor.level : '';
|
||||
style += $scope.userLevelStyleFromLevel(level,npc,style)
|
||||
return style;
|
||||
}
|
||||
$scope.userAdminGlyphiconStyle = function(user,style){
|
||||
style = style || '';
|
||||
if(user && user.contributor && user.contributor.level)
|
||||
style += ' label-contributor-'+user.contributor.level;
|
||||
style += $scope.userAdminGlyphiconStyleFromLevel(user.contributor.level,style)
|
||||
return style;
|
||||
}
|
||||
$scope.userLevelStyleFromLevel = function(level,npc,style){
|
||||
style = style || '';
|
||||
if(npc)
|
||||
style += ' label-npc';
|
||||
if(level)
|
||||
style += ' label-contributor-'+level;
|
||||
return style;
|
||||
}
|
||||
$scope.userAdminGlyphiconStyleFromLevel = function(level,style){
|
||||
style = style || '';
|
||||
if(level)
|
||||
if(level==8)
|
||||
style += ' glyphicon glyphicon-star'; // moderator
|
||||
if(level==9)
|
||||
style += ' glyphicon icon-crown'; // staff
|
||||
return style;
|
||||
}
|
||||
|
||||
|
|
@ -100,6 +122,10 @@ habitrpg.controller("RootCtrl", ['$scope', '$rootScope', '$location', 'User', '$
|
|||
$rootScope.set({'flags.newStuff':false});
|
||||
}
|
||||
|
||||
$rootScope.acceptCommunityGuidelines = function() {
|
||||
$rootScope.set({'flags.communityGuidelinesAccepted':true});
|
||||
}
|
||||
|
||||
$rootScope.notPorted = function(){
|
||||
alert(window.env.t('notPorted'));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -69,7 +69,8 @@
|
|||
"app.css",
|
||||
"bower_components/pnotify/jquery.pnotify.default.css",
|
||||
"bower_components/pnotify/jquery.pnotify.default.icons.css",
|
||||
"bower_components/habitrpg-shared/dist/habitrpg-shared.css"
|
||||
"bower_components/habitrpg-shared/dist/habitrpg-shared.css",
|
||||
"fontello/css/fontelico.css"
|
||||
]
|
||||
},
|
||||
"static": {
|
||||
|
|
|
|||
|
|
@ -71,7 +71,7 @@ var UserSchema = new Schema({
|
|||
},
|
||||
|
||||
contributor: {
|
||||
level: Number, // 1-7, see https://trello.com/c/wkFzONhE/277-contributor-gear
|
||||
level: Number, // 1-9, see https://trello.com/c/wkFzONhE/277-contributor-gear https://github.com/HabitRPG/habitrpg/issues/3801
|
||||
admin: Boolean,
|
||||
sudo: Boolean,
|
||||
text: String, // Artisan, Friend, Blacksmith, etc
|
||||
|
|
@ -116,7 +116,8 @@ var UserSchema = new Schema({
|
|||
rebirthEnabled: {type: Boolean, 'default': false},
|
||||
freeRebirth: {type: Boolean, 'default': false},
|
||||
levelDrops: {type:Schema.Types.Mixed, 'default':{}},
|
||||
chatRevoked: Boolean
|
||||
chatRevoked: Boolean,
|
||||
communityGuidelinesAccepted: {type: Boolean, 'default': false}
|
||||
},
|
||||
history: {
|
||||
exp: Array, // [{date: Date, value: Number}], // big peformance issues if these are defined
|
||||
|
|
@ -458,10 +459,6 @@ UserSchema.methods.unlink = function(options, cb) {
|
|||
module.exports.schema = UserSchema;
|
||||
module.exports.model = mongoose.model("User", UserSchema);
|
||||
|
||||
mongoose.model("User").find({'contributor.admin':true},function(err,mods){
|
||||
module.exports.mods = _.map(mods,function(m){
|
||||
var lvl = (m.backer && m.backer.npc) ? 'label-npc' :
|
||||
'label-contributor-' + m.contributor.level;
|
||||
return ' <span class="label ' + lvl + '">'+ m.profile.name + '</span>'
|
||||
});
|
||||
mongoose.model("User").find({$query:{'contributor.admin':true}, $orderby:{'contributor.level':-1, 'backer.npc':-1, 'profile.name':1}},function(err,mods){
|
||||
module.exports.mods = mods
|
||||
});
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ router.get('/', i18n.getUserLanguage, middleware.locals, function(req, res) {
|
|||
|
||||
// -------- Marketing --------
|
||||
|
||||
var pages = ['front', 'privacy', 'terms', 'api', 'features', 'videos', 'contact', 'plans', 'new-stuff'];
|
||||
var pages = ['front', 'privacy', 'terms', 'api', 'features', 'videos', 'contact', 'plans', 'new-stuff', 'community-guidelines'];
|
||||
|
||||
_.each(pages, function(name){
|
||||
router.get('/static/' + name, i18n.getUserLanguage, middleware.locals, function(req, res) {
|
||||
|
|
@ -34,4 +34,4 @@ router.get('/static/extensions', function(req, res) {
|
|||
res.redirect('http://habitrpg.wikia.com/wiki/App_and_Extension_Integrations');
|
||||
});
|
||||
|
||||
module.exports = router;
|
||||
module.exports = router;
|
||||
|
|
|
|||
|
|
@ -1,3 +1,17 @@
|
|||
//div.chat-form.guidelines-not-accepted(ng-if='!user.flags.communityGuidelinesAccepted')
|
||||
// p If you would like to post messages in the Tavern or any party or guild chat, please first read our
|
||||
// |
|
||||
// a(target='_blank', href='/static/community-guidelines')=env.t('communityGuidelines')
|
||||
// | and then click the button below to indicate that you accept them.
|
||||
// .chat-controls
|
||||
// div
|
||||
// button.btn.btn-warning(ng-click='acceptCommunityGuidelines()')=env.t('iAcceptCommunityGuidelines')
|
||||
// .chat-buttons
|
||||
// button(type="button", ng-click='sync(group)', tooltip=env.t('toolTipMsg'))
|
||||
// span.glyphicon.glyphicon-refresh
|
||||
|
||||
//form.chat-form(ng-if='user.flags.communityGuidelinesAccepted' ng-submit='postChat(group,message.content)')
|
||||
//////////// When we want to block the ability to chat until the Community Guidelines have been accepted, delete the one line immediately below this comment and un-comment all lines above.
|
||||
form.chat-form(ng-submit='postChat(group,message.content)')
|
||||
div(ng-controller='AutocompleteCtrl')
|
||||
textarea.form-control(rows=4, ui-keypress='{13:"postChat(group,message.content)"}', ng-model='message.content', updateinterval='250', flag='@', at-user, auto-complete)
|
||||
|
|
@ -11,4 +25,4 @@ form.chat-form(ng-submit='postChat(group,message.content)')
|
|||
.chat-buttons
|
||||
input(type='submit', value=env.t('sendChat'), ng-class='{disabled: _sending == true}')
|
||||
button(type="button", ng-click='sync(group)', tooltip=env.t('toolTipMsg'))
|
||||
span.glyphicon.glyphicon-refresh
|
||||
span.glyphicon.glyphicon-refresh
|
||||
|
|
|
|||
|
|
@ -1,9 +1,10 @@
|
|||
li.chat-message(ng-repeat='message in group.chat track by message.id', ng-class=':: {highlight: isUserMentioned(user,message) || message.uuid=="system", "own-message": user._id == message.uuid}')
|
||||
.scrollable-message
|
||||
span(ng-if='::message.uuid!="system"')
|
||||
span(ng-if='::message.user')
|
||||
a.label.label-default.chat-message.hidden-label
|
||||
span {{::message.user}}
|
||||
|
|
||||
span {{::message.user}}
|
||||
span(ng-class='userAdminGlyphiconStyleFromLevel(message.contributor.level)')
|
||||
// this invisible username label is here to push the message text far enough right that the visible label can be floated to this point without covering up any of the text
|
||||
markdown(ng-model='::message.text')
|
||||
| -
|
||||
span.muted.time(from-now='::message.timestamp')
|
||||
|
|
@ -13,5 +14,6 @@ li.chat-message(ng-repeat='message in group.chat track by message.id', ng-class=
|
|||
|
|
||||
a(ng-if=':: user.contributor.admin || message.uuid == user.id', ng-click='deleteChatMessage(group, message)')
|
||||
span.glyphicon.glyphicon-trash(tooltip=env.t('delete'))
|
||||
a.label.label-default.chat-message(ng-if=':: message.user', class='float-label', ng-class=':: {"label-npc": message.backer.npc, "label-contributor-{{message.contributor.level}}":message.contributor.level}', ng-click='clickMember(message.uuid, true)')
|
||||
a.label.label-default.chat-message(ng-if=':: message.user', class='float-label', ng-class='userLevelStyleFromLevel(message.contributor.level, message.backer.npc, style)', ng-click='clickMember(message.uuid, true)')
|
||||
span(tooltip='{{::contribText(message.contributor, message.backer)}}') {{::message.user}}
|
||||
span(ng-class='userAdminGlyphiconStyleFromLevel(message.contributor.level)')
|
||||
|
|
|
|||
|
|
@ -28,15 +28,13 @@ script(type='text/ng-template', id='partials/options.social.hall.heroes.html')
|
|||
label=env.t('contribLevel')
|
||||
input.form-control(type='number', step="any", ng-model='hero.contributor.level')
|
||||
small=env.t('contribHallText')
|
||||
|
|
||||
a(target='_blank', href='https://trello.com/c/wkFzONhE/277-contributor-gear')=env.t('moreDetails')
|
||||
|,
|
||||
a(target='_blank', href='https://github.com/HabitRPG/habitrpg/issues/3801')=env.t('moreDetails2')
|
||||
.form-group
|
||||
textarea.form-control(cols=5, placeholder=env.t('contributions'), ng-model='hero.contributor.contributions')
|
||||
include ../../shared/formatting-help
|
||||
.form-group
|
||||
.checkbox
|
||||
label
|
||||
input(type='checkbox', ng-model='hero.contributor.admin')
|
||||
=env.t('admin')
|
||||
hr
|
||||
|
||||
.form-group
|
||||
|
|
@ -88,7 +86,7 @@ script(type='text/ng-template', id='partials/options.social.hall.heroes.html')
|
|||
span(ng-if='hero.contributor.admin',popover=env.t('gamemaster'),popover-trigger='mouseenter',popover-placement='right')
|
||||
a.label.label-default(ng-class='userLevelStyle(hero)', ng-click='clickMember(hero._id, true)')
|
||||
| {{hero.profile.name}}
|
||||
span.glyphicon.glyphicon-star
|
||||
span(ng-class='userAdminGlyphiconStyle(hero)')
|
||||
span(ng-if='!hero.contributor.admin')
|
||||
a.label.label-default(ng-class='userLevelStyle(hero)', ng-click='clickMember(hero._id, true)') {{hero.profile.name}}
|
||||
td(ng-if='user.contributor.admin') {{hero._id}}
|
||||
|
|
|
|||
|
|
@ -29,6 +29,9 @@
|
|||
h3.panel-title=env.t('resources')
|
||||
.panel-body
|
||||
table.table.table-striped
|
||||
tr
|
||||
td
|
||||
a(target='_blank', href='/static/community-guidelines')=env.t('communityGuidelines')
|
||||
tr
|
||||
td
|
||||
a(target='_blank', href='http://habitrpg.wikia.com/wiki/Board:The_Archery_-_LFG')=env.t('lfgPosts')
|
||||
|
|
@ -123,11 +126,9 @@
|
|||
!=env.t('legSeventh')
|
||||
tr
|
||||
td
|
||||
a.label.label-contributor-7(ng-click='toggleUserTier($event)')=env.t('moderator') + ' (' + env.t('guardian') + ')'
|
||||
// FOR NEW MOD LEVEL: line above will change from -7 to -8
|
||||
a.label.label-contributor-8(ng-click='toggleUserTier($event)')=env.t('moderator') + ' (' + env.t('guardian') + ')'
|
||||
div
|
||||
p=env.t('guardianText')
|
||||
// FOR NEW MOD LEVEL: edit guardianText to remove this: "Not all Tier 7 contributors are moderators. All current moderators are listed below the Tavern chat box."
|
||||
tr
|
||||
td
|
||||
a.label.label-contributor-9(ng-click='toggleUserTier($event)')=env.t('staff') + ' (' + env.t('heroic') + ')'
|
||||
|
|
@ -145,6 +146,19 @@
|
|||
h3=env.t('tavernTalk')
|
||||
include ./chat-box
|
||||
.alert.alert-info.alert-sm
|
||||
!= ' ' + env.t('tavernAlert1') + ' <a href="https://github.com/HabitRPG/habitrpg/issues/2760" target="_blank">' + env.t('tavernAlert2') + '</a>.<br />' + env.t('moderatorIntro1') + env.mods + env.t('moderatorIntro2')
|
||||
!= ' ' + env.t('tavernAlert1') + ' <a href="https://github.com/HabitRPG/habitrpg/issues/2760" target="_blank">' + env.t('tavernAlert2') + '</a>.<br />' + env.t('moderatorIntro1')
|
||||
span(ng-repeat='mod in env.mods')
|
||||
|
|
||||
span(ng-if='mod.contributor.admin',popover=env.t('gamemaster'),popover-trigger='mouseenter',popover-placement='right')
|
||||
a.label.label-default(ng-class='userLevelStyle(mod)', ng-click='clickMember(mod._id, true)')
|
||||
{{mod.profile.name}}
|
||||
span(ng-class='userAdminGlyphiconStyle(mod)')
|
||||
p
|
||||
=env.t('communityGuidelinesRead1')
|
||||
|
|
||||
a(target='_blank', href='/static/community-guidelines')=env.t('communityGuidelines')
|
||||
|
|
||||
=env.t('communityGuidelinesRead2')
|
||||
|
||||
ul.list-unstyled.tavern-chat
|
||||
include ./chat-message
|
||||
|
|
|
|||
|
|
@ -38,6 +38,8 @@ footer.footer(ng-controller='FooterCtrl')
|
|||
.col-sm-3
|
||||
h4=env.t('footerCommunity')
|
||||
ul.list-unstyled
|
||||
li
|
||||
a(target='_blank', href='/static/community-guidelines')=env.t('communityGuidelines')
|
||||
li
|
||||
a(target='_blank', href='https://github.com/HabitRPG/habitrpg/issues/2760')=env.t('communityBug')
|
||||
li
|
||||
|
|
|
|||
|
|
@ -9,4 +9,4 @@ include ./drops
|
|||
include ./classes
|
||||
include ./quests
|
||||
include ./rebirth
|
||||
include ./limited
|
||||
include ./limited
|
||||
|
|
|
|||
509
views/static/community-guidelines.jade
Normal file
|
|
@ -0,0 +1,509 @@
|
|||
extends ./layout
|
||||
|
||||
block extraHead
|
||||
style.
|
||||
.pull-left { margin-right: 20px }
|
||||
.peopleList { list-style-type: none }
|
||||
.listColumns2 {
|
||||
width: 50%;
|
||||
columns: 2;
|
||||
-moz-columns: 2;
|
||||
-webkit-columns: 2;
|
||||
// 2-column list: Allow a single ul/ol list to split into two columns.
|
||||
// (Will not work in IE. Not important enough to make a workaround.)
|
||||
}
|
||||
|
||||
block vars
|
||||
- var layoutEnv = env
|
||||
|
||||
block title
|
||||
title HabitRPG |
|
||||
=env.t('communityGuidelines')
|
||||
|
||||
block content
|
||||
.row
|
||||
.col-md-12
|
||||
.page-header
|
||||
h1=env.t('communityGuidelines')
|
||||
p.pagemeta
|
||||
|Last updated
|
||||
=env.t('September')
|
||||
| 14, 2014
|
||||
h2=env.t('commGuideHeadingWelcome')
|
||||
div(class='clearfix')
|
||||
img(class='pull-left', src='/community-guidelines-images/intro.png', alt='')
|
||||
p=env.t('commGuidePara001')
|
||||
p=env.t('commGuidePara002')
|
||||
p=env.t('commGuidePara003')
|
||||
p=env.t('commGuidePara004')
|
||||
h2=env.t('commGuideHeadingBeing')
|
||||
p=env.t('commGuidePara005')
|
||||
|
||||
div(class='clearfix')
|
||||
img(class='pull-right', src='/community-guidelines-images/beingHabitican.png', alt='')
|
||||
ul
|
||||
li
|
||||
strong=env.t('commGuideList01A')
|
||||
|
|
||||
=env.t('commGuideList01Apart2')
|
||||
li
|
||||
strong=env.t('commGuideList01B')
|
||||
|
|
||||
=env.t('commGuideList01Bpart2')
|
||||
li
|
||||
strong=env.t('commGuideList01C')
|
||||
|
|
||||
=env.t('commGuideList01Cpart2')
|
||||
li
|
||||
strong=env.t('commGuideList01D')
|
||||
|
|
||||
=env.t('commGuideList01Dpart2')
|
||||
|
||||
h2=env.t('commGuideHeadingMeet')
|
||||
p=env.t('commGuidePara006')
|
||||
p
|
||||
strong=env.t('commGuidePara007')
|
||||
p
|
||||
strong=env.t('commGuidePara008')
|
||||
p
|
||||
strong=env.t('commGuidePara009')
|
||||
div(class='clearfix')
|
||||
img(class='pull-left', src='/community-guidelines-images/staff.png', alt='')
|
||||
ul(class='pull-left list-unstyled')
|
||||
li
|
||||
strong Lefnire (Tyler Renelle)
|
||||
li
|
||||
strong redphoenix (caffeinatedvee
|
||||
=env.t('commGuidePara009a')
|
||||
|, veeeeeee
|
||||
=env.t('commGuidePara009b')
|
||||
|) (Vicky Hsu)
|
||||
li
|
||||
strong Lemoness (Siena Leslie)
|
||||
li
|
||||
strong SabreCat (Sabe)
|
||||
li
|
||||
strong paglias (Matteo)
|
||||
|
||||
p=env.t('commGuidePara010')
|
||||
p
|
||||
strong=env.t('commGuidePara011')
|
||||
div(class='clearfix')
|
||||
img(class='pull-left', src='/community-guidelines-images/moderators.png', alt='')
|
||||
ul(class='pull-left list-unstyled')
|
||||
li
|
||||
strong Bailey (It's Bailey
|
||||
=env.t('commGuidePara011a')
|
||||
|)
|
||||
li
|
||||
strong Ryan (deilann
|
||||
=env.t('commGuidePara011b')
|
||||
|)
|
||||
li
|
||||
strong Alys (LadyAlys
|
||||
=env.t('commGuidePara011c')
|
||||
|)
|
||||
li
|
||||
strong Breadstrings
|
||||
li
|
||||
strong Megan
|
||||
li
|
||||
strong Daniel the Bard
|
||||
|
||||
p=env.t('commGuidePara012')
|
||||
| (
|
||||
a(href='mailto:leslie@habitrpg.com') leslie@habitrpg.com
|
||||
|).
|
||||
|
||||
p=env.t('commGuidePara013')
|
||||
p=env.t('commGuidePara014')
|
||||
|
|
||||
em Slappybag, litenull, Shaner, Bobbyroberts99, wc8
|
||||
h2=env.t('commGuideHeadingPublicSpaces')
|
||||
div(class='clearfix')
|
||||
img(class='pull-right', src='/community-guidelines-images/publicSpaces.png', alt='')
|
||||
p=env.t('commGuidePara015')
|
||||
p=env.t('commGuidePara016')
|
||||
p
|
||||
strong=env.t('commGuidePara017')
|
||||
|
|
||||
=env.t('commGuidePara017part2')
|
||||
ul
|
||||
li
|
||||
strong=env.t('commGuideList02A')
|
||||
li
|
||||
strong=env.t('commGuideList02B')
|
||||
|
|
||||
=env.t('commGuideList02Bpart2')
|
||||
li
|
||||
strong=env.t('commGuideList02C')
|
||||
|
|
||||
=env.t('commGuideList02Cpart2')
|
||||
li
|
||||
strong=env.t('commGuideList02D')
|
||||
|
|
||||
=env.t('commGuideList02Dpart2')
|
||||
li
|
||||
strong=env.t('commGuideList02E')
|
||||
|
|
||||
=env.t('commGuideList02Epart2')
|
||||
li
|
||||
strong=env.t('commGuideList02F')
|
||||
|
|
||||
=env.t('commGuideList02Fpart2')
|
||||
li
|
||||
strong=env.t('commGuideList02G')
|
||||
|
|
||||
=env.t('commGuideList02Gpart2')
|
||||
li
|
||||
strong=env.t('commGuideList02H')
|
||||
|
|
||||
=env.t('commGuideList02Hpart2')
|
||||
|
|
||||
a(href='mailto:mods@habitrpg.com') mods@habitrpg.com
|
||||
|
|
||||
=env.t('commGuideList02Hpart3')
|
||||
p
|
||||
strong=env.t('commGuidePara019')
|
||||
|
|
||||
=env.t('commGuidePara019part2')
|
||||
p=env.t('commGuidePara021')
|
||||
|
||||
h3=env.t('commGuideHeadingTavern')
|
||||
div(class='clearfix')
|
||||
img(class='pull-left', src='/community-guidelines-images/tavern.png', alt='')
|
||||
p=env.t('commGuidePara022')
|
||||
p
|
||||
strong=env.t('commGuidePara023')
|
||||
p=env.t('commGuidePara024')
|
||||
|
|
||||
strong=env.t('commGuidePara024part2')
|
||||
|
|
||||
=env.t('commGuidePara024part3')
|
||||
p
|
||||
strong=env.t('commGuidePara027')
|
||||
|
|
||||
=env.t('commGuidePara027part2')
|
||||
|
||||
h3=env.t('commGuideHeadingPublicGuilds')
|
||||
div(class='clearfix')
|
||||
img(class='pull-right', src='/community-guidelines-images/publicGuilds.png', alt='')
|
||||
p
|
||||
strong=env.t('commGuidePara029')
|
||||
|
|
||||
=env.t('commGuidePara029part2')
|
||||
|
|
||||
strong=env.t('commGuidePara029part3')
|
||||
p
|
||||
strong=env.t('commGuidePara031')
|
||||
|
|
||||
=env.t('commGuidePara031part2')
|
||||
p
|
||||
strong=env.t('commGuidePara033')
|
||||
|
|
||||
=env.t('commGuidePara033part2')
|
||||
|
|
||||
a(href='mailto:mods@habitrpg.com') mods@habitrpg.com
|
||||
|
|
||||
=env.t('commGuidePara033part3')
|
||||
p
|
||||
strong=env.t('commGuidePara035')
|
||||
|
|
||||
=env.t('commGuidePara035part2')
|
||||
p
|
||||
strong=env.t('commGuidePara037')
|
||||
|
||||
h3=env.t('commGuideHeadingBackCorner')
|
||||
div(class='clearfix')
|
||||
img(class='pull-left', src='/community-guidelines-images/backCorner.png', alt='')
|
||||
p
|
||||
strong=env.t('commGuidePara038')
|
||||
|
|
||||
=env.t('commGuidePara038part2')
|
||||
p=env.t('commGuidePara039')
|
||||
|
|
||||
strong=env.t('commGuidePara039part2')
|
||||
|
|
||||
=env.t('commGuidePara039part3')
|
||||
|
||||
h3=env.t('commGuideHeadingTrello')
|
||||
div(class='clearfix')
|
||||
img(class='pull-right', src='/community-guidelines-images/trello.png', alt='')
|
||||
p
|
||||
strong=env.t('commGuidePara040')
|
||||
|
|
||||
=env.t('commGuidePara040part2')
|
||||
|
|
||||
strong=env.t('commGuidePara040part3')
|
||||
|
|
||||
=env.t('commGuidePara040part4')
|
||||
p
|
||||
strong=env.t('commGuidePara041')
|
||||
ul
|
||||
li=env.t('The')
|
||||
|
|
||||
strong=env.t('commGuideList03A')
|
||||
|
|
||||
=env.t('commGuideList03Apart2')
|
||||
li=env.t('The')
|
||||
|
|
||||
strong=env.t('commGuideList03B')
|
||||
|
|
||||
=env.t('commGuideList03Bpart2')
|
||||
li=env.t('The')
|
||||
|
|
||||
strong=env.t('commGuideList03C')
|
||||
|
|
||||
=env.t('commGuideList03Cpart2')
|
||||
li=env.t('The')
|
||||
|
|
||||
strong=env.t('commGuideList03D')
|
||||
|
|
||||
=env.t('commGuideList03Dpart2')
|
||||
li=env.t('The')
|
||||
|
|
||||
strong=env.t('commGuideList03E')
|
||||
|
|
||||
=env.t('commGuideList03Epart2')
|
||||
p
|
||||
strong=env.t('commGuidePara042')
|
||||
|
|
||||
=env.t('commGuidePara042part2')
|
||||
|
||||
h3=env.t('commGuideHeadingGitHub')
|
||||
div(class='clearfix')
|
||||
img(class='pull-left', src='/community-guidelines-images/github.gif', alt='')
|
||||
p
|
||||
strong=env.t('commGuidePara043')
|
||||
|
|
||||
=env.t('commGuidePara043part2')
|
||||
|
|
||||
strong=env.t('commGuidePara043part3')
|
||||
|
|
||||
=env.t('commGuidePara043part4')
|
||||
p
|
||||
strong=env.t('commGuidePara044')
|
||||
ul(class='listColumns2 peopleList')
|
||||
li lefnire (Tyler)
|
||||
li Alys
|
||||
li benmanley (Pixel)
|
||||
li colegleason (Cole)
|
||||
li deilann (Ryan)
|
||||
li djuretic
|
||||
li Fandekasp
|
||||
li Lemoness
|
||||
li litenull
|
||||
li paglias
|
||||
li SabreCat
|
||||
li Sinza-
|
||||
li snicker
|
||||
li thepeopleseason
|
||||
li wc8
|
||||
li zakkain
|
||||
|
||||
h3=env.t('commGuideHeadingWiki')
|
||||
div(class='clearfix')
|
||||
img(class='pull-right', src='/community-guidelines-images/wiki.png', alt='')
|
||||
p
|
||||
strong=env.t('commGuidePara045')
|
||||
|
|
||||
=env.t('commGuidePara045part2')
|
||||
p=env.t('commGuidePara046')
|
||||
p
|
||||
strong=env.t('commGuidePara047')
|
||||
p=env.t('commGuidePara048')
|
||||
ul
|
||||
li=env.t('commGuideList04A')
|
||||
li=env.t('commGuideList04B')
|
||||
li=env.t('commGuideList04C')
|
||||
li=env.t('commGuideList04D')
|
||||
li=env.t('commGuideList04E')
|
||||
li=env.t('commGuideList04F')
|
||||
li=env.t('commGuideList04G')
|
||||
li=env.t('commGuideList04H')
|
||||
p
|
||||
strong=env.t('commGuidePara049')
|
||||
ul(class='peopleList')
|
||||
li Breadstrings (bureaucrat)
|
||||
li JiggerD
|
||||
li LadyAlys
|
||||
li LadyKatFrog
|
||||
li Lefnire (bureaucrat)
|
||||
p=env.t('commGuidePara018')
|
||||
|:
|
||||
em Bobbyroberts99 (founder and bureaucrat), wc8 (bureaucrat)
|
||||
|
||||
h2=env.t('commGuideHeadingInfractionsEtc')
|
||||
h3=env.t('commGuideHeadingInfractions')
|
||||
div(class='clearfix')
|
||||
img(class='pull-left', src='/community-guidelines-images/infractions.png', alt='')
|
||||
p=env.t('commGuidePara050')
|
||||
p
|
||||
strong=env.t('commGuidePara051')
|
||||
|
|
||||
=env.t('commGuidePara051part2')
|
||||
h4=env.t('commGuideHeadingSevereInfractions')
|
||||
p=env.t('commGuidePara052')
|
||||
p=env.t('commGuidePara053')
|
||||
ul
|
||||
li=env.t('commGuideList05A')
|
||||
li=env.t('commGuideList05B')
|
||||
li=env.t('commGuideList05C')
|
||||
li=env.t('commGuideList05D')
|
||||
li=env.t('commGuideList05E')
|
||||
h4=env.t('commGuideHeadingModerateInfractions')
|
||||
p=env.t('commGuidePara054')
|
||||
p=env.t('commGuidePara055')
|
||||
ul
|
||||
li=env.t('commGuideList06A')
|
||||
| (
|
||||
a(href='mailto:leslie@habitrpg.com') leslie@habitrpg.com
|
||||
|).
|
||||
li=env.t('commGuideList06B')
|
||||
li=env.t('commGuideList06C')
|
||||
li=env.t('commGuideList06D')
|
||||
h4=env.t('commGuideHeadingMinorInfractions')
|
||||
p=env.t('commGuidePara056')
|
||||
p=env.t('commGuidePara057')
|
||||
ul
|
||||
li=env.t('commGuideList07A')
|
||||
li=env.t('commGuideList07B')
|
||||
|
||||
h3=env.t('commGuideHeadingConsequences')
|
||||
div(class='clearfix')
|
||||
img(class='pull-right', src='/community-guidelines-images/consequences.png', alt='')
|
||||
p=env.t('commGuidePara058')
|
||||
p
|
||||
strong=env.t('commGuidePara059')
|
||||
|
|
||||
=env.t('commGuidePara059part2')
|
||||
p
|
||||
strong=env.t('commGuidePara060')
|
||||
ul
|
||||
li=env.t('commGuideList08A')
|
||||
li=env.t('commGuideList08B')
|
||||
li=env.t('commGuideList08C')
|
||||
h4=env.t('commGuideHeadingSevereConsequences')
|
||||
ul
|
||||
li=env.t('commGuideList09A')
|
||||
li=env.t('commGuideList09B')
|
||||
li=env.t('commGuideList09C')
|
||||
h4=env.t('commGuideHeadingModerateConsequences')
|
||||
ul
|
||||
li=env.t('commGuideList10A')
|
||||
li=env.t('commGuideList10B')
|
||||
li=env.t('commGuideList10C')
|
||||
li=env.t('commGuideList10D')
|
||||
li=env.t('commGuideList10E')
|
||||
li=env.t('commGuideList10F')
|
||||
h4=env.t('commGuideHeadingMinorConsequences')
|
||||
ul
|
||||
li=env.t('commGuideList11A')
|
||||
li=env.t('commGuideList11B')
|
||||
li=env.t('commGuideList11C')
|
||||
li=env.t('commGuideList11D')
|
||||
li=env.t('commGuideList11E')
|
||||
|
||||
h3=env.t('commGuideHeadingRestoration')
|
||||
div(class='clearfix')
|
||||
img(class='pull-left', src='/community-guidelines-images/restoration.png', alt='')
|
||||
p=env.t('commGuidePara061')
|
||||
|
|
||||
strong=env.t('commGuidePara061part2')
|
||||
p=env.t('commGuidePara062')
|
||||
|
|
||||
strong=env.t('commGuidePara062part2')
|
||||
p
|
||||
strong=env.t('commGuidePara063')
|
||||
|
|
||||
=env.t('commGuidePara063part2')
|
||||
|
||||
h2=env.t('commGuideHeadingContributing')
|
||||
div(class='clearfix')
|
||||
img(class='pull-right', src='/community-guidelines-images/contributing.png', alt='')
|
||||
p=env.t('commGuidePara064')
|
||||
ol
|
||||
li=env.t('commGuideList12A')
|
||||
li=env.t('commGuideList12B')
|
||||
li=env.t('commGuideList12C')
|
||||
li=env.t('commGuideList12D')
|
||||
li=env.t('commGuideList12E')
|
||||
li=env.t('commGuideList12F')
|
||||
li=env.t('commGuideList12G')
|
||||
p=env.t('commGuidePara065')
|
||||
p=env.t('commGuidePara066')
|
||||
ul
|
||||
li
|
||||
strong=env.t('commGuideList13A')
|
||||
|
|
||||
=env.t('commGuideList13Apart2')
|
||||
li
|
||||
strong=env.t('commGuideList13B')
|
||||
|
|
||||
=env.t('commGuideList13Bpart2')
|
||||
li
|
||||
strong=env.t('commGuideList13C')
|
||||
|
|
||||
=env.t('commGuideList13Cpart2')
|
||||
li
|
||||
strong=env.t('commGuideList13D')
|
||||
|
|
||||
=env.t('commGuideList13Dpart2')
|
||||
|
||||
h2=env.t('commGuideHeadingFinal')
|
||||
p=env.t('commGuidePara067')
|
||||
| (
|
||||
a(href='mailto:leslie@habitrpg.com') leslie@habitrpg.com
|
||||
|)
|
||||
=env.t('commGuidePara067part2')
|
||||
p=env.t('commGuidePara068')
|
||||
|
||||
h2=env.t('commGuideHeadingLinks')
|
||||
ul
|
||||
li
|
||||
a(href='https://habitrpg.com/#/options/groups/guilds/5481ccf3-5d2d-48a9-a871-70a7380cee5a' target='_blank')=env.t('commGuideLink01')
|
||||
|:
|
||||
=env.t('commGuideLink01description')
|
||||
li
|
||||
a(href='https://habitrpg.com/#/options/groups/guilds/426c2c1a-eed0-4997-9b73-d30fc1397688' target='_blank')=env.t('commGuideLink02')
|
||||
|:
|
||||
=env.t('commGuideLink02description')
|
||||
li
|
||||
a(href='http://habitrpg.wikia.com/wiki/HabitRPG_Wiki' target='_blank')=env.t('commGuideLink03')
|
||||
|:
|
||||
=env.t('commGuideLink03description')
|
||||
li
|
||||
a(href='https://github.com/HabitRPG/habitrpg' target='_blank')=env.t('commGuideLink04')
|
||||
|:
|
||||
=env.t('commGuideLink04description')
|
||||
li
|
||||
a(href='https://trello.com/b/EpoYEYod/habitrpg' target='_blank')=env.t('commGuideLink05')
|
||||
|:
|
||||
=env.t('commGuideLink05description')
|
||||
li
|
||||
a(href='https://trello.com/b/mXK3Eavg/habitrpg-mobile' target='_blank')=env.t('commGuideLink06')
|
||||
|:
|
||||
=env.t('commGuideLink06description')
|
||||
li
|
||||
a(href='https://trello.com/b/vwuE9fbO/habitrpg-pixel-art' target='_blank')=env.t('commGuideLink07')
|
||||
|:
|
||||
=env.t('commGuideLink07description')
|
||||
li
|
||||
a(href='https://trello.com/b/nnv4QIRX/habitrpg-quests' target='_blank')=env.t('commGuideLink08')
|
||||
|:
|
||||
=env.t('commGuideLink08description')
|
||||
|
||||
p
|
||||
strong=env.t('commGuidePara069')
|
||||
ul(class='listColumns2 peopleList')
|
||||
li Breadstrings
|
||||
li Draayder
|
||||
li Kiwibot
|
||||
li Leephon
|
||||
li Lemoness
|
||||
li Luciferian
|
||||
li Revcleo
|
||||
li Shaner
|
||||
li Starsystemic
|
||||
li UncommonCriminal
|
||||
|
||||
|
|
@ -4,6 +4,7 @@ doctype html
|
|||
html(ng-app='habitrpgStatic')
|
||||
|
||||
head
|
||||
block extraHead
|
||||
block title
|
||||
title=env.t('titleIndex')
|
||||
|
||||
|
|
|
|||