Skip to content

Instantly share code, notes, and snippets.

@yycking
yycking / DateFormatter.swift
Last active August 19, 2023 09:24
list DateFormatter result
import Cocoa
extension DateFormatter.Style {
static public var allCases: [DateFormatter.Style] = [
.none,
.short,
.medium,
.long,
.full,
]
@yycking
yycking / TimeZone+localizedString.swift
Last active August 9, 2022 03:27
swift TimeZone list like setting
import Cocoa
let formatter = DateFormatter()
formatter.dateStyle = .long
formatter.dateFormat = "(O) VVV"
formatter.locale = Locale(identifier: "zh")
TimeZone.knownTimeZoneIdentifiers
.compactMap(TimeZone.init(identifier:))
.map { timeZone -> String in
[
{
"User_na": "A",
"Total": "a",
"Scene_No": "1"
},
{
"User_na": "B",
"Total": "b",
"Scene_No": "2"
@yycking
yycking / date+localizedString.swift
Last active February 7, 2020 08:47
Swift DateFormat like apple mail
import Cocoa
extension Calendar {
func isDateIn7days(from date: Date) -> Bool {
let date1 = self.startOfDay(for: Date())
let date2 = self.startOfDay(for: date)
let days = (date1 - date2).day ?? 0
return days <= 8 && days > 0
}
@yycking
yycking / md.html
Created November 20, 2019 05:15
MarkDown+HTML. Copycat from Strapdown.js
<!DOCTYPE html>
<html>
<head>
<title>Strapdown.js - Instant and elegant Markdown documents</title>
<!-- 🌙 Dark theme-->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/kognise/water.css@latest/dist/dark.min.css">
<link rel="stylesheet" href="https://raw.githack.com/google/code-prettify/master/styles/desert.css">
<!-- 🌞 Light theme-->
<!-- <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/kognise/water.css@latest/dist/light.min.css"> -->
</head>
@yycking
yycking / tts.swift
Created November 14, 2019 07:16
AVSpeechSynthesisVoice test
//: A Cocoa based Playground to present user interface
import AVFoundation
let voices = AVSpeechSynthesisVoice.speechVoices().reduce([String:[AVSpeechSynthesisVoice]]()) { (result, voice) -> [String:[AVSpeechSynthesisVoice]] in
var voices = result
let locale = Locale(identifier: voice.language)
let code = locale.localizedString(forLanguageCode: locale.languageCode!) ?? "??"
var voiceOnLanguage = voices[code] ?? []
voiceOnLanguage.append(voice)
voices[code] = voiceOnLanguage
@yycking
yycking / countryCode2EmojiFlag.swift
Last active November 14, 2019 07:17
convert country code to emoji flag
extension Locale {
var flagCode: String {
guard let country = self.regionCode else {return "🌐"}
let base : UInt32 = 127397
let code = country.unicodeScalars.compactMap{UnicodeScalar(base + $0.value)}
return String(String.UnicodeScalarView(code))
}
}
@yycking
yycking / drawText.swift
Last active May 20, 2019 08:31
手寫字
var charLayers = [CAShapeLayer]()
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
for layer in self.charLayers {
layer.removeFromSuperlayer()
}
let stringAttributes = [ NSAttributedString.Key.font: UIFont(name: "Zapfino", size: 32.0)! ]
@yycking
yycking / heroku-erl.sh
Created May 3, 2019 06:46
deploy erlang/mochiweb on heroku
# project 為你的專案名
project="wushark"
# 下載 mochiweb 並 建立你的專案
git clone git://github.com/mochi/mochiweb.git
cd mochiweb && make app PROJECT=$project && cd ..
git init $project
cd $project
% 博迪先生死於謀殺,
% 現有六個嫌疑犯,
% 每個人在不同的房間,
% 每間房間各有一件可能的凶器,但不知道嫌疑犯、房間、凶器的對應關系。請根據下面的條件和線索,找出誰是凶手。
% 已知條件:
% 六個嫌疑犯是三男 喬治、約翰、羅伯特;三女 芭芭拉、克里斯汀、約蘭達。
男人(喬治). 男人(約翰). 男人(羅伯特).
女人(芭芭拉). 女人(克里斯汀). 女人(約蘭達).