update
10
README.md
@ -1,22 +1,22 @@
|
||||
# Freenove Tutorial Online
|
||||
|
||||
<img src="readme\freenove-logo.png" alt="freenove-logo" width='100%' align="left"/>
|
||||
<img src="extra\freenove-logo.png" alt="freenove-logo" width='100%' align="left"/>
|
||||
|
||||
|
||||
|
||||
## <img src="readme\start.png" alt="start" width='5%' align="left"/> **Quick Start**
|
||||
## <img src="extra\start.png" alt="start" width='5%' align="left"/> **Quick Start**
|
||||
|
||||
Online Tutorial URL:[tutorial](https://docs.freenove.com/en/latest/)
|
||||
|
||||
|
||||
|
||||
## <img src="readme\text.png" alt="text" width='5%' align="left"/> **Materials Download**
|
||||
## <img src="extra\text.png" alt="text" width='5%' align="left"/> **Materials Download**
|
||||
|
||||
Tutorial Materials Download URL:[download](https://docs.freenove.com/en/latest/about-freenove/tutorial.html)
|
||||
|
||||
|
||||
|
||||
## <img src="readme\support.png" alt="support" width='4%' align="left"/> **Support**
|
||||
## <img src="extra\support.png" alt="support" width='4%' align="left"/> **Support**
|
||||
|
||||
We are fully responsible for our products!
|
||||
|
||||
@ -28,6 +28,6 @@ In general, we will reply to you within one working day.
|
||||
|
||||
|
||||
|
||||
## <img src="readme\freenove.png" alt="freenove" width='5%' align="left"/>**Freenove Official Website**
|
||||
## <img src="extra\freenove.png" alt="freenove" width='5%' align="left"/>**Freenove Official Website**
|
||||
|
||||
Freenove Official Website URL: [Freenove](https://freenove.com/)
|
@ -1,326 +0,0 @@
|
||||
/*
|
||||
* CSS hacks and small modification for my Sphinx website
|
||||
* :copyright: Copyright 2013-2016 Lilian Besson
|
||||
* :license: GPLv3, see LICENSE for details.
|
||||
*/
|
||||
|
||||
|
||||
/* Colors and text decoration.
|
||||
For example, :black:`text in black` or :blink:`text blinking` in rST. */
|
||||
|
||||
.black {
|
||||
color: black;
|
||||
}
|
||||
|
||||
.gray {
|
||||
color: gray;
|
||||
}
|
||||
|
||||
.grey {
|
||||
color: gray;
|
||||
}
|
||||
|
||||
.silver {
|
||||
color: silver;
|
||||
}
|
||||
|
||||
.white {
|
||||
color: white;
|
||||
}
|
||||
|
||||
.maroon {
|
||||
color: maroon;
|
||||
}
|
||||
|
||||
.red {
|
||||
color: red;
|
||||
}
|
||||
|
||||
.magenta {
|
||||
color: magenta;
|
||||
}
|
||||
|
||||
.fuchsia {
|
||||
color: fuchsia;
|
||||
}
|
||||
|
||||
.pink {
|
||||
color: pink;
|
||||
}
|
||||
|
||||
.orange {
|
||||
color: orange;
|
||||
}
|
||||
|
||||
.yellow {
|
||||
color: yellow;
|
||||
}
|
||||
|
||||
.lime {
|
||||
color: lime;
|
||||
}
|
||||
|
||||
.green {
|
||||
color: green;
|
||||
}
|
||||
|
||||
.olive {
|
||||
color: olive;
|
||||
}
|
||||
|
||||
.teal {
|
||||
color: teal;
|
||||
}
|
||||
|
||||
.cyan {
|
||||
color: cyan;
|
||||
}
|
||||
|
||||
.aqua {
|
||||
color: aqua;
|
||||
}
|
||||
|
||||
.blue {
|
||||
color: blue;
|
||||
}
|
||||
|
||||
.navy {
|
||||
color: navy;
|
||||
}
|
||||
|
||||
.purple {
|
||||
color: purple;
|
||||
}
|
||||
|
||||
.under {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.over {
|
||||
text-decoration: overline;
|
||||
}
|
||||
|
||||
.blink {
|
||||
text-decoration: blink;
|
||||
}
|
||||
|
||||
/* .line {
|
||||
text-decoration: line-through;
|
||||
}
|
||||
|
||||
.strike {
|
||||
text-decoration: line-through;
|
||||
} */
|
||||
|
||||
.it {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.ob {
|
||||
font-style: oblique;
|
||||
}
|
||||
|
||||
.small {
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
.large {
|
||||
font-size: large;
|
||||
}
|
||||
|
||||
.smallpar {
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
|
||||
/* Style pour les badges en bas de la page. */
|
||||
|
||||
div.supportBadges {
|
||||
margin: 1em;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
div.supportBadges ul {
|
||||
padding: 0;
|
||||
display: inline;
|
||||
}
|
||||
|
||||
div.supportBadges li {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
div.supportBadges a {
|
||||
margin-right: 1px;
|
||||
opacity: 0.6;
|
||||
}
|
||||
|
||||
div.supportBadges a:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
|
||||
/* Details elements in the sidebar */
|
||||
|
||||
a.reference {
|
||||
border-bottom: none;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
ul.details {
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
ul.details li p {
|
||||
font-size: 85%;
|
||||
}
|
||||
|
||||
ul.externallinks {
|
||||
font-size: 85%;
|
||||
}
|
||||
|
||||
|
||||
/* Pour le drapeau de langue */
|
||||
|
||||
img.languageswitch {
|
||||
width: 50px;
|
||||
height: 32px;
|
||||
margin-left: 5px;
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
||||
div.sphinxsidebar {
|
||||
overflow: hidden !important;
|
||||
font-size: 120%;
|
||||
word-wrap: break-word;
|
||||
width: 300px;
|
||||
max-width: 300px;
|
||||
}
|
||||
|
||||
div.sphinxsidebar h3 {
|
||||
font-size: 125%;
|
||||
}
|
||||
|
||||
div.sphinxsidebar h4 {
|
||||
font-size: 110%;
|
||||
}
|
||||
|
||||
div.sphinxsidebar a {
|
||||
font-size: 85%;
|
||||
}
|
||||
|
||||
|
||||
/* Image style for scrollUp jQuery plugin */
|
||||
|
||||
#scrollUpLeft {
|
||||
bottom: 50px;
|
||||
left: 260px;
|
||||
height: 38px;
|
||||
width: 38px;
|
||||
background: url('//perso.crans.org/besson/_images/.top.svg');
|
||||
background: url('../_images/.top.svg');
|
||||
}
|
||||
|
||||
@media screen and (max-width: 875px) {
|
||||
#scrollUpLeft {
|
||||
right: 50px;
|
||||
left: auto;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* responsive for font-size. */
|
||||
|
||||
@media (max-width: 875px) {
|
||||
body {
|
||||
font-size: 105%;
|
||||
/* Increase font size for responsive theme */
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 1480px) and (min-width: 876px) {
|
||||
body {
|
||||
font-size: 110%;
|
||||
/* Increase font size for not-so-big screens */
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 1481px) {
|
||||
body {
|
||||
font-size: 115%;
|
||||
/* Increase even more font size for big screens */
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Social Icons in the sidebar (available: twitter, facebook, linkedin, google+, bitbucket, github) */
|
||||
|
||||
.social-icons {
|
||||
display: inline-block;
|
||||
margin: 0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.social-icons a {
|
||||
background: none no-repeat scroll center top #444444;
|
||||
border: 1px solid #F6F6F6;
|
||||
border-radius: 50% 50% 50% 50%;
|
||||
display: inline-block;
|
||||
height: 35px;
|
||||
width: 35px;
|
||||
margin: 0;
|
||||
text-indent: -9000px;
|
||||
transition: all 0.2s ease 0s;
|
||||
text-align: center;
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.social-icons li {
|
||||
display: inline-block;
|
||||
list-style-type: none;
|
||||
border-bottom: none;
|
||||
}
|
||||
.social-icons li a {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.social-icons a:hover {
|
||||
background-color: #666666;
|
||||
transition: all 0.2s ease 0s;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.social-icons a.facebook {
|
||||
background-image: url('../_images/.facebook.png');
|
||||
background-image: url('//perso.crans.org/besson/_images/.facebook.png');
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
background-size: 35px 35px;
|
||||
}
|
||||
|
||||
.social-icons a.bitbucket {
|
||||
background-image: url('../_images/.bitbucket.png');
|
||||
background-image: url('//perso.crans.org/besson/_images/.bitbucket.png');
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
background-size: 35px 35px;
|
||||
}
|
||||
|
||||
.social-icons li a.github {
|
||||
background-image: url('../_images/.github.png');
|
||||
background-image: url('//perso.crans.org/besson/_images/.github.png');
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
background-size: 35px 35px;
|
||||
}
|
||||
|
||||
.social-icons li a.wikipedia {
|
||||
background-image: url('../_images/.wikipedia.png');
|
||||
background-image: url('//perso.crans.org/besson/_images/.wikipedia.png');
|
||||
display: block;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
background-size: 35px 35px;
|
||||
}
|
@ -1,142 +0,0 @@
|
||||
/*
|
||||
* CSS hacks and small modification for my Sphinx website
|
||||
* :copyright: Copyright 2013-2016 Lilian Besson
|
||||
* :license: GPLv3, see LICENSE for details.
|
||||
*/
|
||||
|
||||
|
||||
/* Colors and text decoration.
|
||||
For example, :black:`text in black` or :blink:`text blinking` in rST. */
|
||||
|
||||
.black {
|
||||
color: black;
|
||||
}
|
||||
|
||||
.gray {
|
||||
color: gray;
|
||||
}
|
||||
|
||||
.grey {
|
||||
color: gray;
|
||||
}
|
||||
|
||||
.silver {
|
||||
color: silver;
|
||||
}
|
||||
|
||||
.white {
|
||||
color: white;
|
||||
}
|
||||
|
||||
.maroon {
|
||||
color: maroon;
|
||||
}
|
||||
|
||||
.red {
|
||||
color: red;
|
||||
}
|
||||
|
||||
.magenta {
|
||||
color: magenta;
|
||||
}
|
||||
|
||||
.fuchsia {
|
||||
color: fuchsia;
|
||||
}
|
||||
|
||||
.pink {
|
||||
color: pink;
|
||||
}
|
||||
|
||||
.orange {
|
||||
color: orange;
|
||||
}
|
||||
|
||||
.yellow {
|
||||
color: yellow;
|
||||
}
|
||||
|
||||
.lime {
|
||||
color: lime;
|
||||
}
|
||||
|
||||
.green {
|
||||
color: green;
|
||||
}
|
||||
|
||||
.olive {
|
||||
color: olive;
|
||||
}
|
||||
|
||||
.teal {
|
||||
color: teal;
|
||||
}
|
||||
|
||||
.cyan {
|
||||
color: cyan;
|
||||
}
|
||||
|
||||
.aqua {
|
||||
color: aqua;
|
||||
}
|
||||
|
||||
.blue {
|
||||
color: blue;
|
||||
}
|
||||
|
||||
.navy {
|
||||
color: navy;
|
||||
}
|
||||
|
||||
.purple {
|
||||
color: purple;
|
||||
}
|
||||
|
||||
.huge {
|
||||
font-size: xx-large;
|
||||
}
|
||||
|
||||
.big {
|
||||
font-size: x-large;
|
||||
}
|
||||
|
||||
.small{
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
.tiny{
|
||||
font-size: smaller;
|
||||
}
|
||||
|
||||
|
||||
.large {
|
||||
font-size: large;
|
||||
}
|
||||
|
||||
.larger {
|
||||
font-size: larger;
|
||||
}
|
||||
|
||||
.x-large{
|
||||
font-size: x-large;
|
||||
}
|
||||
|
||||
.xx-large{
|
||||
font-size: xx-large;
|
||||
}
|
||||
|
||||
.small {
|
||||
font-size: small;
|
||||
}
|
||||
|
||||
.smaller {
|
||||
font-size: smaller;
|
||||
}
|
||||
|
||||
.x-small{
|
||||
font-size: x-small;
|
||||
}
|
||||
|
||||
.xx-small{
|
||||
font-size: xx-small;
|
||||
}
|
@ -1,377 +0,0 @@
|
||||
/* 顶部导航栏 */
|
||||
#nav-bar {
|
||||
height: 3.5rem;
|
||||
width: 100%;
|
||||
background-color: #f0f0f0;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
z-index: 100;
|
||||
}
|
||||
|
||||
/* 原RTD左侧导航栏下移 */
|
||||
.wy-nav-side {
|
||||
/* top: 3.5rem; */
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
/* 原页面下移 */
|
||||
.wy-grid-for-nav {
|
||||
top: 3.5rem;
|
||||
height: calc(100% - 3.5rem);
|
||||
overflow-y: auto;
|
||||
position: fixed;
|
||||
}
|
||||
|
||||
/* 原Logo删除 */
|
||||
.wy-side-nav-search>.icon.icon-home {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* 版本号删除 */
|
||||
.version {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* 搜索栏调整 */
|
||||
.wy-side-nav-search {
|
||||
/* 搜索栏背景去除 */
|
||||
background: none;
|
||||
/* 移除搜索栏下方margin,让下面内容上移 */
|
||||
margin-bottom: 0 !important;
|
||||
margin-top: 3.5rem;
|
||||
}
|
||||
|
||||
/* 搜索框调整 */
|
||||
.wy-side-nav-search input[type=text] {
|
||||
/* 移除搜索框的蓝色边缘 */
|
||||
border-color: unset !important;
|
||||
}
|
||||
|
||||
.nav-bar-logo {
|
||||
/* width: 15rem; */
|
||||
padding: 0rem;
|
||||
height: 3.5rem;
|
||||
width: 300px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
#advertisingBox {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: 3.5rem;
|
||||
width: 100%;
|
||||
max-width: 800px;
|
||||
}
|
||||
|
||||
#advertising {
|
||||
display: flex;
|
||||
height: 2.1rem;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
font-size: 1.6rem;
|
||||
background-color: #8a8585;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#advertising span {
|
||||
color: black;
|
||||
font-family: Roboto, sans-serif !important;
|
||||
}
|
||||
|
||||
#advertising span:nth-child(2),
|
||||
#advertising span:last-child {
|
||||
color: white;
|
||||
}
|
||||
|
||||
.nav-bar__itemBox {
|
||||
display: flex;
|
||||
justify-content: space-evenly;
|
||||
align-items: center;
|
||||
height: 1.4rem;
|
||||
}
|
||||
|
||||
.nav-bar-items {
|
||||
display: flex;
|
||||
max-width: 1100px;
|
||||
}
|
||||
|
||||
.nav-bar__item {
|
||||
color: #202020;
|
||||
font-size: 1rem;
|
||||
line-height: 1rem;
|
||||
text-align: center;
|
||||
margin: 0 .6rem;
|
||||
/* height: 3.5rem; */
|
||||
position: relative;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.nav-bar__item>a {
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
font-family: Roboto, sans-serif !important;
|
||||
font-weight: 400;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
.nav-bar__item:hover>a {
|
||||
color: #019cda;
|
||||
}
|
||||
|
||||
.icon.icon--arrow-bottom {
|
||||
width: .8rem;
|
||||
margin-left: .5rem;
|
||||
}
|
||||
|
||||
.icon.icon--nav-triangle {
|
||||
display: none;
|
||||
position: absolute;
|
||||
bottom: -1px;
|
||||
height: .6rem;
|
||||
margin-left: 3rem;
|
||||
z-index: 2;
|
||||
transition: .2s ease-in-out;
|
||||
}
|
||||
|
||||
.icon.icon--nav-triangle-left {
|
||||
position: absolute;
|
||||
height: .8rem;
|
||||
top: 1rem;
|
||||
right: 100%;
|
||||
}
|
||||
|
||||
.icon.icon--arrow-right {
|
||||
height: .8rem;
|
||||
}
|
||||
|
||||
.nav-dropdown {
|
||||
display: none;
|
||||
top: 100%;
|
||||
position: absolute;
|
||||
background-color: #ffffff;
|
||||
min-width: 18rem;
|
||||
text-align: start;
|
||||
border: 1px solid #e1e3e4;
|
||||
z-index: 1;
|
||||
padding: .6rem 0;
|
||||
}
|
||||
|
||||
.nav-dropdown__item {
|
||||
color: black;
|
||||
position: relative;
|
||||
padding: .4rem .8rem;
|
||||
text-decoration: none;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.nav-dropdown .nav-dropdown {
|
||||
top: -.6rem;
|
||||
left: 100%;
|
||||
}
|
||||
|
||||
.nav-dropdown__item:hover>a {
|
||||
color: #019cda;
|
||||
}
|
||||
|
||||
.nav-dropdown__item>a {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
cursor: pointer;
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.nav-bar__item:hover>.nav-dropdown,
|
||||
.nav-bar__item:hover>a>.icon.icon--nav-triangle {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.nav-dropdown__item:hover>.nav-dropdown {
|
||||
display: block;
|
||||
}
|
||||
|
||||
* {
|
||||
font-family: "Verdana" ! important;
|
||||
}
|
||||
|
||||
.setMenu {
|
||||
overflow-y: hidden;
|
||||
}
|
||||
|
||||
.setMenu::-webkit-scrollbar {
|
||||
background: transparent;
|
||||
height: 4px;
|
||||
}
|
||||
|
||||
.setMenu::-webkit-scrollbar-track-piece {
|
||||
-webkit-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
background: #ccc;
|
||||
|
||||
}
|
||||
|
||||
.setMenu::-webkit-scrollbar-thumb {
|
||||
background: #019cda;
|
||||
height: 4px;
|
||||
|
||||
}
|
||||
|
||||
.rasPad .iconImg {
|
||||
width: 178px;
|
||||
border-radius: 0;
|
||||
height: auto;
|
||||
padding: 0;
|
||||
margin: auto auto .809em auto;
|
||||
|
||||
}
|
||||
|
||||
.readTheDocIcon {
|
||||
margin: auto auto .809em auto;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.readTheDocIcon .readIconImg {
|
||||
width: 99px;
|
||||
height: auto;
|
||||
border-radius: 0px;
|
||||
background-image: url("https://ezblock.cc/readDocFile/readTheDoc.svg");
|
||||
background-repeat: no-repeat;
|
||||
background-position: left center;
|
||||
background-size: 15px 15px;
|
||||
color: #fff;
|
||||
padding-left: 30px;
|
||||
}
|
||||
|
||||
footer {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.addthis-smartlayers #at4-share,
|
||||
.addthis-smartlayers #at4-soc {
|
||||
right: 0 !important;
|
||||
left: auto !important;
|
||||
top: 35% !important;
|
||||
animation-name: false !important;
|
||||
}
|
||||
|
||||
#at4-scc {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.addthis_inline_share_toolbox {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 768px) {
|
||||
#advertising {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.nav-bar__itemBox {
|
||||
height: 3.5rem;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
.wy-nav-content-wrap {
|
||||
top: 3.5rem !important;
|
||||
}
|
||||
}
|
||||
/* .extrabody-content {
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
height: 4em;
|
||||
z-index: 200;
|
||||
top: 0;
|
||||
left: 0;
|
||||
}
|
||||
|
||||
.wy-nav-side {
|
||||
position: fixed;
|
||||
margin-top: 4em;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
padding-bottom: 2em;
|
||||
width: 300px;
|
||||
overflow-x: hidden;
|
||||
overflow-y: hidden;
|
||||
min-height: 100%;
|
||||
color: #9b9b9b;
|
||||
background: #343131;
|
||||
z-index: 200;
|
||||
}
|
||||
|
||||
.wy-side-nav-search {
|
||||
position: static;
|
||||
display: block;
|
||||
width: 300px;
|
||||
padding: .809em;
|
||||
margin-bottom: .809em;
|
||||
z-index: 200;
|
||||
background-color: #2980b9;
|
||||
text-align: center;
|
||||
color: #fcfcfc;
|
||||
}
|
||||
|
||||
.wy-nav-content {
|
||||
padding: 1.618em 3.236em;
|
||||
height: 100%;
|
||||
max-width: 800px;
|
||||
margin-left: 0;
|
||||
margin-top: 4em;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
.dropdown-checkbox {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.dropdown-content {
|
||||
display: none;
|
||||
position: absolute;
|
||||
background-color: #f9f9f9;
|
||||
min-width: 160px;
|
||||
box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.dropdown-content label {
|
||||
display: block;
|
||||
margin: 0;
|
||||
padding: 5px 10px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.dropdown-content label:hover {
|
||||
background-color: #f1f1f1;
|
||||
}
|
||||
|
||||
.dropdown-checkbox .dropbtn {
|
||||
background-color: #4CAF50;
|
||||
color: white;
|
||||
padding: 5px;
|
||||
font-size: 16px;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.dropdown-checkbox .dropbtn:hover {
|
||||
background-color: #3e8e41
|
||||
} */
|
||||
|
||||
.product-table td {
|
||||
white-space: normal !important;
|
||||
}
|
||||
|
||||
.product-image {
|
||||
max-width: 120px;
|
||||
width: 120px;
|
||||
}
|
@ -1,25 +0,0 @@
|
||||
|
||||
:root{
|
||||
--fn_nav_height: 2.0rem
|
||||
}
|
||||
|
||||
.extrabody-content{
|
||||
/* border: solid #00F 2px; */
|
||||
background-color: #EFEFEF;
|
||||
height: var(--fn_nav_height);
|
||||
}
|
||||
|
||||
|
||||
.wy-grid-for-nav {
|
||||
top: var(--fn_nav_height);
|
||||
height: calc(100% - var(--fn_nav_height));
|
||||
height: 100%;
|
||||
overflow-y: auto;
|
||||
position: fixed;
|
||||
}
|
||||
|
||||
|
||||
.wy-nav-side {
|
||||
top: var(--fn_nav_height);
|
||||
z-index: 2;
|
||||
}
|
@ -1,3 +0,0 @@
|
||||
.font-20 {
|
||||
font-size: 20px;
|
||||
}
|
@ -1,105 +0,0 @@
|
||||
@charset "utf-8";
|
||||
/* CSS Document */
|
||||
:root{
|
||||
--fn_nav_height: 2.0rem;
|
||||
--fn_nav_fontsize: 1.5rem;
|
||||
}
|
||||
|
||||
.nav_fn {
|
||||
/* border: solid #F00 5px; */
|
||||
background-color: rgb(52, 49, 49);
|
||||
position: absolute;
|
||||
width: fit-content;
|
||||
height: auto;
|
||||
left: 0;
|
||||
top: 0;
|
||||
z-index: 1;
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
.nav_fn ul {
|
||||
background-color: rgb(52, 49, 49);
|
||||
/* border: solid #F00 5px; */
|
||||
width: auto;
|
||||
height: auto;
|
||||
font-size: var(--fn_nav_fontsize);
|
||||
line-height: var(--fn_nav_height);
|
||||
/* display:inline-block; */
|
||||
text-align: center;
|
||||
float: left;
|
||||
position: relative;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
/* overflow:hidden; */
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
.nav_fn li {
|
||||
background-color: #003333;
|
||||
display: block;
|
||||
float: left;
|
||||
width:9px;
|
||||
height: var(--fn_nav_height);
|
||||
cursor: pointer;
|
||||
margin-left: 0px;
|
||||
list-style-type: none;
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
.navLogo {
|
||||
background: url(../component-imgs/freenove-logo.png) no-repeat center;
|
||||
background-size: 100%;
|
||||
float: left;
|
||||
width: auto;
|
||||
height: var(--fn_nav_height);
|
||||
}
|
||||
|
||||
.nav_fn .navDropDown {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.nav_fn .dropBtn {
|
||||
/* border: solid #00F 2px; */
|
||||
display: inline-block;
|
||||
color: white;
|
||||
text-align: center;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.nav_fn a:hover,
|
||||
.navDropDown:hover .dropBtn {
|
||||
background-color: #111;
|
||||
}
|
||||
|
||||
.nav_fn .navDropDown {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.nav_fn .dropDownContent {
|
||||
/* opacity: 1; */
|
||||
width: 100%;
|
||||
background-color: #F9F9F9;
|
||||
position: absolute;
|
||||
display: none;
|
||||
box-shadow: 0px 8px 15px 5px rgba(0, 0, 0, 0.8);
|
||||
}
|
||||
|
||||
.nav_fn .dropDownContent a {
|
||||
color: black;
|
||||
text-decoration: none;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.nav_fn .dropDownContent a:hover {
|
||||
background-color: #F1F1F1;
|
||||
}
|
||||
|
||||
.nav_fn .navDropDown:hover .dropDownContent {
|
||||
display: block;
|
||||
}
|
BIN
docs/source/_static/images/freenove_logo_home_button.png
Normal file
After Width: | Height: | Size: 66 KiB |
BIN
docs/source/_static/images/freenove_logo_tag_icon.png
Normal file
After Width: | Height: | Size: 19 KiB |
@ -1,55 +0,0 @@
|
||||
// JavaScript Document
|
||||
$(document).ready(function () {
|
||||
loadReady();
|
||||
|
||||
});
|
||||
$(window).resize(function () {
|
||||
// console.log('resize ... ');
|
||||
NaviResize();
|
||||
});
|
||||
|
||||
function loadReady() {
|
||||
// console.log('ready ... ');
|
||||
NaviResize();
|
||||
var autoPlay2 = setInterval("test()", 1000);
|
||||
$(".dropBtn").click(function () {
|
||||
// $(this).css("background-color", "#FFF");
|
||||
$("#txt").text("click:");
|
||||
});
|
||||
}
|
||||
|
||||
function NaviResize() {
|
||||
// var wy_nav_side = document.getElementsByClassName('wy-nav-side')[0];
|
||||
// var wy_nav_content = document.getElementsByClassName('wy-nav-content')[0];
|
||||
// // var nav_fn = document.getElementsByClassName('nav_fn')[0];
|
||||
// var rect_wy_nav_side = wy_nav_side.getBoundingClientRect();
|
||||
// // var rect_wy_nav_content = wy_nav_content.getBoundingClientRect();
|
||||
// // var rect_nav_fn = nav_fn.getBoundingClientRect();
|
||||
// console.log('rect_wy_nav_side :', rect_wy_nav_side.width);
|
||||
// console.log('wy_nav_content:', wy_nav_content.width);
|
||||
// $('.wy-nav-content').on
|
||||
// // var winWidth = $(window).width();
|
||||
// console.log("wy-nav-side " + $('.wy-nav-side').width() + ' wy-nav-content: ' + $('.wy-nav-content').outerWidth(true) + " " + $('.wy-nav-side').offset().left + "");
|
||||
var navWidth = $('.wy-nav-side').width() + $('.wy-nav-content').outerWidth(true) + $('.wy-nav-side').offset().left;
|
||||
var navHeight = $(".extrabody-content").height();
|
||||
var navItemWidth = navWidth / 7;
|
||||
navItemWidth = navItemWidth < 60 ? 60 : navItemWidth;
|
||||
var navItemHeight = navItemWidth / 5;
|
||||
console.log("navWidth " + navWidth + ' navItemWidth: ' + navItemWidth + " " + $('.wy-nav-side').offset().left + "");
|
||||
// $(".extrabody-content").height(navItemWidth);
|
||||
// $(".nav_fn").height(navItemHeight);
|
||||
// $(".nav_fn>ul").css("line-height", navItemHeight + "px");
|
||||
$(".nav_fn>ul>li").width(navItemWidth);
|
||||
// console.log('.extrabody-content.height: ' + $(".extrabody-content").height());
|
||||
$(".nav_fn>ul>li").height($(".extrabody-content").height);
|
||||
$(".nav_fn>ul a").css("font-size", navItemWidth * 0.15 + "px");
|
||||
|
||||
}
|
||||
function test() {
|
||||
//var today=new Date()
|
||||
//var h=today.getHours()
|
||||
//var m=today.getMinutes()
|
||||
//var s=today.getSeconds()
|
||||
$("#txt").fadeToggle(1000);
|
||||
//$("#txt").text(bannerCount+":"+winWidth);
|
||||
}
|
@ -14,3 +14,8 @@
|
||||
.. role:: xx-small
|
||||
|
||||
.. role:: medium
|
||||
|
||||
|
||||
.. role:: x-large-bold
|
||||
|
||||
|
||||
|
22
docs/source/_templates/footer.html
Normal file
@ -0,0 +1,22 @@
|
||||
{%- if (theme_prev_next_buttons_location == 'bottom' or theme_prev_next_buttons_location == 'both') and (next or prev)
|
||||
%}
|
||||
{#- Translators: This is an ARIA section label for the footer section of the page. -#}
|
||||
<div class="rst-footer-buttons" role="navigation" aria-label="{{ _('Footer') }}">
|
||||
{%- if prev %}
|
||||
<a href="{{ prev.link|e }}" class="btn btn-neutral float-left" title="{{ prev.title|striptags|e }}" accesskey="p"
|
||||
rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> {{ _('Previous') }}</a>
|
||||
{%- endif %}
|
||||
{%- if next %}
|
||||
<a href="{{ next.link|e }}" class="btn btn-neutral float-right" title="{{ next.title|striptags|e }}" accesskey="n"
|
||||
rel="next">{{ _('Next') }} <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
|
||||
{%- endif %}
|
||||
</div>
|
||||
<br>
|
||||
{%- endif %}
|
||||
|
||||
{%- block extrafooter %}
|
||||
<div id="footer_content">
|
||||
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
@ -2,6 +2,11 @@
|
||||
|
||||
{%- block extrabody %}
|
||||
<div class="extrabody-content">
|
||||
{%- include "navigation.html" %}
|
||||
|
||||
<div id="navContent">
|
||||
<div class="nav_fn">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
@ -1,71 +0,0 @@
|
||||
<link href="{{ pathto('_static/css/navigationStyle.css', 1) }}" rel="stylesheet" />
|
||||
<!-- <script type="text/javascript" src="js/jquery-1.9.1.min.js"></script> -->
|
||||
<script type="text/javascript" src="{{ pathto('_static/js/navigationStyle.js', 1) }}"></script>
|
||||
|
||||
<div class="nav_fn">
|
||||
<ul>
|
||||
<!-- <li class="navLogo"><a href="/index.html"></a></li> -->
|
||||
<li>
|
||||
<div class="navDropDown">
|
||||
<a href="https://docs.freenove.com/en/latest/" class="dropBtn">Home</a>
|
||||
<div class="dropDownContent">
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="navDropDown">
|
||||
<a href="#" class="dropBtn">Store</a>
|
||||
<div class="dropDownContent">
|
||||
<a href="https://store.freenove.com/">Official </a>
|
||||
<a href="https://www.ebay.com/str/freenove">eBay </a>
|
||||
<a href="https://freenove.aliexpress.com/store">AliExpress </a>
|
||||
<a href="https://www.amazon.com/freenove">Amazon </a>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="navDropDown">
|
||||
<a href="https://docs.freenove.com/en/latest/about-freenove/tutorial.html#" class="dropBtn">Tutorial</a>
|
||||
<div class="dropDownContent">
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="navDropDown">
|
||||
<a href="https://docs.freenove.com/en/latest/about-freenove/support.html#" class="dropBtn">Support</a>
|
||||
<div class="dropDownContent">
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="navDropDown">
|
||||
<a href="https://docs.freenove.com/en/latest/about-freenove/app.html#" class="dropBtn">App</a>
|
||||
<div class="dropDownContent">
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="navDropDown">
|
||||
<a href="https://docs.freenove.com/en/latest/about-freenove/contact.html#" class="dropBtn">Contact</a>
|
||||
<div class="dropDownContent">
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
<div class="navDropDown">
|
||||
<a href="https://docs.freenove.com/en/latest/about-freenove/about.html#" class="dropBtn">About</a>
|
||||
<div class="dropDownContent">
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<!-- <li id="txt">
|
||||
<div class="navDropDown">
|
||||
<a href="https://freenove.com/" class="dropBtn">Welcome</a>
|
||||
<div class="dropDownContent">
|
||||
</div>
|
||||
</div>
|
||||
</li> -->
|
||||
|
||||
</ul>
|
||||
</div>
|
@ -15,6 +15,23 @@ sys.path.insert(0, pathlib.Path(__file__).parents[2].resolve().as_posix())
|
||||
os.system("rm -r freenove_Kit")
|
||||
os.system("git clone --depth 1 https://github.com/Freenove/Freenove_Ultimate_Starter_Kit_for_ESP32 freenove_Kit")
|
||||
|
||||
# # 删除文件夹
|
||||
# os.system("rm -r _static")
|
||||
# os.system("rm -r _templates")
|
||||
# os.system("rm freenove-logo.png")
|
||||
|
||||
# # 克隆所需资料到freenove_css文件夹中
|
||||
# os.system("git clone --branch nav https://github.com/Freenove/freenove-docs freenove_css")
|
||||
|
||||
# # 复制网页样式到对应位置
|
||||
# os.system("cp -r freenove_css/_static .")
|
||||
# os.system("cp -r freenove_css/_templates .")
|
||||
|
||||
# # 复制网页样式到对应位置
|
||||
# os.system("cp freenove_css/freenove-logo.png .")
|
||||
|
||||
# # 删除文件夹
|
||||
# os.system("rm -r freenove_css")
|
||||
|
||||
def prepend_to_file(file_path, content):
|
||||
with open(file_path, "r+") as file:
|
||||
@ -38,7 +55,7 @@ print("hello")
|
||||
# -- Project information -----------------------------------------------------
|
||||
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
|
||||
|
||||
project = "fnk0066-docs"
|
||||
project = "fnk0047-docs"
|
||||
copyright = "2016 - " + str(datetime.now().year) + ", support@freenove.com"
|
||||
author = "freenove"
|
||||
release = "v1.0"
|
||||
@ -67,8 +84,8 @@ html_theme = "sphinx_rtd_theme"
|
||||
|
||||
|
||||
html_static_path = ["_static"]
|
||||
|
||||
html_logo = "freenove-logo.png"
|
||||
html_favicon = "_static/images/freenove_logo_tag_icon.png"
|
||||
html_logo = "_static/images/freenove_logo_home_button.png"
|
||||
html_theme_options = {
|
||||
"collapse_navigation": False,
|
||||
"logo_only": True,
|
||||
@ -79,6 +96,11 @@ html_theme_options = {
|
||||
# 'style_nav_header_background': '#005500',
|
||||
}
|
||||
|
||||
# multi-language docs
|
||||
language = 'en'
|
||||
locale_dirs = ['../locales/'] # path is example but recommended.
|
||||
gettext_compact = False # optional.
|
||||
gettext_uuid = True # optional.
|
||||
|
||||
rst_prolog = """
|
||||
.. include:: <s5defs.txt>
|
||||
@ -99,18 +121,24 @@ prolog = "\n".join(
|
||||
print(rst_prolog)
|
||||
del frozen_locals
|
||||
|
||||
|
||||
html_css_files = [
|
||||
"css/color-roles.css",
|
||||
'https://cdn.jsdelivr.net/gh/Freenove/freenove-docs/docs/source/_static/css/color-roles.css',
|
||||
'https://cdn.jsdelivr.net/gh/Freenove/freenove-docs/docs/source/_static/css/custom.css',
|
||||
'https://cdn.jsdelivr.net/gh/Freenove/freenove-docs/docs/source/_static/css/navigationStyle.css',
|
||||
]
|
||||
html_js_files = [
|
||||
'https://cdn.jsdelivr.net/gh/Freenove/freenove-docs/docs/source/_static/js/custom.js',
|
||||
# 'js/custom.js'
|
||||
]
|
||||
|
||||
html_baseurl = os.environ.get("READTHEDOCS_CANONICAL_URL", "/")
|
||||
|
||||
intersphinx_mapping = {
|
||||
"rpi-starter-kit": ("https://freenove-docs2.readthedocs.io/projects/fnk0066/en/latest/", None),
|
||||
# "rpi-starter-kit": ("https://freenove-docs2.readthedocs.io/projects/fnk0066/en/latest/", None),
|
||||
}
|
||||
intersphinx_disabled_reftypes = ["*"]
|
||||
|
||||
|
||||
def setup(app):
|
||||
pass
|
||||
app.add_css_file("css/custom.css")
|
||||
|
||||
# app.add_css_file("css/custom.css")
|
@ -1,14 +1,36 @@
|
||||
######################################################
|
||||
Freenove ESP32 WROVER Board
|
||||
FNK0060
|
||||
######################################################
|
||||
|
||||
FNK0060
|
||||
*********************************
|
||||
Freenove ESP32 WROVER Board
|
||||
******************************************************
|
||||
|
||||
Download
|
||||
====================================================
|
||||
|
||||
Please download the full resources including code examples, datasheets, etc. first.
|
||||
|
||||
`Click to download <https://github.com/Freenove/Freenove_ESP32_WROVER_Board/archive/refs/heads/master.zip>`_
|
||||
|
||||
Support
|
||||
====================================================
|
||||
|
||||
We are fully responsible for our products!
|
||||
|
||||
Please feel free to send us an email if you have any concerns,
|
||||
whether they are questions before buying or problems in use.
|
||||
|
||||
`support@freenove.com <support@freenove.com>`_
|
||||
|
||||
In general, we will reply to you within one working day.
|
||||
|
||||
Documentation
|
||||
====================================================
|
||||
|
||||
This product provides the following online documents.
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
:caption: Language
|
||||
:glob:
|
||||
|
||||
fnk0060/codes/C.rst
|
||||
fnk0060/codes/Python.rst
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 5.9 KiB |
Before Width: | Height: | Size: 8.3 KiB After Width: | Height: | Size: 8.3 KiB |
Before Width: | Height: | Size: 6.2 KiB After Width: | Height: | Size: 6.2 KiB |
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 14 KiB |