diff --git a/src/forge/Component/Component.scss b/src/forge/Component/Component.scss index 30a62005c..6f5159504 100644 --- a/src/forge/Component/Component.scss +++ b/src/forge/Component/Component.scss @@ -363,7 +363,7 @@ li.ant-menu-item{ color: #333; height: 34px; line-height: 34px; - margin-bottom: 10px; + margin-bottom: 10px!important; a{ display: block; overflow: hidden; diff --git a/src/home/FifthEdition.jsx b/src/home/FifthEdition.jsx new file mode 100644 index 000000000..e8244a905 --- /dev/null +++ b/src/home/FifthEdition.jsx @@ -0,0 +1,80 @@ +import React , { useEffect } from 'react'; +import Beijing from './Img/unit/beijing.png'; +import { Link } from 'react-router-dom'; + +const list = [ + {image_url:Beijing, name:"111",src:""}, + {image_url:Beijing, name:"111",src:""}, + {image_url:Beijing, name:"222",src:""}, + {image_url:Beijing, name:"111",src:""}, + {image_url:Beijing, name:"222",src:""}, + {image_url:Beijing, name:"111",src:""}, + {image_url:Beijing, name:"222",src:""}, + {image_url:Beijing, name:"222",src:""}, + {image_url:Beijing, name:"222",src:""}, + {image_url:Beijing, name:"222",src:""}, + {image_url:Beijing, name:"222",src:""}, + {image_url:Beijing, name:"222",src:""}, +] + +function FifthEdition() { + + useEffect(()=>{ + if(list.length>10){ + Init(); + } + },[]) + + function Init() { + let box = document.getElementById('scrollBox1'); + scrollUp(); + var myTimer = setInterval(scrollUp, 10); + // 鼠标移入container 元素上 清除定时器 停止滚动 + box.onmouseover = () => { + clearInterval(myTimer); + } + // 鼠标移出container 元素上 继续滚动 + // 60表示每隔60毫秒向上滚动一次 + box.onmouseout = () => { + myTimer = setInterval(scrollUp, 10); + } + } + + function scrollUp() { + let box = document.getElementById('scrollBox1'); + if(box){ + let con1 = document.getElementById('box1'); + if (box.scrollLeft >= con1.clientWidth) { + box.scrollLeft = 0; + } else { + box.scrollLeft++; + } + } + } + + return( +
+ + {list.length > 10 && + + } +
+ ) +} +export default FifthEdition; \ No newline at end of file diff --git a/src/home/Footnav.jsx b/src/home/Footnav.jsx new file mode 100644 index 000000000..610679155 --- /dev/null +++ b/src/home/Footnav.jsx @@ -0,0 +1,44 @@ +import React from 'react'; +import Img from './Img/gitlink.png' + +function Footnav() { + return( +
+
+ + + +
+
+
  • qq群
  • + qq群 +
    + + +
    +

    ©Copyright 2007~2021 国防科技大学Gitlink团队 & IntelliDE
    湘ICP备 17009477号

    + + ) +} +export default Footnav; \ No newline at end of file diff --git a/src/home/Headnav.jsx b/src/home/Headnav.jsx index 11ce7c06a..5d55ede8b 100644 --- a/src/home/Headnav.jsx +++ b/src/home/Headnav.jsx @@ -1,15 +1,18 @@ import React from 'react'; import './Index.scss'; +import gitlink from './Img/gitlink.png'; +import { Link } from 'react-router-dom'; function HeadNav() { return(
    登录 diff --git a/src/home/Img/2-2-1.png b/src/home/Img/2-2-1.png index 14d82478c..8c10ecc33 100644 Binary files a/src/home/Img/2-2-1.png and b/src/home/Img/2-2-1.png differ diff --git a/src/home/Img/2-2-2.png b/src/home/Img/2-2-2.png index 2da28d99c..180996e76 100644 Binary files a/src/home/Img/2-2-2.png and b/src/home/Img/2-2-2.png differ diff --git a/src/home/Img/2-2-3.png b/src/home/Img/2-2-3.png index 9cdda4e7f..3e6752b69 100644 Binary files a/src/home/Img/2-2-3.png and b/src/home/Img/2-2-3.png differ diff --git a/src/home/Img/2-3-1.png b/src/home/Img/2-3-1.png new file mode 100644 index 000000000..ee0524212 Binary files /dev/null and b/src/home/Img/2-3-1.png differ diff --git a/src/home/Img/2-3-2.png b/src/home/Img/2-3-2.png new file mode 100644 index 000000000..06c2e4f56 Binary files /dev/null and b/src/home/Img/2-3-2.png differ diff --git a/src/home/Img/2-3-3.png b/src/home/Img/2-3-3.png new file mode 100644 index 000000000..920d7865e Binary files /dev/null and b/src/home/Img/2-3-3.png differ diff --git a/src/home/Img/2-3-4.png b/src/home/Img/2-3-4.png new file mode 100644 index 000000000..f93c69a09 Binary files /dev/null and b/src/home/Img/2-3-4.png differ diff --git a/src/home/Img/2-3bg.png b/src/home/Img/2-3bg.png new file mode 100644 index 000000000..b79e16a26 Binary files /dev/null and b/src/home/Img/2-3bg.png differ diff --git a/src/home/Img/2-4-1.png b/src/home/Img/2-4-1.png new file mode 100644 index 000000000..e768466cf Binary files /dev/null and b/src/home/Img/2-4-1.png differ diff --git a/src/home/Img/2-4bg.png b/src/home/Img/2-4bg.png new file mode 100644 index 000000000..1d88f5b6f Binary files /dev/null and b/src/home/Img/2-4bg.png differ diff --git a/src/home/Img/2-5-1.png b/src/home/Img/2-5-1.png new file mode 100644 index 000000000..788d52857 Binary files /dev/null and b/src/home/Img/2-5-1.png differ diff --git a/src/home/Img/2-5-2.png b/src/home/Img/2-5-2.png new file mode 100644 index 000000000..42ef098c7 Binary files /dev/null and b/src/home/Img/2-5-2.png differ diff --git a/src/home/Img/2-5bg.png b/src/home/Img/2-5bg.png new file mode 100644 index 000000000..e2fa217aa Binary files /dev/null and b/src/home/Img/2-5bg.png differ diff --git a/src/home/Img/2-6-1.png b/src/home/Img/2-6-1.png new file mode 100644 index 000000000..76745c316 Binary files /dev/null and b/src/home/Img/2-6-1.png differ diff --git a/src/home/Img/2-6-2.png b/src/home/Img/2-6-2.png new file mode 100644 index 000000000..45929a608 Binary files /dev/null and b/src/home/Img/2-6-2.png differ diff --git a/src/home/Img/3-2.png b/src/home/Img/3-2.png new file mode 100644 index 000000000..410bf62bc Binary files /dev/null and b/src/home/Img/3-2.png differ diff --git a/src/home/Img/3-3.png b/src/home/Img/3-3.png new file mode 100644 index 000000000..1982ce82d Binary files /dev/null and b/src/home/Img/3-3.png differ diff --git a/src/home/Img/3-4.png b/src/home/Img/3-4.png new file mode 100644 index 000000000..598a9313e Binary files /dev/null and b/src/home/Img/3-4.png differ diff --git a/src/home/Img/banner3.png b/src/home/Img/banner3.png new file mode 100644 index 000000000..946412f71 Binary files /dev/null and b/src/home/Img/banner3.png differ diff --git a/src/home/Img/banner4.png b/src/home/Img/banner4.png index 32fc711c7..cd7b1a8b0 100644 Binary files a/src/home/Img/banner4.png and b/src/home/Img/banner4.png differ diff --git a/src/home/Img/codeafter.png b/src/home/Img/codeafter.png new file mode 100644 index 000000000..e375a3a9d Binary files /dev/null and b/src/home/Img/codeafter.png differ diff --git a/src/home/Img/gitlink.png b/src/home/Img/gitlink.png new file mode 100644 index 000000000..8ed7159db Binary files /dev/null and b/src/home/Img/gitlink.png differ diff --git a/src/home/Img/unit/beijing.png b/src/home/Img/unit/beijing.png new file mode 100644 index 000000000..ca7edcd67 Binary files /dev/null and b/src/home/Img/unit/beijing.png differ diff --git a/src/home/Img/多层次bg@2x.png b/src/home/Img/多层次bg@2x.png new file mode 100644 index 000000000..526a93a15 Binary files /dev/null and b/src/home/Img/多层次bg@2x.png differ diff --git a/src/home/Index.jsx b/src/home/Index.jsx index eb934e661..23fa43471 100644 --- a/src/home/Index.jsx +++ b/src/home/Index.jsx @@ -1,4 +1,4 @@ -import React from 'react'; +import React , { useEffect , useState } from 'react'; import "./Index.scss"; import HeadNav from './Headnav'; import TopEdition from './TopEdition'; @@ -6,12 +6,27 @@ import ThirdEdition from './ThirdEdition'; import { Anchor } from 'antd'; import F41 from './Img/4-1.png'; import F42 from './Img/4-2.png'; -import F43 from './Img/4-1.png'; -import F44 from './Img/4-2.png'; +import F43 from './Img/4-3.png'; +import F44 from './Img/4-4.png'; import SecondEdition from './SecondEdition'; +import FifthEdition from './FifthEdition'; +import Footnav from './Footnav'; function Index(props) { + const [ value , setValue ] = useState(""); + + function changeActive(params) { + if(params){ + setValue(params); + let h = params.split("#")[1]; + let t = document.getElementById(h).offsetTop; + document.documentElement.scrollTop = t-100; + }else{ + setValue(""); + } + } + return(
    @@ -36,13 +51,13 @@ function Index(props) {

    Gitlink,新一代开源创新服务平台

    -
  • 分布式协作开发
  • -
  • 一站式过程管理
  • -
  • 高效流水线运维
  • -
  • 多层次代码分析
  • -
  • 多维度用户画像
  • +
  • changeActive("#hadoop")} className={value === "#hadoop"?"active":""}>分布式协作开发
  • +
  • changeActive("#oneStop")} className={value === "#oneStop"?"active":""}>一站式过程管理
  • +
  • changeActive("#highDevops")} className={value === "#highDevops"?"active":""}>高效流水线运维
  • +
  • changeActive("#multipleAnalyse")} className={value === "#multipleAnalyse"?"active":""}>多层次代码分析
  • +
  • changeActive("#multidimensional")} className={value === "#multidimensional"?"active":""}>多维度用户画像
  • - +
    @@ -77,7 +92,9 @@ function Index(props) {

    开源生态

    Gitlink与各大企业、高校、科研机构开展广泛的技术合作,推动我国开源软件生态的快速构建与发展

    +
    +
    ) } diff --git a/src/home/Index.scss b/src/home/Index.scss index 346b4afa7..ffb1ea8ae 100644 --- a/src/home/Index.scss +++ b/src/home/Index.scss @@ -1,7 +1,7 @@ body{ overflow: auto!important; - background-color: #fff; + background-color: #fff!important; } .homePage{ background-color: #fff; @@ -29,9 +29,12 @@ body{ .headlist{ display: flex; font-weight: 400; - margin-left: 30px; li{ - margin-right: 38px; + margin-right: 35px; + font-size: 16px; + a{ + color: #FFFFFF!important; + } } } .regBtn{ @@ -65,6 +68,10 @@ body{ background-size:cover; } .regform3{ + background:url('./Img/banner3.png') no-repeat center center; + background-size:cover; + } + .regform4{ background:url('./Img/banner4.png') no-repeat center center; background-size:cover; } @@ -164,9 +171,13 @@ body{ text-align: center; margin: 42px 0px 30px!important; } + .ant-affix{ + background-color: #fff; + } .ant-anchor-wrapper{ width: 1200px; margin:0px auto; + padding-left: 0px; .ant-anchor{ display: flex; align-items: center; @@ -208,7 +219,10 @@ body{ background-size:cover; min-height: 753px; padding:50px 56px; - display: flex; + .hadoopCon{ + display: flex; + width: 100%; + } .descBox{ max-width: 352px; word-break: break-all; @@ -239,9 +253,23 @@ body{ margin-top: 70px; } } + + .hadoopdesc{ + color: #FFFFFF; + background: -webkit-linear-gradient(112deg, #FF8B75 0%, #DD2476 100%); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + font-size: 18px; + line-height: 25px; + font-weight: 500; + text-align: center; + margin-top: 40px; + } } .oneStop{ text-align: center; + opacity: 0.3; + transition: 2s; .oneStopContent{ display: flex; .osLeftMain{ @@ -250,15 +278,6 @@ body{ align-items: flex-start; position: relative; margin-bottom: 182px; - .osleftPosi1,.osleftPosi2{ - position: absolute; - right:10px; - top:102px; - } - .osleftPosi2{ - top:217px; - right:20px; - } } .osRightMain{ margin-left: 22px; @@ -287,29 +306,279 @@ body{ } } } + .osleftPosi,.imgring{ + transition: 3s; + opacity: 0; + } + .osleftPosi1,.osleftPosi2{ + position: absolute; + right:-200px; + top:102px; + transition: 2s; + opacity: 0; + z-index: 1; + } + .osleftPosi2{ + top:317px; + right:10px; + transition: 2.5s; + z-index: 2; + } + &.activeCode{ + opacity: 1; + .osleftPosi,.osleftPosi1,.osleftPosi2{ + opacity: 1; + } + .osleftPosi1{ + right:10px; + } + .osleftPosi2{ + top:217px; + } + .imgring{ + opacity: 1; + } + } } .highDevops{ text-align: center; + &.activeCode{ + .highDoContent img{ + opacity: 1; + &.highImg1{ + left:10px; + } + &.highImg2{ + right:10px; + } + } + } .highDoTitle{ - display: inline-block; - height: 90px; - line-height: 90px; - padding: 0px 66px; - font-size: 36px; - font-weight: 600; - color: #FFFFFF; - background: -webkit-linear-gradient(112deg, #D57CA0 0%, #4877F3 51%, #20C3EF 100%); - -webkit-background-clip: text; - -webkit-text-fill-color: transparent; position: relative; + padding:2px; + width: 384px; + height: 90px; + margin:7px auto 0px; + border-radius: 10px; + span{ + position: absolute; + z-index: 3; + width: 380px; + height: 86px; + line-height: 86px; + border-radius: 10px; + left: 2px; + top:2px; + display: inline-block; + font-size: 36px; + font-weight: 600; + background: -webkit-linear-gradient(1deg, #D57CA0 12%, #4877F3 57%, #20C3EF 76%); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + } + &::before{ + position: absolute; + z-index: 2; + width: 380px; + height: 86px; + line-height: 86px; + background-color: #fff; + border-radius: 10px; + content: ""; + top:2px; + left: 2px; + } &::after{ position: absolute; - top: -3px; bottom: -3px; - left: -3px; right: -3px; - background: linear-gradient(135deg,#000781, #23b7cb); - border-radius: 30px; - content: ''; - z-index: -1; + content: ""; + width: 100%; + height: 100%; + top:0px; + left: 0px; + border-radius: 10px; + background: -webkit-linear-gradient(1deg, #D57CA0 12%, #4877F3 57%, #20C3EF 76%); + z-index: 1; + } + } + .highDoSubtitle{ + color: #637497; + font-size: 18px; + font-weight: 500; + line-height: 36px; + width: 878px; + margin:30px auto 28px; + text-align: center; + span{ + color: #1F1E1E; + } + } + .highDoContent{ + background:url('./Img/2-3bg.png') no-repeat center center; + background-size:cover; + height: 920px; + padding:20px 0px 114px; + position: relative; + display: flex; + flex-direction: column; + align-items: center; + &>div{ + display: flex; + flex-direction: column; + align-items: center; + } + img{ + opacity: 0; + transition: 2.4s; + } + .highImg1,.highImg2{ + position: absolute; + transition: 3s; + } + .highImg1{ + top:126px; + left:-100px; + } + .highImg2{ + top:63px; + right:-100px; + } + .highDoBottondesc{ + font-size: 18px; + font-weight: 500; + color: #000000; + line-height: 39px + } + } + } + .multipleAnalyse{ + background:url('./Img/2-4bg.png') no-repeat center center; + background-size:cover; + height: 710px; + padding-left: 58px; + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + opacity: 0.3; + transition: 2s; + &.activeCode{ + opacity: 1; + .maContent{ + transform: rotateY(360deg); + } + } + .title{ + display: inline-block; + font-size: 36px; + font-weight: 600; + margin-bottom: 26px; + background: -webkit-linear-gradient(1deg, #6D66FF 12%, #C148FF 57%, #F59F77 76%); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + line-height: 50px; + margin-top: 20px; + } + .maContent{ + height: 400px; + width: 763px; + background:url('./Img/2-4-1.png') no-repeat; + background-size:100% 100%; + margin:26px 0px; + transition: 3s; + } + .desc{ + text-align: center; + max-width: 869px; + line-height: 30px; + color:#69DAF5 ; + font-weight: 400; + font-size: 18px; + } + } + .multidimensional{ + background:url('./Img/2-5bg.png') no-repeat center center; + background-size:cover; + height: 1139px; + padding:268px 0px 0px; + display: flex; + flex-direction: column; + opacity: 0.3; + transition: 1s; + .multidimensinalhalf{ + display: flex; + align-items: center; + position: relative; + height: 447px; + img{ + position: absolute; + left: 0px; + bottom: -20px; + opacity: 0; + transition: 3s; + } + .halfTitle{ + height: 50px; + font-size: 36px; + font-weight: 600; + color: #FFFFFF; + line-height: 50px; + background: -webkit-linear-gradient(112deg, #D57CA0 0%, #4877F3 51%, #20C3EF 100%); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + margin-bottom: 70px!important; + } + .halfsubTitle{ + font-size: 18px; + font-weight: 500; + line-height: 36px; + color: #1E1E1E; + span{ + color: #637497; + } + } + } + &.activeCode{ + opacity: 1; + .multidimensinalPart{ + img{ + left: 0px; + opacity: 1; + } + } + .multidimensinalhalf{ + img{ + left: 380px; + opacity: 1; + } + } + } + } + .multidimensinalPart{ + display: flex; + align-items: center; + margin-top: 50px; + position: relative; + height: 396px; + transition: 4s; + img{ + position: absolute; + left: 620px; + bottom: -20px; + opacity: 0; + transition: 3s; + } + p{ + max-width: 345px; + text-align: left; + font-size: 18px; + font-weight: 500; + line-height: 32px; + color: #1E1E1E; + span{ + color: #637497; + } + &:first-child{ + margin-bottom: 55px!important; } } } @@ -455,8 +724,8 @@ body{ color: #fff!important; background-color: #466AFF; border-radius: 6px; - margin-bottom: 80px; font-size: 18px; + margin-bottom: 80px; } .forthUl{ display: flex; @@ -509,4 +778,111 @@ body{ margin-top: 13px; margin-bottom: 54px; } + #scrollBox1{ + max-height: 300px; + overflow: hidden; + margin: 35px 0px 0px; + display: flex; + width: 100%; + } + ul.fifthList{ + display: flex; + flex-wrap: wrap; + flex-direction: column; + height: 300px; + li{ + border-bottom: none; + width: 300px; + height: 120px; + margin:15px 20px!important; + background: linear-gradient(180deg, #F1F7FF 0%, #F7FAFF 53%, #FFFFFF 100%); + box-shadow: 0px 1px 10px 3px rgba(0, 0, 0, 0.06); + border-radius: 4px; + border: 2px solid #FFFFFF; + a{ + display: flex; + align-items: center; + justify-content: center; + width: 100%; + height: 100%; + } + img{ + max-width: 100%; + max-height: 100%; + } + } + + } +} +.footEdition{ + background-color: #171B23; + .footContent{ + display: flex; + align-items: flex-start; + padding:86px 0px; + justify-content: space-around; + width: 1200px; + margin:0px auto; + ul{ + min-width: 120px; + text-align: left; + margin-right: 80px; + &.center{ + text-align: center; + } + &>p{ + height: 22px; + font-size: 16px; + font-weight: 400; + color: #FFFFFF; + line-height: 22px; + } + &>img{ + width: 100px; + height: 100%; + margin-bottom: 30px; + margin-top: 25px; + border-radius: 10px; + } + li{ + height: 20px; + font-size: 14px; + font-weight: 400; + line-height: 20px; + color: #BDC2D1; + margin-bottom: 15px!important; + a{ + color: #BDC2D1!important; + &:hover{ + text-decoration: underline; + } + } + &.thehead{ + height: 25px; + font-size: 18px; + font-weight: 600; + color: #FFFFFF; + line-height: 25px; + margin-bottom: 20px!important; + } + &.theline{ + display: flex; + img{ + width: 80px; + height: 80px; + border-radius: 10px; + } + } + } + } + } + .copyrightDesc{ + font-size: 12px; + font-weight: 400; + color: #BDC2D1; + line-height: 28px; + padding:15px 0px; + text-align: center; + background-color: #1B212C; + } } \ No newline at end of file diff --git a/src/home/SecondEdition.jsx b/src/home/SecondEdition.jsx index 6ed744f6c..e0de22447 100644 --- a/src/home/SecondEdition.jsx +++ b/src/home/SecondEdition.jsx @@ -4,21 +4,129 @@ import ImgHead from './Img/2-2-head.png'; import Img2 from './Img/2-2-2.png'; import Img3 from './Img/2-2-3.png'; import Imgring from './Img/2-2-ring.png'; +import ImgS1 from './Img/2-3-1.png'; +import ImgS2 from './Img/2-3-2.png'; +import ImgS3 from './Img/2-3-3.png'; +import ImgS4 from './Img/2-3-4.png'; +import ImgM2 from './Img/2-6-2.png'; +import ImgM1 from './Img/2-5-1.png'; +import ImgM3 from './Img/2-5-2.png'; +import ImgM4 from './Img/2-6-1.png'; +import Codeafter from './Img/codeafter.png'; +import './code.scss'; +import { useEffect } from 'react'; +import { useState } from 'react'; -function SecondEdition(params) { +const code=[ + {str:git remote add origin https://git.trustie.net/Gitlink/Gitlink.git}, + {str:git push -u origin master}, + {str:git branch dev}, + {str:git checkout dev}, + {str:git add .}, + {str:git commit -m "xxx"}, + {str:git push origin dev}, + {str:git checkout master}, + {str:git pull origin master}, + {str:git merge dev}, + {str:git push origin master} +] + +function SecondEdition({setValue}) { + useEffect(()=>{ + window.addEventListener('scroll', handleScroll); + },[]) + + const [ hadoop , setHadoop ] = useState(false); + const [ hadoopImg , setHadoopImg ] = useState(false); + const [ highDevops , setHighDevops ] = useState(false); + const [ multipleAnalyse , setMultipleAnalyse ] = useState(false); + const [ multidimensional , setMultidimensional ] = useState(false); + + const [ oneStop , setOneStop ] = useState(false); + + function handleScroll() { + let clientHeight = document.documentElement.clientHeight; //可视区域高度 + let scrollTop = document.documentElement.scrollTop; //滚动条滚动高度 + let f = checkPosi("hadoop",clientHeight,scrollTop); + if(f){ + setValue("#hadoop"); + setHadoop(true); + setTimeout(function() { + setHadoopImg(true); + },2300) + }else{ + setHadoop(false); + setHadoopImg(false); + } + let f1 = checkPosi("oneStop",clientHeight,scrollTop); + if(f1){ + setValue("#oneStop"); + setOneStop(true); + }else{ + setOneStop(false); + setOneStop(false); + } + let f3 = checkPosi("highDevops",clientHeight,scrollTop); + if(f3){ + setValue("#highDevops"); + setHighDevops(true); + }else{ + setHighDevops(false); + setHighDevops(false); + } + let f4 = checkPosi("multipleAnalyse",clientHeight,scrollTop); + if(f4){ + setValue("#multipleAnalyse"); + setMultipleAnalyse(true); + }else{ + setMultipleAnalyse(false); + setMultipleAnalyse(false); + } + let f5 = checkPosi("multidimensional",clientHeight,scrollTop); + if(f5){ + setValue("#multidimensional"); + setMultidimensional(true); + }else{ + setMultidimensional(false); + setMultidimensional(false); + } + } + + function checkPosi(ele,clientHeight,scrollTop) { + var a = document.getElementById(ele).offsetTop - scrollTop -(clientHeight/3); + var b = document.getElementById(ele).clientHeight + (clientHeight/3); + if(a>0 || a<-b){ + return false; + }else{ + return true; + } + } return(
    -
    -
    -

    分布式协作开发

    -

    基于Git打造分布式代码托管环境,提供免费公、私有代码仓库;

    -

    支持在线文件编辑、代码分支管理、协作贡献统计、代码仓库复刻(Fork)、贡献合并请求(PR)、群智贡献审阅等功能;

    +
    +
    +
    +

    分布式协作开发

    +

    基于Git打造分布式代码托管环境,提供免费公、私有代码仓库;

    +

    支持在线文件编辑、代码分支管理、协作贡献统计、代码仓库复刻(Fork)、贡献合并请求(PR)、群智贡献审阅等功能;

    +
    +
    + { + code.map((i,k)=>{ + return( +
  • {k+1}{i.str}
  • + ) + }) + } + 运行结果 +
    +

    让您的项目在这里健康、快速的成长!

    -
    -
    -
    - +
    +
    +
    + @@ -30,10 +138,51 @@ function SecondEdition(params) {

    让您的团队协作更高效、过程更透明!

    - +
    -
    - 高效流水线运维 +
    +
    + 高效流水线运维 +
    +
    + 融合DevOps思想,提供轻量级的工作流引擎(Engine), + 打通编码、测试、构建、部署等开发运维环节;支持 + 自定义配置、代码静态扫描、构建自动触发、容器镜像托管等功能,同时支持接入第三方运维工具。 +
    +
    +
    + + + + +
    +

    让您的代码更加快速、可靠地形成高质量的产品!

    +
    +
    +
    + 多层次代码分析 +
    +

    提供软件软代码和芯片RTL代码的溯源分析、文件级和组件级许可证识别及风险分析、输入性开源漏洞检测和加固建议,支持分析结果的多层次可视化展示。

    +
    +
    +
    +
    +

    多维度用户画像

    +

    实时采集和分析平台中的各类开源资源数
    据,
    搭建多维度用户画像评估系统;

    +
    +
    + +
    +
    +
    +
    + +
    +
    +

    提供开发活动统计、贡献度日历、用户能力建模、角色与专业定位分析等功能。

    +

    让您在个人主页展示开发动态与创新能力!

    +
    +
    ) diff --git a/src/home/ThirdEdition.jsx b/src/home/ThirdEdition.jsx index a2c0fcca8..afb1e41a6 100644 --- a/src/home/ThirdEdition.jsx +++ b/src/home/ThirdEdition.jsx @@ -8,6 +8,9 @@ import T332 from './Img/3-3-2.png'; import T341 from './Img/3-4-1.png'; import T342 from './Img/3-4-2.png'; import bg3 from './Img/3-1.png'; +import bg32 from './Img/3-2.png'; +import bg33 from './Img/3-3.png'; +import bg34 from './Img/3-4.png'; import './Index.scss'; @@ -49,7 +52,7 @@ function ThirdEdition(params) {
    - +

    Gitlink分享最新平台资讯、社区活动通知、开源竞赛信息,把握开源生态发展脉搏

  • diff --git a/src/home/TopEdition.jsx b/src/home/TopEdition.jsx index 5126caf59..cbac8d490 100644 --- a/src/home/TopEdition.jsx +++ b/src/home/TopEdition.jsx @@ -7,6 +7,8 @@ function TopEdition() {
    +
    + diff --git a/src/home/code.scss b/src/home/code.scss new file mode 100644 index 000000000..2cb99181e --- /dev/null +++ b/src/home/code.scss @@ -0,0 +1,64 @@ +.hadoopCode{ + margin-left: 32px; + box-shadow: 0 0 0 2px rgba(255,255,255,0.1); + border-radius: 10px; + padding:18px 20px; + flex: 1; + margin-top: 60px; + position: relative; + &.activeCode{ + &>img.activeImg{ + right: 0px; + bottom: -20px; + opacity: 1; + width: 705px; + } + } + &>img{ + position: absolute; + right: -50px; + bottom: -50px; + transition: 1s; + width: 805px; + opacity: 0; + border-radius: 4px; + } + li{ + display: flex; + flex-wrap: wrap; + font-size: 14px; + font-weight: 500; + line-height: 30px; + color: #E1E1E1; + pre { + font-family: ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,Liberation Mono,monospace; + .codenum{ + display: inline-block; + width: 15px; + text-align: left; + margin-right: 15px; + } + .code-green{ + color: #00FA30; + } + .code-red{ + color: #FF5058; + } + .code-blue{ + color: #05CFC8; + } + } + } +} +.activeCode .word-item { + opacity: 0; + animation: show .3s 1 forwards; +} +@keyframes show { + from { + opacity: 0; + } + to { + opacity: 1; + } +} \ No newline at end of file