mirror of
https://github.com/mindoc-org/mindoc.git
synced 2025-12-19 19:57:09 +08:00
实现导入Markdown
This commit is contained in:
@@ -6,6 +6,7 @@ import (
|
||||
"strings"
|
||||
"io"
|
||||
"fmt"
|
||||
"math"
|
||||
)
|
||||
|
||||
//==================================
|
||||
@@ -130,3 +131,71 @@ func RemoveDir(dir string) error {
|
||||
return os.RemoveAll(dir)
|
||||
}
|
||||
|
||||
func AbsolutePath(p string) (string, error) {
|
||||
|
||||
if strings.HasPrefix(p, "~") {
|
||||
home := os.Getenv("HOME")
|
||||
if home == "" {
|
||||
panic(fmt.Sprintf("can not found HOME in envs, '%s' AbsPh Failed!", p))
|
||||
}
|
||||
p = fmt.Sprint(home, string(p[1:]))
|
||||
}
|
||||
s, err := filepath.Abs(p)
|
||||
|
||||
if nil != err {
|
||||
return "", err
|
||||
}
|
||||
return s, nil
|
||||
}
|
||||
|
||||
// FileExists reports whether the named file or directory exists.
|
||||
func FileExists(name string) bool {
|
||||
if _, err := os.Stat(name); err != nil {
|
||||
if os.IsNotExist(err) {
|
||||
return false
|
||||
}
|
||||
}
|
||||
return true
|
||||
}
|
||||
|
||||
func FormatBytes(size int64) string {
|
||||
units := []string{" B", " KB", " MB", " GB", " TB"}
|
||||
|
||||
s := float64(size)
|
||||
|
||||
i := 0
|
||||
|
||||
for ; s >= 1024 && i < 4; i++ {
|
||||
s /= 1024
|
||||
}
|
||||
|
||||
return fmt.Sprintf("%.2f%s", s, units[i])
|
||||
}
|
||||
|
||||
func Round(val float64, places int) float64 {
|
||||
var t float64
|
||||
f := math.Pow10(places)
|
||||
x := val * f
|
||||
if math.IsInf(x, 0) || math.IsNaN(x) {
|
||||
return val
|
||||
}
|
||||
if x >= 0.0 {
|
||||
t = math.Ceil(x)
|
||||
if (t - x) > 0.50000000001 {
|
||||
t -= 1.0
|
||||
}
|
||||
} else {
|
||||
t = math.Ceil(-x)
|
||||
if (t + x) > 0.50000000001 {
|
||||
t -= 1.0
|
||||
}
|
||||
t = -t
|
||||
}
|
||||
x = t / f
|
||||
|
||||
if !math.IsInf(x, 0) {
|
||||
return x
|
||||
}
|
||||
|
||||
return t
|
||||
}
|
||||
Reference in New Issue
Block a user