From 741ff9f63709ee94a61e1b19725ca78aaa89cb7c Mon Sep 17 00:00:00 2001 From: neo Date: Mon, 29 Mar 2021 10:46:12 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0GitHub=E5=8A=A0?= =?UTF-8?q?=E9=80=9F=E6=96=B9=E6=A1=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .dumi/theme/builtins/CopyButton.less | 28 ++++++++++++++++++++++++++++ .dumi/theme/builtins/CopyButton.tsx | 17 +++++++++++++++++ .umirc.ts | 4 ++++ docs/guide/faq.md | 24 ++++++++++++++++++++++++ docs/guide/github.md | 18 ++++++++++++++++++ 5 files changed, 91 insertions(+) create mode 100644 .dumi/theme/builtins/CopyButton.less create mode 100644 .dumi/theme/builtins/CopyButton.tsx create mode 100644 docs/guide/github.md diff --git a/.dumi/theme/builtins/CopyButton.less b/.dumi/theme/builtins/CopyButton.less new file mode 100644 index 0000000..7d9f32b --- /dev/null +++ b/.dumi/theme/builtins/CopyButton.less @@ -0,0 +1,28 @@ +.my-code-block-copy-btn { + display: inline-block; + width: 16px; + height: 16px; + border: 0; + outline: none; + cursor: pointer; + opacity: 0.6; + transition: opacity 0.2s, background 0.2s; + + &:hover { + opacity: 0.8; + } + + &:active { + opacity: 0.9; + } + + &[data-status='ready'] { + background-position: -54px 0; + } + + &[data-status='copied'] { + opacity: 1; + pointer-events: none; + background-position: -54px -16px; + } +} diff --git a/.dumi/theme/builtins/CopyButton.tsx b/.dumi/theme/builtins/CopyButton.tsx new file mode 100644 index 0000000..bb3c919 --- /dev/null +++ b/.dumi/theme/builtins/CopyButton.tsx @@ -0,0 +1,17 @@ +import React from 'react'; +import { useCopy } from 'dumi/theme'; +import './CopyButton.less'; + +export default (props: { content: string }) => { + const { content } = props; + const [copyCode, copyStatus] = useCopy(); + + return ( +