Merge pull request #319 from mDuo13/doc1308_2

Update dev portal styles and page categories
This commit is contained in:
Rome Reginelli
2018-03-07 16:53:00 -08:00
committed by GitHub
28 changed files with 2142 additions and 997 deletions

View File

@@ -10,11 +10,8 @@
display:table-cell;
}
#command_list {
display:table-cell;
list-style-type:none;
padding:36px 0 0 0;
margin:0;
height:100%;
padding:0 0 0 0;
}
aside.sidebar {
@@ -40,37 +37,6 @@ aside.sidebar {
font-weight: bold;
margin-top: 10px;
}
#command_table {
height:100%;
}
#io_wrapper {
float:right;
display:table;
height:500px;
padding:0;
table-layout:fixed;
border-spacing:24px 0;
width:96%;
height: 100%;
margin-top: 30px;
}
#io_wrapper > div {
width:100%;
margin:0;
padding:0;
}
#response, #response_body {
min-height:100px;
border-top-left-radius:0px !important;
border-top-right-radius:0px !important;
}
#input {
width: 30%;
}
#output {
width: 60%;
}
h3 {
margin:16px 0;
font-family:'open sans';
@@ -149,7 +115,6 @@ h3 {
cursor:pointer;
}
#online_state {
position:absolute;
top:10px;
line-height:30px;
font-size:14px;
@@ -378,8 +343,7 @@ span.cm-atom {
margin: 0 !important;
}
#rest_url div label,
#rest_url div label,
#rest_url div input {
display: block;
}

View File

@@ -1,3 +1,7 @@
.no-sidebar aside.sidebar {
display: none;
}
.devportal-callout {
border-style: solid;
border-radius: 5px;
@@ -65,14 +69,18 @@
.draft-warning {
background-color: red;
color: white;
padding: 10px 20px;
padding: 2px 6px;
margin: 10px;
float: right;
position: absolute;
top: 34px;
left: calc(calc(calc(100% - 1070px) / 2) + 90px);
font-size: 12px;
font-weight: bold;
}
/* Images should occupy the full main column width if possible */
.page-template-template-dev-portal-php .content img {
width: 100%;
/* Images should not exceed the main column */
.content img {
max-width: 100%;
height: auto;
}
@@ -81,24 +89,54 @@
width: initial;
}
/* dev portal content h5 should stand out from paragraph text */
.content h5 {
font-weight: bold;
.no-1st-head h1:first-child,
.no-1st-head h2:first-child,
.no-1st-head h3:first-child,
.no-1st-head h4:first-child,
.no-1st-head h5:first-child,
.no-1st-head h6:first-child {
display: none;
}
.content p {
line-height: 1.8;
}
/* Underline links in Dev Portal content */
.page-template-template-dev-portal-php .main a {
text-decoration: underline !important;
.content h1 {
margin-top: 32px;
line-height: 1.2;
}
.content h2 {
margin-top: 28px;
line-height: 1.2;
}
.content h3 {
margin-top: 24px;
line-height: 1.2;
}
.content h4 {
margin-top: 20px;
line-height: 1.2;
}
.content h5 {
margin-top: 16px;
line-height: 1.2;
font-weight: bold;
}
.content h6 {
margin-top: 12px
line-height: 1.2;
font-weight: bold;
}
/* "Button-style" links should look like buttons, not links */
.page-template-template-dev-portal-php a.button {
a.button {
cursor: pointer;
text-decoration: none !important;
}
/* Code Tabs stuff */
.page-template-template-dev-portal-php .multicode {
.multicode {
color: #000;
margin: 12px 0px 0px 0px;
padding: 0 0 0 0;
@@ -106,15 +144,15 @@
padding-left: 10px;
position: relative;
}
.page-template-template-dev-portal-php .multicode ul {
.multicode ul {
margin: 0 !important;
padding: 0;
}
.page-template-template-dev-portal-php .multicode pre {
.multicode pre {
padding-top: 0;
clear: both;
}
.page-template-template-dev-portal-php .multicode li {
.multicode li {
display: block;
float: left;
overflow: hidden;
@@ -122,12 +160,12 @@
margin-right: 5px;
border-top: 1px solid #DBDDE2;
}
.page-template-template-dev-portal-php .multicode ul > li:before {
.multicode ul > li:before {
background: none;
border: none;
}
.page-template-template-dev-portal-php .multicode a,
.page-template-template-dev-portal-php a.current {
.multicode a,
a.current {
color: black;
background: #DFE2E7;
border: 1px solid #DBDDE2;
@@ -135,18 +173,18 @@
margin: 0px;
text-decoration: none;
}
.page-template-template-dev-portal-php .multicode a.current {
.multicode a.current {
background: #fff;
border-bottom: 1px solid #fff;
color: black;
}
.page-template-template-dev-portal-php .multicode a:hover {
.multicode a:hover {
color: black;
background: white;
}
/* End of code tabs stuff */
.page-template-template-dev-portal-php .button {
.button {
border-radius: 5px;
background-color: #27a2db;
padding: 5px 20px;
@@ -164,297 +202,129 @@
-webkit-transition: .5s;
transition: .5s;
}
.page-template-template-dev-portal-php .button:hover {
.button:hover {
background-color: #43bded;
-o-transition: .5s;
-webkit-transition: .5s;
transition: .5s;
}
.page-template-template-dev-portal-php pre {
pre {
overflow: visible;
word-wrap: normal;
}
.page-template-template-dev-portal-php pre code {
pre code {
white-space: pre;
}
.page-template-template-dev-portal-php .code_sample pre {
.code_sample pre {
background: none;
border: none;
border-radius: 0;
}
.page-template-template-dev-portal-php .code_sample pre code {
.code_sample pre code {
overflow: auto;
max-height: 14em;
background-color: #f5f5f5;
border: 1px solid #cccccc;
border-radius: 4px;
}
.page-template-template-dev-portal-php .code_sample pre code.expanded {
.code_sample pre code.expanded {
overflow: visible;
max-height: none;
position: absolute;
min-width: 661px;
}
.page-template-template-dev-portal-php .code_sample .code_toggler {
.code_sample .code_toggler {
position: absolute;
bottom: 0;
right: 0;
}
.page-template-template-dev-portal-php .navbar-default {
border-bottom: none;
.xrp-ledger-dev-portal.sidebar-primary .sidebar {
padding-right: 0;
padding-left: 0;
}
.page-template-template-dev-portal-php .wrap.container {
margin-top: 110px;
}
.page-template-template-dev-portal-php .main {
.xrp-ledger-dev-portal.sidebar-primary .main {
z-index: 5;
border-left: 1px solid #cccccc;
padding-left: 40px;
}
.page-template-template-dev-portal-php .content {
.content {
padding-bottom: 50px;
}
.page-template-template-dev-portal-php .level-1 {
margin: 10px 0 3px 0;
text-transform: uppercase;
#dactyl_toc_sidebar a {
text-decoration: none;
}
.page-template-template-dev-portal-php .level-1 a {
color: #000000;
font-family: 'open_sansbold', sans-serif;
letter-spacing: .04em;
#dactyl_toc_sidebar a:hover {
text-decoration: underline;
}
.page-template-template-dev-portal-php .level-2 {
margin-left: 2em;
.level-1 {
margin-top: 15px;
padding-left: 15px;
font-weight: bold;
}
.page-template-template-dev-portal-php .level-3 {
margin-left: 4em;
.level-1:first-child {
margin-top: 0;
}
.page-template-template-dev-portal-php .level-3 a {
color: #999999;
.level-2 {
padding-left: 30px;
}
.page-template-template-dev-portal-php .level-3 a:hover {
color: #666;
.level-3 {
padding-left: 45px;
}
.page-template-template-dev-portal-php .dev_nav_sidebar {
padding-left: 5px;
.level-3 a {
color: #888;
}
.level-3 a:hover {
color: #333;
}
.dev_nav_sidebar {
padding-left: 10px;
padding-top: 0;
list-style-type: none;
max-width: 370px;
margin-bottom: 0;
}
.page-template-template-dev-portal-php .dev_nav_wrapper {
.dev_nav_sidebar li:before {
content: "\f105"; /* fontawesome angle-right */
font-family: FontAwesome;
position: relative;
left: -15px;
margin-right: -5px;
}
.dev_nav_wrapper {
position: fixed;
width: 100%;
overflow-y: scroll;
top: 130px;
}
.page-template-template-dev-portal-php td {
td {
border: 1px solid #dbdde2;
padding: 0.2em;
vertical-align: text-top;
}
.page-template-template-dev-portal-php th {
th {
padding: 0.2em;
}
.page-template-template-dev-portal-php .content a[title="Source"] {
.content a[title="Source"] {
float: right;
padding-left: 20px;
}
.page-template-template-dev-portal-php .content table {
.content table {
clear: right;
}
.page-template-template-dev-portal-php h1:before,
.page-template-template-dev-portal-php h2:before,
.page-template-template-dev-portal-php h3:before {
.main h1:before,
.main h2:before,
.main h3:before,
.main h4:before,
.main h5:before,
.main h6:before,
#main_content_wrapper:before {
display: block;
content: " ";
margin-top: -130px;
height: 130px;
margin-top: -67px;
height: 67px;
visibility: hidden;
}
@media (max-width: 1200px) {
.page-template-template-dev-portal-php .dev_nav_wrapper {
max-width: 290px;
}
}
@media (max-width: 992px) {
.page-template-template-dev-portal-php .dev_nav_wrapper {
max-width: 230px;
}
}
@media (max-width: 768px) {
.page-template-template-dev-portal-php .dev_nav_wrapper,
.page-template-template-dev-portal-php .sidebar {
display: block;
clear: both;
overflow-y: inherit;
position: static;
max-width: 100%;
}
.page-template-template-dev-portal-php .main {
position: static;
clear: both;
border-left: none;
padding-left: 0px;
overflow-wrap: break-word;
word-wrap: break-word;
overflow: hidden;
}
}
@media (min-width: 768px) {
.page-template-template-dev-portal-php .main {
float: right;
}
}
@media (max-width: 480px) {
.page-template-template-dev-portal-php html {
overflow-x: hidden !important;
}
}
@media print {
.page-template-template-dev-portal-php {
/* undo code tabs */
/* wrap code, not scroll */
/* Source URLs are too big to float */
/* Show URLs after links - even for anchors */
/* Drop header, footer, google translate */
/* table of contents can't scroll */
/* better margins on main content */
/* crazy print-section-numbering idea */
}
.page-template-template-dev-portal-php .multicode > div {
display: block !important;
}
.page-template-template-dev-portal-php .multicode > ul {
display: none !important;
}
.page-template-template-dev-portal-php .multicode > em,
.page-template-template-dev-portal-php .multicode > p > em {
display: block !important;
page-break-after: avoid;
}
.page-template-template-dev-portal-php .multicode > p {
display: block !important;
}
.page-template-template-dev-portal-php pre {
white-space: pre-wrap;
max-height: none !important;
overflow: visible;
page-break-inside: auto;
word-wrap: break-word;
}
.page-template-template-dev-portal-php pre code {
white-space: pre-wrap !important;
}
.page-template-template-dev-portal-php .content a[title="Source"] {
float: none;
}
.page-template-template-dev-portal-php .main a:after {
content: " (" attr(href) ")";
}
.page-template-template-dev-portal-php header,
.page-template-template-dev-portal-php footer {
display: none;
}
.page-template-template-dev-portal-php #goog-gt-tt {
display: none;
}
.page-template-template-dev-portal-php .wrap.container {
margin-top: 0 !important;
}
.page-template-template-dev-portal-php .dev_nav_wrapper {
position: static !important;
}
.page-template-template-dev-portal-php .sidebar:before {
display: none !important;
}
.page-template-template-dev-portal-php .sidebar {
padding-top: 0 !important;
display: block !important;
float: none !important;
}
.page-template-template-dev-portal-php h1 {
page-break-before: always;
}
.page-template-template-dev-portal-php .main {
float: none !important;
width: 85% !important;
border-left: 0 !important;
padding: 0 !important;
margin: 0 !important;
display: block !important;
overflow: visible !important;
}
.page-template-template-dev-portal-php .main {
counter-reset: level1;
counter-reset: level2;
counter-reset: level3;
}
.page-template-template-dev-portal-php .main h1 {
counter-increment: level1;
counter-reset: level2;
}
.page-template-template-dev-portal-php .main h1:before {
content: counter(level1) ". " !important;
display: inline !important;
background: none !important;
position: static !important;
box-shadow: none !important;
visibility: visible !important;
}
.page-template-template-dev-portal-php .main h2 {
counter-reset: level3;
}
.page-template-template-dev-portal-php .main h2:before {
counter-increment: level2;
content: counter(level1) "." counter(level2) ". " !important;
display: inline !important;
background: none !important;
position: static !important;
box-shadow: none !important;
visibility: visible !important;
}
.page-template-template-dev-portal-php .main h3:before {
counter-increment: level3;
content: counter(level1) "." counter(level2) "." counter(level3) ". " !important;
display: inline !important;
background: none !important;
position: static !important;
box-shadow: none !important;
visibility: visible !important;
}
.page-template-template-dev-portal-php .menubar,
.page-template-template-dev-portal-php .dev_nav_wrapper {
counter-reset: toclevel1;
}
.page-template-template-dev-portal-php .level-1 {
counter-reset: toclevel2;
}
.page-template-template-dev-portal-php .level-1:before {
counter-increment: toclevel1;
content: counters(toclevel1, ".") ". " !important;
display: inline !important;
background: none !important;
position: static !important;
box-shadow: none !important;
}
.page-template-template-dev-portal-php .level-2 {
counter-reset: toclevel3;
}
.page-template-template-dev-portal-php .level-2:before {
counter-increment: toclevel2;
content: counters(toclevel1, ".") "." counters(toclevel2, ".") ". " !important;
display: inline !important;
background: none !important;
position: static !important;
box-shadow: none !important;
}
.page-template-template-dev-portal-php .level-3:before {
counter-increment: toclevel3;
content: counters(toclevel1, ".") "." counters(toclevel2, ".") "." counters(toclevel3, ".") ". " !important;
display: inline !important;
background: none !important;
position: static !important;
box-shadow: none !important;
}
}
/*------------- Code Tabs -----------------------------------------*/
.multicode {
@@ -504,4 +374,482 @@
background: white;
}
.multicode a.current:hover {}
.navbar-default {
background-color: #fff;
border-bottom: 1px solid #27a2db;
}
.navbar-brand {
text-decoration: none;
white-space: pre;
}
.navbar-default .logo {
float: left;
margin-right: 0.5em;
}
.navbar-default .navbar-brand .brand-text {
font-family: open_sansbold, sans-serif;
font-weight: bold;
line-height: 36px;
margin-bottom: -5px;
margin-top: 20px;
}
.navbar-default .navbar-nav > li > a {
font-size: 14px;
line-height: 30px;
color: #777;
}
.navbar-default a.active {
color: #27a2db !important;
}
.wrap-container {
margin-top: 106px;
}
.no-sidebar main .container {
padding-left: 0;
}
#main_content_wrapper {
margin-top: 67px;
padding-left: 0;
padding-right: 0;
}
.jump-to-top {
display: none;
position: fixed;
bottom: 15px;
right: 30px;
background-color: #333;
font-weight: bolder;
z-index: 1000;
color: white;
}
@media screen and (max-width: 767px) {
.jump-to-top {
bottom: 40px;
right: 40px;
}
}
.breadcrumb {
margin: 0;
padding: 15px;
padding-left: 5px;
background: transparent;
float: left;
vertical-align: middle;
}
.breadcrumb li {
margin: 0;
margin-bottom: -4px;
line-height: 36px;
}
.breadcrumb > li + li:before {
content: "\f105"; /* fontawesome angle-right */
font-family: FontAwesome;
padding-right: 5px;
}
.breadcrumb > li.active {
color: #666;
}
/* "← Back to guide" link in sidebar */
.back_to_guide a {
display: block;
font-size: 14px;
padding: 27px 0 14px 15px;
color: #666;
border-bottom: 1px solid #eee;
}
.back_to_guide a:before {
content: "\f100"; /* fontawesome angle-double-left */
font-family: FontAwesome;
padding-right: 15px;
color: #666;
}
/* Accordion styling for sidebar navigation */
.sidebar_cat_pagelist {
margin-left: 0;
padding-left: 0;
list-style-type: none;
}
#sidenav_accordion a {
text-decoration: none;
}
#sidenav_accordion .panel-body a:hover {
text-decoration: underline;
}
#sidenav_accordion .panel + .panel {
margin: 0;
}
#sidenav_accordion .panel-default {
border-width: 0;
border-color: #eee;
}
#sidenav_accordion .panel-body {
padding: 0;
}
#sidenav_accordion .collapse {
padding-bottom: 0;
}
#sidenav_accordion .panel.active {
background-color: #f8f8f8;
}
#sidenav_accordion .panel:hover {
background-color: #f6f6f6;
}
#sidenav_accordion .panel-heading {
padding: 0;
background-color: transparent;
}
#sidenav_accordion .panel {
padding: 0;
border-radius: 0;
}
#sidenav_accordion .panel-heading h5 {
margin-bottom: 0;
text-transform: none;
}
#sidenav_accordion .panel-heading h5 a {
display: block;
padding: 16px 15px;
font-family: "open_sansregular", sans-serif;
color: #666;
}
#sidenav_accordion .panel-heading a:before {
content: "\f106"; /* fontawesome angle-up */
font-family: FontAwesome;
margin-left: -20px;
padding-right: 5px;
float: right;
}
#sidenav_accordion .panel-heading a.collapsed:before {
content: "\f107"; /* fontawesome angle-down */
}
#sidenav_accordion .panel .sidebar_cat_pagelist li a {
display: block;
margin-top: 5px;
padding: 4px 15px 4px 55px;
text-indent: -20px;
font-size: 14px;
color: #27a2db;
}
#sidenav_accordion .panel .sidebar_cat_pagelist a.active {
color: black;
font-weight: bold;
}
#sidenav_accordion .panel .sidebar_cat_pagelist a:hover {
color: #333;
}
/* Edit on GitHub link --------- */
.github-edit-wrap {
position: absolute;
right: 0;
background-image: linear-gradient(180deg, #fafafa 0%, #ddd 90%);
border: 1px solid #ccc;
border-radius: 5px;
margin: 15px;
}
.github-edit-wrap:hover {
border-color: #777;
}
.github-edit-wrap:active {
background-image: linear-gradient(180deg, #ddd 0%, #fafafa 90%);
}
.github-edit-wrap .github-edit {
/* background-color: black; */
background-image: url(../vendor/github-marks/GitHub-Mark-32px.png);
background-size: 24px 24px;
background-position: left 5px center;
background-repeat: no-repeat;
padding: 8px 8px 8px 34px;
color: #777;
text-decoration: none;
font-size: 13px;
display: block;
}
.portal-index ul {
border-top-left-radius: 5px;
border-top-right-radius: 5px;
padding: 0;
}
.portal-index li {
font-size: 14px;
list-style: outside none none;
padding: 5px;
padding-left: 25px;
text-indent: 20px;
}
.portal-index li.top {
text-indent: 0;
}
.portal-index .dev_heading {
font-family: "Open Sans",sans-serif;
letter-spacing: 0.04em;
font-weight: 600;
text-transform: uppercase;
text-decoration: none;
color: #202020;
}
.portal-index a.dev_heading:hover {
color: #27a2db;
text-decoration: underline;
}
.build-disclaimer {
font-size: 10pt;
margin: 2em 0;
padding-top: 2em;
border-top: 1px solid #777;
}
.related-projects {
position: absolute;
top: 70px;
right: 15px;
width: 375px;
border: 1px solid #777;
border-radius: 5px;
}
.related-projects a {
text-decoration: none;
}
.related-projects .project {
clear: left;
}
.related-projects h3 {
margin: 0;
padding: 5px 15px;
border-bottom: 1px dashed #777;
}
.related-projects .project-name {
font-family: open_sanslight, sans-serif;
font-size: 18px;
display: block;
}
.related-projects .login-required {
display: block;
font-size: 12px;
}
.related-projects p {
margin: 10px;
}
.related-projects .project-icon {
width: 120px;
float: left;
margin-right: 10px;
}
/* Responsive design for different viewscreens -------------------------------*/
@media (min-width: 1200px) {
#page-toc-wrapper {
float: right;
margin-left: 15px;
}
.draft-warning {
left: calc(calc(calc(100% - 1170px) / 2) + 140px);
}
}
@media (min-width: 1400px) {
.container {
margin-right: calc(calc(calc(100% - 1370px) / 2) + 195px);
}
#page-toc-wrapper {
position: fixed;
right: 10px;
top: 80px;
max-width: calc(75% - 970px);
max-height: calc(100% - 150px);
overflow-y: auto;
}
.draft-warning {
left: calc(calc(calc(100% - 1370px) / 2) + 140px);
}
}
@media (max-width: 1200px) {
#page-toc-wrapper {
float: right;
margin-left: 15px;
}
.dev_nav_wrapper {
max-width: 290px;
}
.draft-warning {
left: calc(calc(calc(100% - 870px) / 2) + 90px);
}
}
@media (max-width: 992px) {
#page-toc-wrapper {
position: static;
float: none;
max-width: none;
}
.dev_nav_wrapper {
max-width: 230px;
}
.draft-warning {
left: 140px;
}
/* Move "Related Projects" to bottom */
.related-projects {
position: static;
width: auto;
border: none;
margin-top: 0;
}
.related-projects .project-icon {
display: none;
}
.related-projects h3 {
padding: inherit;
border-bottom: none;
margin-top: 50px;
}
.related-projects .project-name,
.related-projects .login-required {
display: inline;
font-size: inherit;
}
.related-projects p {
margin-left: 25px;
}
.related-projects .project-summary {
padding-left: 20px;
}
}
@media (max-width: 768px) {
#main_content_wrapper {
margin-top: 0;
}
.navbar-fixed-top {
position: static;
margin-bottom: -70px;
}
.dev_nav_wrapper,
.sidebar {
display: block;
clear: both;
overflow-y: inherit;
position: static;
max-width: 100%;
}
.main {
overflow-wrap: break-word;
word-wrap: break-word;
overflow: hidden;
}
.github-edit-wrap {
display: none;
}
.nav {
min-width: 350px;
}
.nav .breadcrumb .crumb-top:before {
display: none;
}
}
@media (max-width: 480px) {
html {
overflow-x: hidden !important;
}
}
@media print {
{
/* undo code tabs */
/* wrap code, not scroll */
/* Source URLs are too big to float */
/* Show URLs after links - even for anchors */
/* Drop header, footer, google translate */
/* table of contents can't scroll */
/* better margins on main content */
/* crazy print-section-numbering idea */
}
.multicode > div {
display: block !important;
}
.multicode > ul {
display: none !important;
}
.multicode > em,
.multicode > p > em {
display: block !important;
page-break-after: avoid;
}
.multicode > p {
display: block !important;
}
pre {
white-space: pre-wrap;
max-height: none !important;
overflow: visible;
page-break-inside: auto;
word-wrap: break-word;
}
pre code {
white-space: pre-wrap !important;
}
.content a[title="Source"] {
float: none;
}
header,
footer {
display: none;
}
#goog-gt-tt {
display: none;
}
.dev_nav_wrapper {
position: static !important;
}
.sidebar:before {
display: none !important;
}
.sidebar {
padding-top: 0 !important;
display: block !important;
float: none !important;
}
h1 {
page-break-before: always;
}
.main {
float: none !important;
width: 85% !important;
border-left: 0 !important;
padding: 0 !important;
margin: 0 !important;
display: block !important;
overflow: visible !important;
}
}

View File

@@ -1,112 +0,0 @@
.page-template-template-dev-portal-php .main {
border-left: 0;
}
/************
jumbotron
*********** */
.jumbotron {
margin-top: 50px;
margin-bottom: 0;
}
.jumbotron p {
font-size: 14px;
font-weight: 400;
}
.main_callout {
padding-top:10px;
}
.join {
font-weight: 500 !important;
}
img.large_logo {
padding: 10px 20px 10px 10px;
width: 100%;
}
.jumbotron p.api_btn {
/* text-align: center;
padding: 20px;*/
}
.jumbotron h4 {
font-weight: 800;
}
@media (min-width: 992px) {
.jumbotron .col-md-6 {
padding-left: 60px;
}
}
/************
Main content
*********** */
.main_title {
font-size: 30px;
font-weight: 300;
margin-top:10px;
}
.description h2{
font-size: 24px;
font-weight: 600;
margin: 20px 0 15px 0;
}
.build-index .top {
background: #f4f6f7 none repeat scroll 0 0;
}
.build-index ul {
border-top-left-radius: 5px;
border-top-right-radius: 5px;
padding: 0;
}
.build-index ul li {
border: 1px solid #ccc;
border-top-width: 0;
font-size: 14px;
list-style: outside none none;
padding: 5px;
}
.build-index ul li.top {
border-top-width: 1px;
border-top-left-radius: 5px;
border-top-right-radius: 5px;
}
.build-index .dev_heading {
font-family: "Open Sans",sans-serif;
letter-spacing: 0.04em;
font-weight: 600;
text-transform: uppercase;
}
.last {
margin-bottom: 40px;
}
.description.highlight {
background: #f5f5f5;
padding-bottom: 15px;
margin: 22px 0;
}
@media (max-width: 992px) {
.description.highlight {
padding-top: 10px;
}
}

View File

@@ -14,10 +14,3 @@ a[href^="#"]:after {
background: transparent;
box-decoration-break: slice;
}
/* Disable header numbering */
.page-template-template-dev-portal.page-template-template-dev-portal-php h1:before,
.page-template-template-dev-portal.page-template-template-dev-portal-php h2:before,
.page-template-template-dev-portal.page-template-template-dev-portal-php h3:before {
content: none !important;
}

View File

@@ -286,13 +286,11 @@ textarea {
line-height: inherit;
}
a {
color: #346aa9;
text-decoration: none !important;
color: #27a2db;
}
a:hover,
a:focus {
color: #22456e;
text-decoration: underline;
}
a:focus {
outline: thin dotted;
@@ -529,7 +527,7 @@ mark,
color: #777777;
}
.text-primary {
color: #346aa9;
color: #27a2db;
}
a.text-primary:hover {
color: #285282;
@@ -560,7 +558,7 @@ a.text-danger:hover {
}
.bg-primary {
color: #fff;
background-color: #346aa9;
background-color: #27a2db;
}
a.bg-primary:hover {
background-color: #285282;
@@ -2184,7 +2182,7 @@ fieldset[disabled] .btn-default.active {
}
.btn-primary {
color: #ffffff;
background-color: #346aa9;
background-color: #27a2db;
border-color: #2e5e96;
}
.btn-primary:hover,
@@ -2216,11 +2214,11 @@ fieldset[disabled] .btn-primary:active,
.btn-primary.disabled.active,
.btn-primary[disabled].active,
fieldset[disabled] .btn-primary.active {
background-color: #346aa9;
background-color: #27a2db;
border-color: #2e5e96;
}
.btn-primary .badge {
color: #346aa9;
color: #27a2db;
background-color: #ffffff;
}
.btn-success {
@@ -2388,7 +2386,7 @@ fieldset[disabled] .btn-danger.active {
background-color: #ffffff;
}
.btn-link {
color: #346aa9;
color: #27a2db;
font-weight: normal;
cursor: pointer;
border-radius: 0;
@@ -2539,12 +2537,12 @@ tbody.collapse.in {
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
text-decoration: none;
color: #346aa9;
color: #27a2db;
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
color: #346aa9;
color: #27a2db;
text-decoration: none;
outline: 0;
}
@@ -2975,7 +2973,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
.nav .open > a:hover,
.nav .open > a:focus {
background-color: #eeeeee;
border-color: #346aa9;
border-color: #27a2db;
}
.nav .nav-divider {
height: 1px;
@@ -3068,7 +3066,7 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
color: #ffffff;
background-color: #346aa9;
background-color: #27a2db;
}
.nav-stacked > li {
float: none;
@@ -3191,7 +3189,6 @@ select[multiple].input-group-sm > .input-group-btn > .btn {
.container-fluid > .navbar-header,
.container > .navbar-collapse,
.container-fluid > .navbar-collapse {
margin-right: -15px;
margin-left: -15px;
}
@media (min-width: 992px) {
@@ -3482,7 +3479,7 @@ ul#menu-primary-navigation {
.home .navbar-default .navbar-nav > .active > a,
.home .navbar-default .navbar-nav > .active > a:hover,
.home .navbar-default .navbar-nav > .active > a:focus {
color: #346aa9;
color: #27a2db;
background-color: #ffffff;
}
.home .navbar-default .navbar-nav > .disabled > a,
@@ -3555,7 +3552,7 @@ fieldset[disabled] .home .navbar-default .btn-link:focus {
.navbar-default {
z-index: 99999;
background-color: #ffffff;
border-bottom: 1px solid #346aa9;
border-bottom: 1px solid #27a2db;
}
.navbar-default .navbar-brand {
color: #777777;
@@ -3573,13 +3570,13 @@ fieldset[disabled] .home .navbar-default .btn-link:focus {
}
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
color: #346aa9;
color: #27a2db;
background-color: transparent;
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
color: #346aa9;
color: #27a2db;
background-color: #ffffff;
}
.navbar-default .navbar-nav > .disabled > a,
@@ -3596,7 +3593,7 @@ fieldset[disabled] .home .navbar-default .btn-link:focus {
background-color: transparent;
}
.navbar-default .navbar-toggle .icon-bar {
background-color: #346aa9;
background-color: #27a2db;
}
.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
@@ -3652,7 +3649,7 @@ fieldset[disabled] .navbar-default .btn-link:focus {
.navbar-default.scrolled {
z-index: 99999;
background-color: #ffffff !important;
border-bottom: 1px solid #346aa9;
border-bottom: 1px solid #27a2db;
-o-transition: .3s;
-ms-transition: .3s;
-moz-transition: .3s;
@@ -3680,7 +3677,7 @@ fieldset[disabled] .navbar-default .btn-link:focus {
}
.navbar-default.scrolled .navbar-nav > li > a:hover,
.navbar-default.scrolled .navbar-nav > li > a:focus {
color: #346aa9;
color: #27a2db;
background-color: transparent;
-o-transition: 1s;
-ms-transition: 1s;
@@ -3691,7 +3688,7 @@ fieldset[disabled] .navbar-default .btn-link:focus {
.navbar-default.scrolled .navbar-nav > .active > a,
.navbar-default.scrolled .navbar-nav > .active > a:hover,
.navbar-default.scrolled .navbar-nav > .active > a:focus {
color: #346aa9;
color: #27a2db;
background-color: #ffffff;
}
.navbar-default.scrolled .navbar-nav > .disabled > a,
@@ -3705,7 +3702,7 @@ fieldset[disabled] .navbar-default .btn-link:focus {
background-color: transparent;
}
.navbar-default.scrolled .navbar-toggle .icon-bar {
background-color: #346aa9;
background-color: #27a2db;
}
.navbar-default.scrolled .navbar-collapse,
.navbar-default.scrolled .navbar-form {
@@ -3894,7 +3891,7 @@ fieldset[disabled] .navbar-inverse .btn-link:focus {
padding: 6px 12px;
line-height: 1.42857143;
text-decoration: none;
color: #346aa9;
color: #27a2db;
background-color: #ffffff;
border: 1px solid #dddddd;
margin-left: -1px;
@@ -3926,8 +3923,8 @@ fieldset[disabled] .navbar-inverse .btn-link:focus {
.pagination > .active > span:focus {
z-index: 2;
color: #ffffff;
background-color: #346aa9;
border-color: #346aa9;
background-color: #27a2db;
border-color: #27a2db;
cursor: default;
}
.pagination > .disabled > span,
@@ -4043,7 +4040,7 @@ a.label:focus {
background-color: #5e5e5e;
}
.label-primary {
background-color: #346aa9;
background-color: #27a2db;
}
.label-primary[href]:hover,
.label-primary[href]:focus {
@@ -4110,7 +4107,7 @@ a.badge:focus {
}
a.list-group-item.active > .badge,
.nav-pills > .active > a > .badge {
color: #346aa9;
color: #27a2db;
background-color: #ffffff;
}
.nav-pills > li > a > .badge {
@@ -4174,7 +4171,7 @@ a.list-group-item.active > .badge,
a.thumbnail:hover,
a.thumbnail:focus,
a.thumbnail.active {
border-color: #346aa9;
border-color: #27a2db;
}
.thumbnail .caption {
padding: 9px;
@@ -4288,7 +4285,7 @@ a.thumbnail.active {
line-height: 20px;
color: #ffffff;
text-align: center;
background-color: #346aa9;
background-color: #27a2db;
-webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
-webkit-transition: width 0.6s ease;
@@ -4439,8 +4436,8 @@ a.list-group-item:focus {
.list-group-item.active:focus {
z-index: 2;
color: #ffffff;
background-color: #346aa9;
border-color: #346aa9;
background-color: #27a2db;
border-color: #27a2db;
}
.list-group-item.active .list-group-item-heading,
.list-group-item.active:hover .list-group-item-heading,
@@ -4772,22 +4769,22 @@ a.list-group-item-danger.active:focus {
border-bottom-color: #dddddd;
}
.panel-primary {
border-color: #346aa9;
border-color: #27a2db;
}
.panel-primary > .panel-heading {
color: #ffffff;
background-color: #346aa9;
border-color: #346aa9;
background-color: #27a2db;
border-color: #27a2db;
}
.panel-primary > .panel-heading + .panel-collapse > .panel-body {
border-top-color: #346aa9;
border-top-color: #27a2db;
}
.panel-primary > .panel-heading .badge {
color: #346aa9;
color: #27a2db;
background-color: #ffffff;
}
.panel-primary > .panel-footer + .panel-collapse > .panel-body {
border-bottom-color: #346aa9;
border-bottom-color: #27a2db;
}
.panel-success {
border-color: #d6e9c6;
@@ -5560,9 +5557,6 @@ body {
.main {
background: #ffffff;
}
.sidebar-primary .wrap.container {
margin: 100px auto;
}
section#comments,
section#respond {
visibility: hidden;
@@ -5652,7 +5646,7 @@ Dev subnav
.banner .dev_nav {
background: #f4f6f7;
padding: 5px;
border-top: 1px solid #346aa9;
border-top: 1px solid #27a2db;
border-bottom: 1px solid #cccccc;
}
.banner .dev_nav li {
@@ -5697,7 +5691,7 @@ Style subnav
.style_nav {
background: #f4f6f7;
padding: 5px;
border-top: 1px solid #346aa9;
border-top: 1px solid #27a2db;
border-bottom: 1px solid #cccccc;
}
.style_nav li {
@@ -5717,7 +5711,7 @@ Company subnav
.company_nav {
background: #f4f6f7;
padding: 5px;
border-top: 1px solid #346aa9;
border-top: 1px solid #27a2db;
border-bottom: 1px solid #cccccc;
}
.company_nav li {
@@ -5737,7 +5731,7 @@ News subnav
.news_nav {
background: #f4f6f7;
padding: 5px;
border-top: 1px solid #346aa9;
border-top: 1px solid #27a2db;
border-bottom: 1px solid #cccccc;
}
.news_nav li {
@@ -5964,7 +5958,7 @@ i.fa.fa-share {
display: none;
}
.scrolled .nav_x {
color: #346aa9;
color: #27a2db;
}
.white_x {
display: none;
@@ -5972,7 +5966,7 @@ i.fa.fa-share {
.nav_x {
margin-top: -4px;
display: none;
color: #346aa9;
color: #27a2db;
width: 20px;
}
.page-header {
@@ -6016,14 +6010,14 @@ img.ripple_stack {
font-size: 21px;
}
.title_border hr {
border-bottom: 1px solid #346aa9;
border-bottom: 1px solid #27a2db;
width: 100px;
}
.top_border_section {
border-top: 1px solid #cccccc;
}
.ripple_page_heading h3 hr {
border-top: 1px solid #346aa9;
border-top: 1px solid #27a2db;
width: 200px;
margin-top: 30px;
}
@@ -6352,7 +6346,7 @@ Thank You page
}
.error404 h1 {
font-size: 48px;
color: #346aa9;
color: #27a2db;
}
.error404 ul {
list-style-type: none;
@@ -6562,7 +6556,7 @@ Media Queries
.dev_nav {
background: #f4f6f7;
padding: 5px;
border-top: 1px solid #346aa9;
border-top: 1px solid #27a2db;
border-bottom: 1px solid #cccccc;
}
.dev_nav li {
@@ -6594,12 +6588,6 @@ Media Queries
display: none !important;
}
}
@media (min-width: 768px) {
.sidebar {
padding-top: 75px;
padding-left: 30px !important;
}
}
@media (max-width: 1024px) {
.hidden-ipad {
display: none !important;
@@ -6613,55 +6601,7 @@ Media Queries
display: block !important;
}
}
/*
******************
Transifex
******************
*/
#translation {
display: inline-block;
}
#tx-live-lang-toggle {
display: none;
}
.txlive-langselector-list {
position: absolute;
margin: 50px 0 0 0 !important;
padding: 0 !important;
display: inline-block !important;
background-color: transparent !important;
box-shadow: none !important;
color: #999999 !important;
width: auto !important;
top: 0 !important;
left: 0;
}
.txlive-langselector-list > li {
padding: 0 16px;
display: inline-block !important;
width: auto !important;
-o-transition: .5s;
-ms-transition: .5s;
-moz-transition: 5s;
-webkit-transition: .5s;
transition: .5s;
}
.txlive-langselector-list > li:hover {
background-color: transparent !important;
-o-transition: .5s;
-ms-transition: .5s;
-moz-transition: 5s;
-webkit-transition: .5s;
transition: .5s;
}
@media (max-width: 480px) {
.txlive-langselector-list {
position: relative !important;
}
.txlive-langselector-list > li {
padding: 0 5px 0 !important;
}
}
.aligncenter {
display: block;
margin: 10px auto;
@@ -6710,7 +6650,7 @@ figure.alignnone {
}
}
.banner .main_nav_wrapper {
border-bottom: 1px solid #346aa9;
border-bottom: 1px solid #27a2db;
height: 60px;
}
.banner ul#menu-primary-navigation li:hover {
@@ -6930,7 +6870,7 @@ figure.alignnone {
}
.content-info .absolute_bottom_footer .social-iconer a:hover,
.content-info .absolute_bottom_footer .social-iconer a:focus {
color: #346aa9;
color: #27a2db;
-o-transition: .5s;
-ms-transition: .5s;
-moz-transition: .5s;

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 60 KiB

1
assets/img/ilp_logo.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 25 KiB

View File

@@ -17,6 +17,16 @@ var toggle_cs = function(eo) {
$(eo.target).val(current_button_text == 'Expand' ? "Collapse" : "Expand");
}
function has_scrollbars(e) {
if ($(e).parents(".multicode").length > 0) {
//TODO: figure out if we can detect scrollbars on non-default tabs of
// multicode samples. For now, always consider multi-code sections to need
// scrollbars.
return true;
}
return (e.scrollHeight > e.clientHeight) || (e.scrollWidth > e.clientWidth);
}
function make_code_expandable() {
var newid = 0;
$(".content > pre > code").parent().wrap(function() {
@@ -24,14 +34,20 @@ function make_code_expandable() {
return "<div class='code_sample' id='code_autoid_"+newid+"'>";
});
var cs = $('.code_sample');
cs.find("code").dblclick(toggle_cs);
cs.find("code").attr('title', 'Double-click to expand/collapse');
var newbtn = $("<input type='button' class='code_toggler' value='Expand' />");
newbtn.appendTo(cs);
var code_samples = $('.code_sample');
code_samples.find("code").each(function() {
let jqThis = $(this);
if (has_scrollbars(this)) {
jqThis.dblclick(toggle_cs);
jqThis.attr('title', 'Double-click to expand/collapse');
var newbtn = $("<input type='button' class='code_toggler' value='Expand' />");
newbtn.appendTo(jqThis.parents(".code_sample"));
}
});
$(".code_toggler").click(toggle_cs);
/* fix expand/collapse and tab click hierarchy */
cs.css("position","relative");
code_samples.css("position","relative");
$(".multicode .code_sample").css("position","static");
}

15
assets/js/jump-to-top.js Normal file
View File

@@ -0,0 +1,15 @@
$(document).ready(function() {
var TO_TOP_MIN = 50;
var TO_TOP_SPEED = 500;
var TO_TOP_POS = 0;
$(window).scroll(function () {
if ($(this).scrollTop() > TO_TOP_MIN) {
$('.jump-to-top').fadeIn();
} else {
$('.jump-to-top').fadeOut();
}
});
$(".jump-to-top").click(function() {
$("body").animate({scrollTop: TO_TOP_POS}, TO_TOP_SPEED)
});
});

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -80,7 +80,7 @@ The XRP Ledger allows an account to authorize a secondary key pair, called a _re
You generate a key pair to use as a regular key pair using the [`wallet_propose`](reference-rippled.html#wallet-propose) method. However, unlike with a [master key pair](#master-key-pair), which is generated alongside and intrinsically related to the `account_id` of an account it supports, you must explicitly create the relationship between a regular key pair and the account you want it to sign transactions for. You use the [`SetRegularKey`](reference-transaction-format.html#setregularkey) method to assign a regular key pair to an account.
For a tutorial on assigning a regular key pair, see [Working with a Regular Key Pair](working-regular-key-pair.html).
For a tutorial on assigning a regular key pair, see [Working with a Regular Key Pair](tutorial-regular-keys.html).
After you assign a regular key pair to an account, the account has two key pairs associated with it:
@@ -91,7 +91,7 @@ You can assign one regular key pair to an account and use it to sign all transac
You can remove or change a regular key pair at any time. This means that if a regular private key is compromised (but the master private key is not), you can regain control of your account by simply removing or changing the regular key pair.
For a tutorial on changing or removing a regular key pair, see [Working with a Regular Key Pair](working-regular-key-pair.html).
For a tutorial on changing or removing a regular key pair, see [Working with a Regular Key Pair](tutorial-regular-keys.html).
## Signing Algorithms

View File

@@ -1,5 +1,4 @@
Freeze Features
===============
# Freezing Issued Currencies
The XRP Ledger gives addresses the ability to freeze non-XRP balances, which can be useful to meet regulatory requirements, or while investigating suspicious activity. There are three settings related to freezes:
@@ -12,8 +11,7 @@ Because no party has a privileged place in the XRP Ledger, the freeze feature ca
All freeze settings can be enacted regardless of whether the balance(s) to be frozen are positive or negative. Either the currency issuer or the currency holder can freeze a trust line; however, the effect of a currency holder freezing an issuer is minimal.
Individual Freeze
-----------------
## Individual Freeze
The **Individual Freeze** feature is a setting on a trust line. When an issuing address enables the Individual Freeze setting, the following rules apply:
@@ -31,8 +29,7 @@ The Individual Freeze applies to a single currency only. To freeze multiple curr
An address cannot enable the Individual Freeze setting if it has enabled the [No Freeze](#no-freeze) setting.
Global Freeze
-------------
## Global Freeze
The **Global Freeze** feature is a setting on an address. When an issuing address enables the Global Freeze feature, the following rules apply:
@@ -49,8 +46,7 @@ Global Freeze applies to _all_ currencies issued and held by the address. You ca
An address can always enable the Global Freeze setting. However, if the address has enabled the [No Freeze](#no-freeze) setting, it can never _disable_ Global Freeze.
No Freeze
---------
## No Freeze
The **No Freeze** feature is a setting on an address that permanently gives up the ability to freeze counterparties. A business can use this feature to treat its issued funds as "more like physical money" in the sense that the business cannot interfere with customers trading it among themselves. The NoFreeze setting has two effects:
@@ -64,11 +60,11 @@ The No Freeze setting applies to all currencies issued to and from an address. I
You can only enable the No Freeze setting with a transaction signed by your address's master key secret. You cannot use a [Regular Key](reference-transaction-format.html#setregularkey) or a [multi-signed transaction](reference-transaction-format.html#multi-signing) to enable No Freeze.
# Technical Details #
# Technical Details
## Enabling or Disabling Individual Freeze ##
## Enabling or Disabling Individual Freeze
### Using `rippled` ###
### Using `rippled`
To enable or disable Individual Freeze on a specific trust line, send a `TrustSet` transaction. Use the [`tfSetFreeze` flag](reference-transaction-format.html#trustset-flags) to enable a freeze, and the `tfClearFreeze` flag to disable it. The fields of the transaction should be as follows:
@@ -112,7 +108,7 @@ Example of submitting a TrustSet transaction to enable an individual freeze usin
**Caution:** Never send your secret key to an untrusted server or over an insecure channel.
### Using RippleAPI ###
### Using RippleAPI
To enable or disable Individual Freeze on a specific trust line, prepare a *Trustline* transaction using the [prepareTrustline](reference-rippleapi.html#preparetrustline) method. The fields of the `trustline` parameter should be set as follows:
@@ -132,9 +128,9 @@ Example JavaScript (ECMAScript 6) code to enable Individual Freeze on a trust li
```
## Enabling or Disabling Global Freeze ##
## Enabling or Disabling Global Freeze
### Using `rippled` ###
### Using `rippled`
To enable Global Freeze on an address, send an `AccountSet` transaction with the [asfGlobalFreeze flag value](reference-transaction-format.html#accountset-flags) in the `SetFlag` field. To disable Global Freeze, put the asfGlobalFreeze flag value in the `ClearFlag` field instead.
@@ -162,7 +158,7 @@ Example of submitting an AccountSet transaction to enable Global Freeze using th
**Caution:** Never send your secret key to an untrusted server or over an insecure channel.
### Using RippleAPI ###
### Using RippleAPI
To enable or disable Global Freeze on an address, prepare a **Settings** transaction using the [prepareSettings](reference-rippleapi.html#preparesettings) method. The `settings` parameter should be an object set as follows:
@@ -180,9 +176,9 @@ Example JavaScript (ECMAScript 6) code to enable Global Freeze on an address:
## Enabling No Freeze ##
## Enabling No Freeze
### Using `rippled` ###
### Using `rippled`
To enable No Freeze on an address, send an `AccountSet` transaction with the [asfNoFreeze flag value](reference-transaction-format.html#accountset-flags) in the `SetFlag` field. You must sign this transaction using the master key. Once enabled, you cannot disable No Freeze.
@@ -211,7 +207,7 @@ WebSocket request:
**Caution:** Never send your secret key to an untrusted server or over an insecure channel.
### Using RippleAPI ###
### Using RippleAPI
To enable No Freeze on an address, prepare a **Settings** transaction using the [prepareSettings](reference-rippleapi.html#preparesettings) method. Once enabled, you cannot disable No Freeze. The `settings` parameter should be an object set as follows:
@@ -228,9 +224,9 @@ Example JavaScript (ECMAScript 6) code to enable No Freeze on an address:
```
## Checking for Individual Freeze ##
## Checking for Individual Freeze
### Using `rippled` ###
### Using `rippled`
To see if a trust line has an Individual Freeze enabled, use the [`account_lines` method](reference-rippled.html#account-lines) with the following parameters:
@@ -288,7 +284,7 @@ Example WebSocket response:
The field `"freeze": true` indicates that rf1BiGeXwwQoi8Z2ueFYTEXSwuJYfV2Jpn has enabled Individual Freeze on the USD trust line to rsA2LpzuawewSBQXkiju3YQTMzW13pAAdW. The lack of a field `"freeze_peer": true` indicates that the counterparty has _not_ frozen the trust line.
### Using RippleAPI ###
### Using RippleAPI
To see if a trust line has an Individual Freeze enabled, use the [`getTrustlines` method](reference-rippleapi.html#gettrustlines) with the following parameters:
@@ -311,9 +307,9 @@ Example JavaScript (ECMAScript 6) code to check whether a trust line is frozen:
```
## Checking for Global Freeze and No Freeze ##
## Checking for Global Freeze and No Freeze
### Using `rippled` ###
### Using `rippled`
To see if an address has enabled Global Freeze, No Freeze, or both, use the [`account_info` method](reference-rippled.html#account-lines) with the following parameters:
@@ -385,7 +381,7 @@ console.log(currentFlags & lsfNoFreeze); //0
//therefore, No Freeze is not enabled
```
### Using RippleAPI ###
### Using RippleAPI
To see if an address has enabled Global Freeze, No Freeze, or both, use the [`getSettings` method](reference-rippleapi.html#getsettings) with the following parameters:
@@ -406,7 +402,7 @@ Example JavaScript (ECMAScript 6) code to check whether an address has Global Fr
{% include 'code_samples/freeze/check-global-freeze-no-freeze.js' %}
```
# See Also #
# See Also
* [GB-2014-02 New Feature: Balance Freeze](https://ripple.com/files/GB-2014-02.pdf)
* [Freeze Code Samples](https://github.com/ripple/ripple-dev-portal/tree/master/content/code_samples/freeze)

View File

@@ -4,7 +4,7 @@
***TODO: Question: Added this concept section based on fantastic source material from Rome -- thought we should publish it. Useful? May be good to associate it with a flow diagram - like the one for address encoding: https://ripple.com/build/accounts/#address-encoding. Address both single and multi-sign flows.***
In the XRP Ledger, a digital signature proves that a transaction is authorized to do a specific set of actions. A digital signature is created based on a [key pair](cryptographic-keys.html) associated with the transaction's sending account.
In the XRP Ledger, a digital signature proves that a transaction is authorized to do a specific set of actions. A digital signature is created based on a [key pair](concept-cryptographic-keys.html) associated with the transaction's sending account.
Here's an overview of some of the more common signature-related fields used in the XRP Ledger.
@@ -20,7 +20,7 @@ To verify whether a single-signed transaction is valid, a `rippled` server check
1. This key hashes to an address that's authorized by the transaction's sender.
The default is that only the address of an account is authorized to send all transactions for that account. That address is [derived from](concept-accounts.html#address-encoding) the public key from the master key pair that was generated during address creation. Regular keys add a different address (derived from a different key pair) that's authorized to send most transactions. And of course, you can also disable the [master key](cryptographic-keys.html) or add a [multi-signing list](reference-transaction-format.html#multi-signing). ***TODO: address from Ryan: "And of course" - Nit: this seems a little informal. Maybe just drop it and go into the next sentence? JHA take a closer look at what this sentence is trying to say.***
The default is that only the address of an account is authorized to send all transactions for that account. That address is [derived from](concept-accounts.html#address-encoding) the public key from the master key pair that was generated during address creation. Regular keys add a different address (derived from a different key pair) that's authorized to send most transactions. And of course, you can also disable the [master key](concept-cryptographic-keys.html) or add a [multi-signing list](reference-transaction-format.html#multi-signing). ***TODO: address from Ryan: "And of course" - Nit: this seems a little informal. Maybe just drop it and go into the next sentence? JHA take a closer look at what this sentence is trying to say.***
2. This key matches the signature on the transaction.

View File

@@ -71,7 +71,7 @@ As an entity that is obligated to hold large amounts of XRP for the long term, R
Cryptography is one of the hardest parts of any distributed system, and a mistake can lead to money stolen by malicious actors anywhere in the world. The XRP Ledger uses industry-standard schemes for signing and verifying transactions, algorithms that have successfully protected hundreds of billions of US dollars' worth of value for many years. The XRP Ledger also layers multi-signing functionality so you can use multi-factor authorization or split keys across multiple people as a backup, and provides new algorithms with a path to migrate the keys you use if a breakthrough in cryptography makes the old algorithms obsolete.
For more information, see [Cryptographic Keys](cryptographic-keys.html) and [Multi-signing](reference-transaction-format.html#multi-signing).
For more information, see [Cryptographic Keys](concept-cryptographic-keys.html) and [Multi-signing](reference-transaction-format.html#multi-signing).
## Modern Features for Smart Contracts

View File

@@ -25,7 +25,7 @@ Any signature type can authorize any type of transaction, with the following exc
* Only the master private key can [permanently give up the ability to freeze](concept-freeze.html#no-freeze).
* You can never remove the last method of signing transactions from an address.
For more information about master and regular key pairs, see [Cryptographic Keys](cryptographic-keys.html).
For more information about master and regular key pairs, see [Cryptographic Keys](concept-cryptographic-keys.html).
<!--{# Add this reference after signatures concept doc is published. For more information about signatures, see [Understanding Signatures](concept-signatures.html). #}-->
@@ -175,7 +175,7 @@ Example response from the `tx` command:
### Multi-Signing
Multi-signing in the XRP Ledger is the act of [authorizing transactions](#authorizing-transactions) for the XRP Ledger by using a combination of multiple secret keys. You can have any combination of authorization methods enabled for your address, including multi-signing, a [master key pair](cryptographic-keys.html#master-key-pair), and a [regular key pair](cryptographic-keys.html#regular-key-pair). (The only requirement is that _at least one_ method must be enabled.)
Multi-signing in the XRP Ledger is the act of [authorizing transactions](#authorizing-transactions) for the XRP Ledger by using a combination of multiple secret keys. You can have any combination of authorization methods enabled for your address, including multi-signing, a [master key pair](concept-cryptographic-keys.html#master-key-pair), and a [regular key pair](concept-cryptographic-keys.html#regular-key-pair). (The only requirement is that _at least one_ method must be enabled.)
The [SignerListSet transaction][] defines which addresses can authorize transactions from your address. You can include up to 8 addresses in a SignerList. You can control how many signatures are needed, in which combinations, by using the quorum and weight values of the SignerList.

View File

@@ -83,7 +83,7 @@ The response follows the [standard format](#response-formatting), with a success
* `noPermission` - The request included the `url` field, but you are not connected as an admin.
* `malformedStream` - The `streams` field of the request is not formatted properly.
* `malformedAccount` - One of the addresses in the `accounts` or `accounts_proposed` fields of the request is not a properly-formatted XRP Ledger address.
* **Note:**: You _can_ subscribe to the stream of an address that does not yet have an entry in the global ledger to get a message when that address becomes funded.
* **Note:** You _can_ subscribe to the stream of an address that does not yet have an entry in the global ledger to get a message when that address becomes funded.
* `srcCurMalformed` - One or more `taker_pays` sub-fields of the `books` field in the request is not formatted properly.
* `dstAmtMalformed` - One or more `taker_gets` sub-fields of the `books` field in the request is not formatted properly.
* `srcIsrMalformed` - The `issuer` field of one or more `taker_pays` sub-fields of the `books` field in the request is not valid.

View File

@@ -180,7 +180,7 @@ You can also use this method to generate a key pair to use as a regular key pair
In addition to using it as a regular key pair, you can also use it as a member of a multi-signing list (SignerList).
For more information about master and regular key pairs, see [Cryptographic Keys](cryptographic-keys.html)
For more information about master and regular key pairs, see [Cryptographic Keys](concept-cryptographic-keys.html)
For more information about multi-signing and signer lists, see [Multi-Signing](reference-transaction-format.html#multi-signing).

View File

@@ -6,9 +6,9 @@ A `SetRegularKey` transaction assigns, changes, or removes the regular key pair
You can protect your account by assigning a regular key pair to it and using it instead of the master key pair to sign transactions whenever possible. If your regular key pair is compromised, but your master key pair is not, you can use a `SetRegularKey` transaction to regain control of your account.
For more information about regular and master key pairs, see [Cryptographic Keys](cryptographic-keys.html).
For more information about regular and master key pairs, see [Cryptographic Keys](concept-cryptographic-keys.html).
For a tutorial on assigning a regular key pair to an account, see [Working with a Regular Key Pair](working-regular-key-pair.html).
For a tutorial on assigning a regular key pair to an account, see [Working with a Regular Key Pair](tutorial-regular-keys.html).
For even greater security, you can use [multi-signing](#multi-signing), but multi-signing requires additional XRP for the [transaction cost](concept-transaction-cost.html) and [reserve](concept-reserves.html).

View File

@@ -2,7 +2,7 @@
The XRP Ledger allows an account to authorize a secondary key pair, called a _regular key pair_, to sign future transactions. If the private key of a regular key pair is compromised, you can remove or replace it without changing the rest of your account and re-establishing its relationships to other accounts. You can also rotate a regular key pair proactively. (Neither of those things is possible for the master key pair of an account, which is intrinsically linked to the account's address.)
For more information about master and regular key pairs, see [Cryptographic Keys](cryptographic-keys.html).
For more information about master and regular key pairs, see [Cryptographic Keys](concept-cryptographic-keys.html).
This article provides the following tutorials:
@@ -684,7 +684,7 @@ If your account's regular key pair is compromised, or if you just want to period
The steps to change your existing regular key pair are almost the same as the steps to [assign a regular key](#assigning-a-regular-key-pair) for the first time. You generate the key pair and assign it to your account as a regular key pair, overwriting the existing regular key pair. However, the main difference is that when changing the existing regular key pair, you can use the existing regular private key to replace itself, whereas when assigning a regular key pair to an account for the first time, you have to use the account's master private key to do it.
For more information about master and regular key pairs, see [Cryptographic Keys](cryptographic-keys.html).
For more information about master and regular key pairs, see [Cryptographic Keys](concept-cryptographic-keys.html).
### Removing a Regular Key Pair

View File

@@ -40,9 +40,15 @@ targets:
# First member is the default that gets built when target not specified
- name: local
display_name: Ripple Developer Portal
# These github_ fields are used by the template's "Edit on GitHub" link.
# Override them with --vars to change which fork/branch to edit.
github_forkurl: https://github.com/ripple/ripple-dev-portal
github_branch: master
- name: ripple.com
display_name: Ripple Developer Center
github_forkurl: https://github.com/ripple/ripple-dev-portal
github_branch: master
template: template-contentwithtoc.html
link_subs:
"reference-rippled.html": https://ripple.com/build/rippled-apis/
@@ -60,8 +66,8 @@ targets:
"tutorial-paychan.html": https://ripple.com/build/payment-channels-tutorial/
"tutorial-escrow.html": https://ripple.com/build/escrow-tutorials/
"tutorial-listing-xrp.html": https://ripple.com/build/listing-xrp-exchange/
"cryptographic-keys.html": https://ripple.com/build/cryptographic-keys/
"working-regular-key-pair.html": https://ripple.com/build/working-regular-key-pair/
"concept-cryptographic-keys.html": https://ripple.com/build/cryptographic-keys/
"tutorial-regular-keys.html": https://ripple.com/build/working-regular-key-pair/
"tutorial-build-run-rippled-ubuntu.html": https://ripple.com/build/build-run-rippled-ubuntu/
"concept-accounts.html": https://ripple.com/build/accounts/
"concept-amendments.html": https://ripple.com/build/amendments/
@@ -124,24 +130,296 @@ targets:
"img/demurrage-currency-code-format.png": https://cdn.ripple.com/wp-content/uploads/2017/11/demurrage-currency-code-format.png
"img/xrp-ledger-network-ledger-store-and-shard-store.png": https://cdn.ripple.com/wp-content/uploads/2018/02/xrp-ledger-network-ledger-store-and-shard-store1.png
- name: rippled-setup
display_name: rippled Setup Guide
link_subs:
"reference-rippled.html": https://ripple.com/build/rippled-apis/
pages:
# I. Introduction ------------------------------------------------------------
- md: concept-xrp-ledger-intro.md
category: Introduction
targets:
- local
- ripple.com
# References are exhaustive lists of commands and options
- name: RippleAPI
category: References
html: reference-rippleapi.html
# Currently this is the only page that's fetched remotely.
# "XRP Ledger Ecosystem Overview" goes here
# II. Technical Overview -----------------------------------------------------
- md: concept-consensus.md
category: Technical Overview
targets:
- local
- ripple.com
- md: concept-reaching-consensus.md
category: Technical Overview
targets:
- local
- ripple.com
# "Transaction Processing" goes here (broken off from transaction reference)
- md: concept-accounts.md
category: Technical Overview
targets:
- local
- ripple.com
- md: concept-cryptographic-keys.md
category: Technical Overview
targets:
- local
- ripple.com
- md: concept-fees.md
category: Technical Overview
targets:
- local
- ripple.com
- md: concept-fee-voting.md
category: Technical Overview
targets:
- local
- ripple.com
- md: concept-amendments.md
category: Technical Overview
targets:
- local
- ripple.com
- md: reference-amendments.md
category: Technical Overview
targets:
- local
- ripple.com
# III. About XRP -----------------------------------------------------------
- md: concept-money.md # TODO: maybe split this up into just an XRP intro?
category: About XRP
targets:
- local
- ripple.com
- md: concept-reserves.md
category: About XRP
targets:
- local
- ripple.com
- md: concept-transaction-cost.md
category: About XRP
targets:
- local
- ripple.com
- md: concept-partial-payments.md
category: About XRP
targets:
- local
- ripple.com
- md: concept-escrow.md
category: About XRP
targets:
- local
- ripple.com
- md: concept-depositauth.md
category: About XRP # Not strictly an XRP feature, but most relevant to XRP
targets:
- local
- ripple.com
# DOC-696 "About Payment Channels" goes here
# IV. XRP Tasks --------------------------------------------------------------
# "Connecting to rippled" goes here (extracted from rippled reference)
- md: tutorial-rippleapi-beginners-guide.md
category: XRP Tasks
targets:
- local
- ripple.com
# DOC-1299 "Create an XRP Ledger Account" goes here
# DOC-1322 "Sending Exact XRP Payments" goes here
- md: tutorial-reliable-transaction-submission.md
category: XRP Tasks
targets:
- local
- ripple.com
# "Robustly Monitoring for Payments" goes here (adapted from gateway guide?)
# "Bouncing Payments" goes here (adapted from gateway guide?)
- md: tutorial-multisign.md
category: XRP Tasks # This isn't strictly XRP-related though...
targets:
- local
- ripple.com
- md: tutorial-escrow.md
category: XRP Tasks
targets:
- local
- ripple.com
- md: tutorial-paychan.md
category: XRP Tasks
targets:
- local
- ripple.com
- md: tutorial-regular-keys.md
category: XRP Tasks # Not strictly XRP-related, either...
targets:
- local
- ripple.com
# V. Issued Currencies -------------------------------------------------------
# TODO: stand-alone issued currencies intro?
- md: concept-freeze.md
category: Issued Currencies
targets:
- local
- ripple.com
- md: concept-transfer-fees.md
category: Issued Currencies
targets:
- local
- ripple.com
- md: concept-noripple.md
category: Issued Currencies
targets:
- local
- ripple.com
- md: concept-authorized-trust-lines.md
category: Issued Currencies
targets:
- local
- ripple.com
# DOC-78 "Decentralized Exchange" goes here
# DOC-844 "TickSize Settings" goes here
- md: concept-paths.md
category: Issued Currencies
targets:
- local
- ripple.com
- md: concept-demurrage.md
category: Issued Currencies
targets:
- local
- ripple.com
# DOC-1237 "About Checks" goes here
# VI. The rippled Server -----------------------------------------------------
- md: tutorial-rippled-setup.md
category: The rippled Server
targets:
- local
- ripple.com
# - md: reference-rippled.md # TODO: break out the concept parts for here
# category: The rippled Server
# targets:
# - local
# - ripple.com
- md: concept-stand-alone-mode.md
category: The rippled Server
targets:
- local
- ripple.com
- md: concept-history-sharding.md
category: The rippled Server
targets:
- local
- ripple.com
- md: tutorial-build-run-rippled-ubuntu.md
category: The rippled Server
targets:
- local
- ripple.com
# VII. The Exchange Business Model -------------------------------------------
- md: tutorial-listing-xrp.md
category: The Exchange Business Model
targets:
- local
- ripple.com
# VIII. The Gateway Business Model -------------------------------------------
- md: concept-issuing-and-operational-addresses.md
category: The Gateway Business Model
targets:
- local
- ripple.com
- md: tutorial-gateway-guide.md
category: The Gateway Business Model
targets:
- local
- ripple.com
- md: gb-2015-06.md
category: The Gateway Business Model
targets:
- local
- ripple.com
- md: gb-2015-05.md
category: The Gateway Business Model
targets:
- local
- ripple.com
# IX. Reference Material
- md: reference-rippled.md
category: Reference Material
targets:
- local
- ripple.com
- md: reference-currency.md
category: Reference Material
targets:
- local
- ripple.com
- md: reference-transaction-format.md
category: Reference Material
targets:
- local
- ripple.com
- md: reference-ledger-format.md
category: Reference Material
targets:
- local
- ripple.com
- name: RippleAPI Reference # name is required for remote-sourced files
md: https://raw.githubusercontent.com/ripple/ripple-lib/e6d71471e26ca253e762fc7034859951b5d31c47/docs/index.md
html: reference-rippleapi.html
category: Reference Material
filters:
- remove_doctoc
- add_version
@@ -149,316 +427,13 @@ pages:
- local
- ripple.com
- name: rippled
category: References
html: reference-rippled.html
md: reference-rippled.md
- md: reference-data-api.md
category: Reference Material
targets:
- local
- ripple.com
- name: Transaction Format
category: References
html: reference-transaction-format.html
md: reference-transaction-format.md
targets:
- local
- ripple.com
- name: Ledger Format
category: References
html: reference-ledger-format.html
md: reference-ledger-format.md
targets:
- local
- ripple.com
- name: Ripple Data API v2
category: References
html: reference-data-api.html
md: reference-data-api.md
targets:
- local
- ripple.com
- md: reference-currency.md
category: References
html: reference-currency.html
targets:
- local
- ripple.com
- md: reference-amendments.md
category: References
html: reference-amendments.html
targets:
- local
- ripple.com
# Tutorials are step-by-step guides to a specific goal
- name: How to Multi-Sign
category: Tutorials
html: tutorial-multisign.html
md: tutorial-multisign.md
targets:
- local
- ripple.com
- category: Tutorials
html: tutorial-paychan.html
md: tutorial-paychan.md
targets:
- local
- ripple.com
# This is more like a "best practices" doc than Tutorials...
- name: Issuing and Operational Addresses
category: Tutorials
html: concept-issuing-and-operational-addresses.html
md: concept-issuing-and-operational-addresses.md
targets:
- local
- ripple.com
- name: Reliable Transaction Submission
category: Tutorials
html: tutorial-reliable-transaction-submission.html
md: tutorial-reliable-transaction-submission.md
targets:
- local
- ripple.com
- name: RippleAPI Beginners Guide
category: Tutorials
html: tutorial-rippleapi-beginners-guide.html
md: tutorial-rippleapi-beginners-guide.md
targets:
- local
- ripple.com
- name: rippled Setup
category: Tutorials
html: tutorial-rippled-setup.html
md: tutorial-rippled-setup.md
targets:
- local
- ripple.com
- rippled-setup
# The Gateway Guide is also a poor fit for the "tutorials" category
- name: Gateway Guide
category: Tutorials
html: tutorial-gateway-guide.html
md: tutorial-gateway-guide.md
targets:
- local
- ripple.com
# Listing XRP as an Exchange
- category: Tutorials
html: tutorial-listing-xrp.html
md: tutorial-listing-xrp.md
targets:
- local
- ripple.com
- md: tutorial-escrow.md
html: tutorial-escrow.html
category: Tutorials
targets:
- local
- ripple.com
- md: tutorial-regular-keys.md
html: working-regular-key-pair.html
category: Tutorials
targets:
- local
- ripple.com
- name: Build and Run rippled on Ubuntu
md: tutorial-build-run-rippled-ubuntu.md
html: tutorial-build-run-rippled-ubuntu.html
category: Tutorials
targets:
- local
- ripple.com
#Features describe how the XRP Ledger works in a mostly conceptual manner
- name: Accounts
category: Features
html: concept-accounts.html
md: concept-accounts.md
targets:
- local
- ripple.com
- name: Amendments
category: Features
html: concept-amendments.html
md: concept-amendments.md
targets:
- local
- ripple.com
- name: Consensus Process
category: Features
html: concept-consensus.html
md: concept-consensus.md
targets:
- local
- ripple.com
- name: Reaching Consensus in the XRP Ledger
category: Features
html: concept-reaching-consensus.html
md: concept-reaching-consensus.md
targets:
- local
- ripple.com
- category: Features
html: cryptographic-keys.html
md: concept-keys.md
targets:
- local
- ripple.com
- md: concept-depositauth.md
category: Features
targets:
- local
- ripple.com
- md: concept-escrow.md
category: Features
targets:
- local
- ripple.com
- name: Fee Voting
category: Features
html: concept-fee-voting.html
md: concept-fee-voting.md
targets:
- local
- ripple.com
- name: Fees (Disambiguation)
category: Features
html: concept-fees.html
md: concept-fees.md
targets:
- local
- ripple.com
- name: Freeze
category: Features
html: concept-freeze.html
md: concept-freeze.md
targets:
- local
- ripple.com
- md: concept-money.md
category: Features
html: concept-money.html
targets:
- local
- ripple.com
- md: concept-demurrage.md
category: Features
html: concept-demurrage.html
targets:
- local
- ripple.com
- md: concept-partial-payments.md
category: Features
html: concept-partial-payments.html
targets:
- local
- ripple.com
- name: Paths
category: Features
html: concept-paths.html
md: concept-paths.md
targets:
- local
- ripple.com
- name: Reserves
category: Features
html: concept-reserves.html
md: concept-reserves.md
targets:
- local
- ripple.com
- category: Features
html: concept-history-sharding.html
md: concept-history-sharding.md
targets:
- local
- ripple.com
- name: Stand-Alone Mode
category: Features
html: concept-stand-alone-mode.html
md: concept-stand-alone-mode.md
targets:
- local
- ripple.com
- name: Transaction Cost
category: Features
html: concept-transaction-cost.html
md: concept-transaction-cost.md
targets:
- local
- ripple.com
- name: Transfer Fees
category: Features
html: concept-transfer-fees.html
md: concept-transfer-fees.md
targets:
- local
- ripple.com
- name: Understanding the NoRipple flag
category: Features
html: concept-noripple.html
md: concept-noripple.md
targets:
- local
- ripple.com
- md: concept-authorized-trust-lines.md
category: Features
targets:
- local
- ripple.com
- name: "GB-2015-06: Corrections to Autobridging"
category: Gateway Bulletins
html: gb-2015-06.html
md: gb-2015-06.md
targets:
- local
- ripple.com
- name: "GB-2015-05: Historical Ledger Query Migration"
category: Gateway Bulletins
html: gb-2015-05.html
md: gb-2015-05.md
targets:
- local
- ripple.com
# API tools are interactive software for interfacing with real APIs
# Appendix: API Tools --------------------------------------------------------
- name: WebSocket API Tool
category: API Tools
html: ripple-api-tool.html
@@ -480,19 +455,7 @@ pages:
- ripple.com
template: template-rest-api-tool.html
- name: rippled JSON-RPC Tool
# This tool requires a local server w/ reverse proxy
category: API Tools
html: tool-jsonrpc.html
methods_js: js/apitool-methods-jsonrpc.js
rest_host: http://localhost/rippled
doc_page: reference-rippled.html
sidebar: custom
targets:
- local
- ripple.com
template: template-rest-api-tool.html
# Non-canonical pages
- name: Page Manifest
# Used to inform the ripple.com code what pages it should map
html: devportal-manifest.php
@@ -513,6 +476,9 @@ known_broken_links:
# Strangely, Python doesn't like the cert here. Firefox is OK with it.
- https://validators.ripple.com
# Login required for the client portal.
- https://clients.ripple.com/
# These PDFs download OK in a browser
- http://eur-lex.europa.eu/legal-content/EN/ALL/?uri=CELEX%3A32015R0847
- http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=OJ:L:2006:345:0001:0009:EN:PDF

View File

@@ -1,7 +1,12 @@
#!/bin/bash
mkdir -p out
## One-liner syntax doesn't handle exit codes properly...
#./build.sh -lq | awk '{print "rm -r out/ && ./build.sh -t "$1" && ./check-links.sh"}' | xargs -0 bash -c
# Pass forward dactyl "vars" arg if provided
if [ "$1" == "--vars" ] && [ -n "$2" ];
then
dactyl_vars=$2
shift 2
fi
targets=`dactyl_build -lq | awk '{print $1}'`
linkerrors=0
@@ -11,7 +16,11 @@ while read -r line; do
echo "======================================="
echo "Checking Target: $line"
rm -r out
dactyl_build -sq -t "$line"
if [ -n "$dactyl_vars" ]; then
dactyl_build -q -t "$line" --vars "$dactyl_vars"
else
dactyl_build -q -t "$line"
fi
buildresult=$?
if [ $buildresult -eq 0 ]
then

View File

@@ -2,7 +2,22 @@
# meant to be run from the root directory of the repo
## Test: show pull request data in build results
echo "ghprbAuthorRepoGitUrl is: " ${ghprbAuthorRepoGitUrl}
echo "ghprbSourceBranch is: " ${ghprbSourceBranch}
echo "ghprbPullId is: " ${ghprbPullId}
gitForkWithoutSuffix=${ghprbAuthorRepoGitUrl%.git}
if [ -n "$ghprbPullId" ];
then
echo '{"github_forkurl": "'"$gitForkWithoutSuffix"'", "github_branch": "'"$ghprbSourceBranch"'", "github_pr_id": "'"$ghprbPullId"'", "is_pr_build": true}' > pr_vars.json
dactyl_vars="pr_vars.json"
else
dactyl_vars=""
fi
set -e
tool/conflictmarkers.sh
tool/all-target-link-checker.sh
tool/all-target-link-checker.sh --vars "$dactyl_vars"

View File

@@ -5,7 +5,13 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width">
<title>{{ currentpage.name }} - {{ target.display_name }}</title>
<title>{{ currentpage.name }} - XRP Ledger Dev Portal</title>
<!--[if lt IE 9]>
<script src="/dist/js/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="/dist/js/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<!-- favicon -->
<link rel="icon" href="favicon.ico" type="image/x-icon">
@@ -21,54 +27,70 @@
<!-- Bootstrap JS -->
<script src="assets/vendor/bootstrap.min.js"></script>
<!-- fontawesome icons -->
<link rel="stylesheet" href="assets/vendor/fontawesome/css/font-awesome.min.css" />
{% block head %}
{% endblock %}
</head>
<body class="page page-template page-template-template-dev-portal page-template-template-dev-portal-php {% if currentpage.sidebar != 'off' %}sidebar-primary{% endif %} wpb-js-composer js-comp-ver-3.6.2 vc_responsive">
<body class="{% block bodyclasses %} xrp-ledger-dev-portal sidebar-primary{% endblock %}">
<header role="banner" class="banner navbar navbar-default navbar-fixed-top initial_header">
<div class="container">
<div class="navbar-header">
<a href="index.html" class="navbar-brand"><img src="assets/img/ripple-logo-color.png" class="logo"></a>
<a href="index.html" class="navbar-brand"><img src="assets/img/dev-logo.png" class="logo" width="36" height="36" /><span class="brand-text">XRP Ledger Dev Portal</span></a>
</div><!-- /.navbar-header -->
<div class="nav">
{% block breadcrumbs %}
<ul class="breadcrumb">
<li class="crumb-top"><a href="index.html" style="display: none;">&nbsp;</a></li>
{% if currentpage.category %}
<li class="active crumb-category"><a href="{{ (pages|selectattr('category', 'equalto', currentpage.category)|first).html }}">{{ currentpage.category }}</a></li>
{% endif %}
<li class="active crumb-current">{{ currentpage.name }}</li>
</ul>
{% endblock %}
<div class="draft-warning">DRAFT PAGE</div>
<div class="github-edit-wrap">
{% set have_edit_link = False %}
{% if currentpage.md is defined %}
{% if currentpage.md.startswith("http://") or
currentpage.md.startswith("https://") %}
{# Leave have_edit_link = False #}
{% else %}
{% set have_edit_link = True %}
{% set githuburl = target.github_forkurl + "/edit/"
+ target.github_branch
+ "/content/" + currentpage.md %}
{% endif %}
{% elif currentpage.template is defined %}
{% set have_edit_link = True %}
{% set githuburl = target.github_forkurl + "/edit/"
+ target.github_branch + "/tool/" + currentpage.template %}
{% endif %}
{% if target.is_pr_build and have_edit_link %}
{% set githuburl = githuburl + "?pr=/ripple/ripple-dev-portal/pull/"
+ target.github_pr_id %}
{% endif %}
{% if not have_edit_link %}
{% set githuburl = target.github_forkurl %}
{% endif %}
<a href="{{githuburl}}" class="github-edit">Edit on GitHub</a>
</div><!-- /.github-edit -->
</div><!-- /.nav -->
</div><!-- /.container -->
<div class="subnav dev_nav">
<div class="container">
<ul id="menu-dev-menu" class="menu">
{% for cat in categories %}
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">{{cat}} <span class="caret"></span></a>
<ul class="dropdown-menu" role="menu">
{% for page in pages %}
{% if page.category == cat %}
<li><a href="{{ page.html }}">{{ page.name }}</a></li>
{% endif %}
{% endfor %}
</ul>
</li>
{% endfor %}
<li><a href="https://github.com/ripple/ripple-dev-portal" title="GitHub">Site Source</a></li>
</ul><!-- /#dev-menu -->
</div><!-- /.subnav .container -->
</div><!-- /.subnav -->
</header>
<div class="wrap container" role="document">
{% if currentpage.sidebar != 'off' %}
<div class="wrap container" role="document" id="main_content_wrapper">
<aside class="sidebar" role="complementary">
{% block sidebar %}{% endblock %}
</aside>
{% endif %}
<main class="main" role="main">
<main class="main" role="main" id="main_content_body">
{% block main %}{% endblock %}
</main>
</div>

View File

@@ -5,7 +5,9 @@
<link rel="stylesheet" href="assets/vendor/docco.min.css" />
<script src="assets/vendor/highlight.min.js"></script>
<!-- syntax selection js -->
<!-- expandable code samples -->
<script src="assets/js/expandcode.js"></script>
<!-- multi-code selection tabs -->
<script src="assets/js/multicodetab.js"></script>
<script>
$(document).ready(function() {
@@ -15,38 +17,27 @@
});
</script>
<script src="assets/js/expandcode.js"></script>
<script src="assets/js/fixsidebarscroll.js"></script>
<!-- fontawesome icons -->
<link rel="stylesheet" href="assets/vendor/fontawesome/css/font-awesome.min.css" />
{% endblock %}
{% block sidebar %}
{% if currentpage.sidebar != 'off' %}
<div class="dev_nav_wrapper">
<div id="cont">
<h5>In this category:</h5>
<ul class="dev_nav_sidebar">
<li class="level-1"><a href="index.html">Category: {{ currentpage.category }}</a></li>
{% for page in pages %}
{% if page.category == currentpage.category %}
<li class="level-2"><a href="{{ page.html }}">{{ page.name }}</a></li>
{% endif %}
{% endfor %}
</ul>
<hr />
<h5>In this page:</h5>
<ul class="dev_nav_sidebar" id="dactyl_toc_sidebar">
{{ page_toc }}
</ul>
</div>
</div>
{% endif %}
{% if currentpage.sidebar != "disabled" %}
{% include "template-sidebar_nav.html" %}
{% endif %}
{% endblock %}
{% block main %}
<div class='content'>
<h1 class="main-page-header">{{ currentpage.name }}</h1>
<aside id="page-toc-wrapper" class="panel panel-default">
<p class="in-this-doc panel-heading">In this document:</p>
<ul class="dev_nav_sidebar panel-body" id="dactyl_toc_sidebar">
{{ sidebar_content }}
</ul>
</aside>
<div class='content no-1st-head'>
{{ content }}
</div>
{% endblock %}

View File

@@ -3,12 +3,17 @@
<div class="row">
<div class="col-sm-12 absolute_bottom_footer">
<div class="col-sm-8">
<span>&copy; 2013 - 2017 Ripple Labs, Inc. All Rights Reserved.</span>
<span><a href="/terms-of-use/">Terms</a></span>
<span><a href="/privacy-policy/">Privacy</a></span>
<span>&copy; 2013 - 2018 Ripple. All Rights Reserved.</span>
<span><a href="https://ripple.com/terms-of-use/">Terms</a></span>
<span><a href="https://ripple.com/privacy-policy/">Privacy</a></span>
<span><a href="https://raw.githubusercontent.com/ripple/ripple-dev-portal/master/LICENSE">License</a></span>
</div>
</div><!-- /.absolute_bottom_footer -->
</div><!-- /.row -->
</div><!-- /.container -->
</footer>
<!-- Jump to top button -->
<a href="#main_content_wrapper" class="jump-to-top btn btn-primary btn-lg" role="button" title="Jump to top of page">Top</span></a>
<script type="text/javascript" src="assets/js/jump-to-top.js"></script>

View File

@@ -7,50 +7,58 @@
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
<link href="assets/css/landing.css" rel="stylesheet">
{% endblock %}
{% block main %}
<!-- jumbotron -->
<!-- <div class="container theme-showcase" role="main"> -->
<div class="jumbotron">
<div class="container">
<div class="row">
<div class="col-md-12">
<div class="col-md-3">
<img class="large_logo" src="assets/img/dev-logo.png" />
</div>
<div class="col-md-9">
<h4>Welcome to the Developer Center</h4>
<p class="main_callout">
Ripples distributed settlement network is built on open-source technology that anyone can use. Here are the tools developers can use to build solutions around the open-source platform.</p>
</div>
</div>
</div>
{% endblock %}
{% block bodyclasses %}xrp-ledger-dev-portal no-sidebar{% endblock %}
{% block breadcrumbs %}{% endblock %}
{% block main %}
<div class="container portal-index">
<h2>XRP Ledger Documentation</h2>
<div class="row">
<div class="col-md-8">
{% for cat in categories %}
<ul>
<li class="top"><h5><a class="dev_heading" href="{{ (pages|selectattr('category', 'equalto', cat)|first).html }}">{{ cat }}</a></h5></li>
{% for page in pages %}
{% if page.category == cat and page.name != category and not page.toc_omit %}
<li><a href="{{ page.html }}">{{ page.name }}</a></li>
{% endif %}
{% endfor %}
</ul>
{% endfor %}
</div>
</div>
<!-- </div> -->
<!-- main container -->
<div class="container build-index">
<div class="row">
{% for cat in categories %}
<div class="col-md-3">
<ul>
<li class="top"><h5 class="dev_heading">{{ cat }}</h5></li>
{% for page in pages %}
{% if page.category == cat %}
<li><a href="{{ page.html }}">{{ page.name }}</a></li>
{% endif %}
{% endfor %}
</ul>
</div>
{% endfor %}
</div>
</div>
</div>
<aside class="related-projects">
<h3>Related Projects</h3>
<div class="project">
<p><a class="client-portal-link" href="https://clients.ripple.com/">
<img class="project-icon" src="assets/img/RippleNet-condensed.svg" />
<span class="project-name">Ripple Client Portal</span>
<span class="login-required">(login required)</span>
</a></p>
<p class="project-summary">For financial institutions using Ripple's proprietary solutions to send money globally.</p>
</div>
<div class="project">
<p><a class="interledger-link" href="https://interledger.org/">
<img class="project-icon" src="assets/img/ilp_logo.svg" />
<span class="project-name">Interledger</span>
</a></p>
<p class="project-summary">An open protocol suite for connecting all forms of digital money.</p>
</aside>
<!-- Disclaimer block -->
<div class="container build-disclaimer">
<p>
These resources are provided for informational purposes only, as illustrative references for your independent development of products or services designed to interface with Ripples open-source technologies. These resources are not intended to direct or influence how you or any other person interacts with Ripples open-source technologies. Ripple <strong><em>does not</em></strong> endorse any specific resource and makes no representations or warranties with respect to the resources listed.
</p>
<p>
Note that anti-money laundering and counter-terrorism financing laws and regulations, such as the U.S. Bank Secrecy Act and regulations issued by the Financial Crimes Enforcement Network (FinCEN), require certain parties to take certain precautions against financial crime. In particular, you may be interested in the <a href="https://www.fincen.gov/resources/statutes-regulations/guidance/application-fincens-regulations-persons-administering">2013 guidance issued by FinCEN</a> in response to questions concerning the regulatory treatment of persons who use or make a business of exchanging, accepting, or transmitting certain virtual currencies. Additional FinCEN references are available at <a href="https://www.fincen.gov">https://www.fincen.gov</a>.
</p>
</div>
{% endblock %}

View File

@@ -1,6 +1,7 @@
{% extends "template-base.html" %}
{% block sidebar %}
<h2>API Methods</h2>
<ul id='command_list'>
<li class='selected'><a href='#server_info'>server_info</a></li>
<li><a href='#server_state'>server_state</a></li>
@@ -78,7 +79,7 @@
</div>
</div>
{% endblock %}
{% block endbody %}
<link rel='stylesheet' type='text/css' href='assets/css/api-tools.css'/>
<link rel='stylesheet' type='text/css' href='assets/vendor/codemirror.css'/>
@@ -88,4 +89,3 @@
<script type='text/javascript' src='assets/js/ripple-0.11.0-min.js'></script>
<script type='text/javascript' src='assets/js/apitool-websocket.js'></script>
{% endblock %}

View File

@@ -0,0 +1,33 @@
<div class="guide_toc">
<div id="sidenav_accordion" class="panel-group" role="tablist" aria-multiselectable="true">
{% for cat in categories %}
<div class="panel panel-default{% if currentpage.category == cat %} active{% endif %}">
<div class="panel-heading" role="tab" id="sidenav_cat_head_{{loop.index}}">
<h5 class="panel-title">
<a {% if currentpage.category != cat %}class="collapsed"{% endif %} role="button" data-toggle="collapse" data-parent="#sidenav_accordion" href="#sidenav_collapse_{{loop.index}}" aria-expanded="true" aria-controls="sidenav_collapse_{{loop.index}}">
{{ cat }}
</a>
</h5>
</div><!-- /.panel-heading -->
<div id="sidenav_collapse_{{loop.index}}" class="collapse{% if currentpage.category == cat %} in{% endif %}" role="tabpanel" aria-labelledby="sidenav_cat_head_{{loop.index}}">
<div class="panel-body">
<ul class="sidebar_cat_pagelist">
{% for page in pages %}
{% if page.category == cat %}
{% if page == currentpage %}
<li><a class="active" href="#main_content_body">{{ page.name }}</a></li>
{% else %}
<li><a href="{{ page.html }}">{{ page.name }}</a></li>
{% endif %}
{% endif %}
{% endfor %}
</ul>
</div><!-- /.panel-body -->
</div><!-- /#sidenav_collapse{{loop.index}} -->
</div><!-- /.panel -->
{% endfor %}
</div><!-- /#sidenav_accordion -->
</div><!-- /.guide_toc -->