diff --git a/api-go/config/multi-repo.yaml b/api-go/config/multi-repo.yaml index a56def1..a65fb69 100644 --- a/api-go/config/multi-repo.yaml +++ b/api-go/config/multi-repo.yaml @@ -47,6 +47,7 @@ apache/skywalking: - apache/skywalking-ui - apache/skywalking-oal-tool - apache/skywalking-rover + - apache/skywalking-php - SkyAPM/SkyAPM-dotnet - SkyAPM/go2sky - SkyAPM/go2sky-plugins @@ -57,6 +58,7 @@ apache/skywalking: - SkyAPM/java-plugin-extensions - SkyAPM/uranus - SkyAPM/transporter-plugin-for-skywalking + - SkyAPM/document-cn-translation-of-skywalking apache/openwhisk: - apache/openwhisk - apache/openwhisk-apigateway @@ -121,16 +123,26 @@ apache/dubbo: - apache/dubbo-website apache/pulsar: - apache/pulsar - - apache/pulsar-client-go - apache/pulsar-adapters - - apache/pulsar-helm-chart - - apache/pulsar-manager + - apache/pulsar-client-cpp + - apache/pulsar-client-go - apache/pulsar-client-node + - apache/pulsar-client-python + - apache/pulsar-client-reactive + - apache/pulsar-client-ruby + - apache/pulsar-connectors - apache/pulsar-dotpulsar + - apache/pulsar-helm-chart + - apache/pulsar-manager + - apache/pulsar-presto + - apache/pulsar-release - apache/pulsar-site - apache/pulsar-test-infra - apache/pulsar-translation - - apache/pulsar-client-ruby - - apache/pulsar-release - - apache/pulsar-connectors - - apache/pulsar-presto +apache/incubator-teaclave: + - apache/incubator-teaclave + - apache/incubator-teaclave-sgx-sdk + - apache/incubator-teaclave-trustzone-sdk + - apache/incubator-teaclave-java-tee-sdk + - apache/incubator-teaclave-crates + - apache/incubator-teaclave-verification diff --git a/api-go/tools/puppeteer/package.json b/api-go/tools/puppeteer/package.json index e95f60f..75db14d 100644 --- a/api-go/tools/puppeteer/package.json +++ b/api-go/tools/puppeteer/package.json @@ -3,10 +3,10 @@ "version": "0.0.1", "dependencies": { "axios": "0.26.1", - "canvas": "2.9.1", + "canvas": "2.10.0", "echarts": "5.3.3", "lodash.clonedeep": "4.5.0", - "moment": "2.29.3", + "moment": "2.29.4", "jsdom": "19.0.0" } } diff --git a/package.json b/package.json index 5c46554..121a528 100644 --- a/package.json +++ b/package.json @@ -14,14 +14,15 @@ "lodash.clonedeep": "4.5.0", "lodash.omit": "4.5.0", "lodash.throttle": "4.1.1", - "moment": "2.29.3", + "moment": "2.29.4", "react": "18.0.0", - "react-bootstrap": "2.2.2", + "react-bootstrap": "2.5.0", "react-dom": "18.0.0", "react-scripts": "5.0.0", "react-syntax-highlighter": "15.5.0", "react-toastify": "8.2.0", - "react-use-clipboard": "1.0.8" + "react-use-clipboard": "1.0.8", + "save-svg-png-ext": "^2.0.3" }, "scripts": { "dev": "BROWSER=none react-scripts start", diff --git a/src/components/DialogBox/index.jsx b/src/components/DialogBox/index.jsx index e765dd3..de62036 100644 --- a/src/components/DialogBox/index.jsx +++ b/src/components/DialogBox/index.jsx @@ -8,12 +8,16 @@ import CloseIcon from '@material-ui/icons/Close'; import TextField from '@material-ui/core/TextField'; import GetAppIcon from '@material-ui/icons/GetApp'; import FilterNoneOutlinedIcon from '@material-ui/icons/FilterNoneOutlined'; +import Menu from '@material-ui/core/Menu'; +import MenuItem from '@material-ui/core/MenuItem'; import useClipboard from "react-use-clipboard"; import { handleShareToTwitterClick } from "../../utils"; -import { Snackbar, makeStyles } from "@material-ui/core"; +import Snackbar from '@material-ui/core/Snackbar'; +import { makeStyles } from "@material-ui/core/styles"; import Alert from "@material-ui/lab/Alert"; import DialogContentText from '@material-ui/core/DialogContentText'; import moment from "moment"; +import { saveSvgAsPng } from "save-svg-png-ext"; export const DialogBox = ({ params = "" }) => { const [showNotice, setShowNotice] = React.useState(false); @@ -48,6 +52,15 @@ export const DialogBox = ({ params = "" }) => { const [, setCopy] = useClipboard(`${SHARE_BASE_URL}${params}`, { successDuration: 3000 }); const embedCode = `` const [, setEmbedcopy] = useClipboard(embedCode, { successDuration: 3000 }) + const [anchorEl, setAnchorEl] = React.useState(null); + + const handleClick = (event) => { + setAnchorEl(event.currentTarget); + }; + + const handleClose = () => { + setAnchorEl(null); + }; const SearchButton = () => ( + + { + const date = moment(new Date()).format('YYYYMMDD'); + saveAs(`https://contributor-overtime-api.apiseven.com/contributors-svg${params}`, `github-contributor-over-time-${date}.svg`) + }}> + Save as SVG + + { + const date = moment(new Date()).format('YYYYMMDD'); + saveSvgAsPng(document.querySelector("div.echarts-for-react svg"), `github-contributor-over-time-${date}.png`); + }}> + Save as PNG + +