1
0
mirror of https://github.com/kremalicious/blog.git synced 2024-12-23 01:30:01 +01:00

Merge pull request #125 from kremalicious/feature/remove-coinhive

remove coinhive
This commit is contained in:
Matthias Kretschmann 2019-03-19 19:08:36 -03:00 committed by GitHub
commit c3bbc60818
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
40 changed files with 4 additions and 259 deletions

View File

@ -20,7 +20,6 @@
- [💰 Cryptocurrency donation via Web3/MetaMask](#-cryptocurrency-donation-via-web3metamask)
- [🔍 Search](#-search)
- [🕸 Related Posts](#-related-posts)
- [🐝 Coinhive](#-coinhive)
- [📝 GitHub changelog rendering](#-github-changelog-rendering)
- [🏆 SEO component](#-seo-component)
- [📈 Matomo (formerly Piwik) analytics tracking](#-matomo-formerly-piwik-analytics-tracking)
@ -96,22 +95,6 @@ If you want to know how this works, have a look at the respective component unde
- [`src/components/molecules/RelatedPosts.jsx`](src/components/molecules/RelatedPosts.jsx)
### 🐝 Coinhive
Includes a component for mining Monero with JavaScript via [Coinhive](https://coinhive.com).
<img width="166" alt="screen shot 2018-10-11 at 21 09 49" src="https://user-images.githubusercontent.com/90316/46827858-03f75a80-cd9a-11e8-84f1-65b7d0027124.png" />
Functionality is opt-in on a post basis. Simply add this to any post's frontmatter to activate it for this post:
```yaml
coinhive: true
```
If you want to know how this works, have a look at the respective component under
- [`src/components/atoms/Coinhive.jsx`](src/components/atoms/Coinhive.jsx)
### 📝 GitHub changelog rendering
Adds ability to show contents of a changelog, rendered from a `CHANGELOG.md` on GitHub from the given repository. The use case is to enhance release posts about projects hosted on GitHub. Makes use of the GitHub GraphQL API via [gatsby-source-graphql](https://www.gatsbyjs.org/packages/gatsby-source-graphql/).
@ -154,10 +137,10 @@ Site sends usage statistics to my own [Matomo](https://matomo.org) installation.
All SVG assets under `src/images/` will be converted to React components with the help of [gatsby-plugin-svgr](https://github.com/zabute/gatsby-plugin-svgr). Makes use of [SVGR](https://github.com/smooth-code/svgr) so SVG assets can be imported like so:
```js
```jsx
import { ReactComponent as Logo } from './components/svg/Logo'
<Logo />
;<Logo />
```
### 🍬 Typekit component

View File

@ -4,6 +4,4 @@ type: photo
title: iPad Porn
image: ../media/97a44d6080b711e181bd12313817987b_7.jpg
date: 2012-04-07 13:43:00+00:00
coinhive: true
---

View File

@ -7,7 +7,6 @@ date: 2007-03-01 20:50:32+00:00
tags:
- photography
- aperture
coinhive: true
---
The Adjustment Tool Guide gives an in-depth-view of the Adjustment tool in Aperture. The documentary provided by Apple isn't that what most people were looking for. But Kendall Gelner wrote his own Adjustment Tools Guide originally for the Aperture Version 1.0.1.

View File

@ -10,8 +10,6 @@ tags:
- tutorial
- macos
coinhive: true
redirect_from:
- /2008/02/how-to-quickly-generate-encrypted-logins-on-a-mac-for-htaccess-protected-sites/
---

View File

@ -6,8 +6,6 @@ download: ../media/aperturefiletypes_by_kremalicious.zip
author: Matthias Kretschmann
date: 2008-04-04T01:55:54.000Z
category:
coinhive: true
tags:
- goodies
- icon

View File

@ -6,7 +6,6 @@ author: Matthias Kretschmann
date: 2008-04-09 13:13:42+00:00
coinhive: true
tags:
- design
- tutorial

View File

@ -6,7 +6,6 @@ author: Matthias Kretschmann
date: 2008-04-14 13:51:39+00:00
coinhive: true
tags:
- photography
- aperture

View File

@ -10,8 +10,6 @@ tags:
- css
- tutorial
coinhive: true
redirect_from:
- /2008/04/make-cool-and-clever-text-effects-with-css-text-shadow/
---

View File

@ -6,7 +6,6 @@ image: ../media/canoscanlide500f.jpg
date: 2008-05-04 16:04:48+00:00
coinhive: true
tags:
- photography
- tutorial

View File

@ -7,7 +7,6 @@ image: ../media/aperturescan.png
date: 2008-05-05 04:15:11+00:00
coinhive: true
tags:
- photography
- aperture

View File

@ -11,8 +11,6 @@ tags:
- aperture
- tutorial
coinhive: true
redirect_from:
- /2008/05/high-quality-watermarks-with-aperture/
---

View File

@ -10,8 +10,6 @@ date: 2008-05-07 19:22:49+00:00
tags:
- photography
- aperture
coinhive: true
---
There are already some lists like this available on the web and they are always very subjective so I thought I should add my subjective list too. While Aperture was released I was coding this website and had not much time for writing about it. So although a bit late here is my absolutely biased list of my favorite 15 new features included in Apple's Aperture since version 2.0. It's in a nice countdown order ending with the best new feature (to me) at the bottom. Just click on the little screenshots to smoothly zoom to the full version of them.

View File

@ -9,8 +9,6 @@ date: 2008-05-18 05:00:01+00:00
tags:
- photography
- aperture
coinhive: true
---
![Aperture](../media/aperture97.png)With the release of Aperture 2.1 Apple introduced a plugin architecture for adding third party image adjustment and export plugins. Now the first third party image adjustment plugins for Aperture 2.1 have arrived. And they can definitely make you stop roundtripping your pictures to Photoshop and back. For now a total of 14 plugins from 9 companys were announced which are waiting to help you with your Aperture 2 workflow.

View File

@ -9,8 +9,6 @@ date: 2008-05-28 15:29:56+00:00
tags:
- photography
- aperture
coinhive: true
---
![ApertureEdit](../media/apertureedit_logo.png)Today [Human Software](http://www.humansoftware.com) released an exciting image editing plug-in for Apple's Aperture. It's called [ApertureEdit](http://www.humansoftware.com/pages1200/ApertureEdit/HSapertureedit11.html) and according to Human Software it offers more than 4000 professional effects which you can achieve right within Aperture.

View File

@ -12,8 +12,6 @@ tags:
- goodies
- wallpaper
coinhive: true
redirect_from:
- /first-wallpaper-chives/
---

View File

@ -11,8 +11,6 @@ tags:
- goodies
- icon
coinhive: true
redirect_from:
- /new-goodie-niepces-camera-obscura-and-the-history-of-the-first-photograph/
- /4-more-icons-niepces-camera-obscura-v11/

View File

@ -12,8 +12,6 @@ tags:
- goodies
- wallpaper
coinhive: true
redirect_from:
- /new-goodie-niepces-camera-obscura-wallpaper-pack/
---

View File

@ -13,8 +13,6 @@ tags:
- macos
- ubuntu
coinhive: true
redirect_from:
- /ubuntu-as-mac-file-server-and-time-machine-volume/trackback/
- 2008/06/ubuntu-as-mac-file-server-and-time-machine-volume/

View File

@ -11,8 +11,6 @@ tags:
- aperture
- tutorial
- macos
coinhive: true
---
![Niepce's Aperture Vault](../media/niepces_aperture_vault256.png)When on the road I always take a little mobile hard drive with me where all my referenced Aperture Masters from the past years and my mobile Aperture Vault (backing up the un-referenced Masters from the current year) reside. But being little and mobile also means the external hard drive can easily be lost or stolen exposing all my pictures to the thief. To avoid that you can use encryption so in the case of a lost or theft the data is not accessible by the thief. This can easily be done with [sparse bundle disk images](http://db.tidbits.com/article/9673) so you won't have to encrypt the whole hard drive with additional software.

View File

@ -6,14 +6,12 @@ image: ../media/Teaser-Mars-U.jpg
author: Matthias Kretschmann
date: 2008-09-23 23:22:16+00:00
tags:
- goodies
- wallpaper
- futurama
coinhive: true
redirect_from:
- /new-goodie-futurama-mars-university-wallpaper/
---

View File

@ -11,8 +11,6 @@ tags:
- photography
- aperture
coinhive: true
redirect_from:
- /2008/10/the-definite-guide-to-watermarks-in-apple-aperture/
---

View File

@ -11,8 +11,6 @@ tags:
- tutorial
- wordpress
coinhive: true
redirect_from:
- /2008/12/how-to-set-a-custom-gravatar-image-in-wordpress-27/
---

View File

@ -10,8 +10,6 @@ tags:
- design
- tutorial
- wordpress
coinhive: true
---
![Wordpress Logo by kremalicious](../media/wordpress-logo.png)

View File

@ -9,8 +9,6 @@ tags:
- design
- futurama
- mac
coinhive: true
---
Time for some Mac Futurama crossover geekiness! In a fun watching process I've compiled a list of all the references to Apple's Macintosh and other Apple products. In Futurama we mainly see references to the old, classic Macs running [System 6](http://en.wikipedia.org/wiki/Apple_System_Software_6), [System 7](http://en.wikipedia.org/wiki/System_7) or [OS 9](http://en.wikipedia.org/wiki/Mac_OS_9) ending with the colorful iMac G3. This is likely caused by the timeframe in which Matt Groening and David X. Cohen developed the first season of Futurama (1997-1999).

View File

@ -12,8 +12,6 @@ tags:
- wallpaper
- futurama
coinhive: true
redirect_from:
- /2009/02/out-of-whale-oil/
---

View File

@ -12,8 +12,6 @@ tags:
- goodies
- tutorial
- wordpress
coinhive: true
---
![Coda Clips Teaser](../media/codaclips-teaser.png)

View File

@ -10,8 +10,6 @@ tags:
- tutorial
- wordpress
coinhive: true
redirect_from:
- /2009/12/wordpress-post-thumbnails/
---

View File

@ -11,8 +11,6 @@ tags:
- icon
- ios
- ipad
coinhive: true
---
So, what to do when [everyone seem](http://www.littleboxofideas.com/blog/design-resources/5-very-useful-free-ipad-icon-sets-for-designers) [to release iPad icons](http://line25.com/articles/free-apple-ipad-icon-set-for-your-website-designs) but fail to include some crisp small size icons? Pushing the pixels for yourself of course. So here's my take on the smaller sizes of an [Apple iPad](http://www.apple.com/ipad/) icon, called iPixelPad in the sizes 48px, 32px and 16px. Everything drawn pixel-perfect from scratch. Heck, even the wallpaper.

View File

@ -12,8 +12,6 @@ tags:
- goodies
- wallpaper
- futurama
coinhive: true
---
The Futurama episode [Attack of the Killer App](http://en.wikipedia.org/wiki/Attack_of_the_Killer_App) mocked a phone and a company you probably all have heard of. I've made some wallpapers with the logo of MomCorp presented everywhere in this episode.

View File

@ -11,8 +11,6 @@ tags:
- goodies
- wordpress
- ios
coinhive: true
---
Made a quick WordPress plugin which transforms the standard WordPress update & comment notification badges into iOS-styled ones.

View File

@ -13,8 +13,6 @@ tags:
- tutorial
- wordpress
coinhive: true
redirect_from:
- /2012/05/wp-icons-template/
---

View File

@ -9,8 +9,6 @@ date: 2012-06-13 19:01:20+00:00
tags:
- design
- wordpress
coinhive: true
---
Apart from a nicely responsive admin area, WordPress 3.4 now [includes retina assets](http://core.trac.wordpress.org/ticket/20293) for all the icons in the admin area to make them look crisp on devices with high-dpi screens like the iPhone or iPad 3, most flagship Android devices and of course the new ÜberMacBookPro.

View File

@ -11,8 +11,6 @@ date: 2012-07-16 14:36:58+00:00
tags:
- design
- css
coinhive: true
---
There's this HTML element meant for marking up keyboard keys named `<kbd>`. Obviously it can be styled with CSS so why not use it to make those elements look a bit more like hardware or the iOS and Android software keys.

View File

@ -13,8 +13,6 @@ tags:
- goodies
- iphone
- wallpaper
coinhive: true
---
It [has been revealed](http://www.theverge.com/2012/8/3/3218846/schiller-forstall-fight-club-day-three-apple-samsung-trial/in/2971889) the original iPhone was developed in a locked down building under the name "Project Purple". Because of the secrecy involved, the team decorated the building with [Fight Club](http://www.imdb.com/title/tt0137523/) references. If you don't think this demands a wallpaper, you're weird.

View File

@ -14,8 +14,6 @@ tags:
- tor
- macos
- goodies
coinhive: true
---
There are many reasons you might want to browse anonymously which can be accomplished by using [Tor](https://www.torproject.org). The setup instructions on Tor's website are quite scattered and outdated so here are some steps to setup Tor on macOS with a simple automated script at the end.

View File

@ -11,8 +11,6 @@ tags:
- goodies
- css
- svg
coinhive: true
---
The badges provided by all app store providers just don't play well together with their varying typography and different sizing. So let's make them all visually unified, infinitely scalable, with pure text for easier localization and some web interaction styles. And while were at it: different sizes with the same markup by using some modifier classes.

View File

@ -1,129 +0,0 @@
import React, { PureComponent } from 'react'
import loadScript from 'load-script'
import posed, { PoseGroup } from 'react-pose'
import { fadeIn } from './Transitions'
import styles from './Coinhive.module.scss'
import { ReactComponent as Play } from '../../images/play.svg'
import { ReactComponent as Pause } from '../../images/pause.svg'
const config = {
threads: 2,
throttle: 0.3,
autoThreads: false,
siteKey: '45EnDz1yUgdjmV9yX31UgamUy9ZjzIyt',
script: '/coinhive.min.js'
}
const Animation = posed.div(fadeIn)
export default class CoinHiveClient extends PureComponent {
state = {
miner: null,
hashrate: 0,
started: false,
intervalId: null
}
intervalId = null
buildMiner = () => {
if (this.state.miner && this.state.miner.isRunning()) {
this.stop()
}
return new Promise(resolve => {
loadScript(config.script, error => {
if (error) return
resolve(
window.CoinHive.Anonymous(config.siteKey, {
throttle: config.throttle,
threads: config.threads,
autoThreads: config.autoThreads
})
)
})
})
}
async componentDidMount() {
try {
let miner = await this.buildMiner()
this.setState({ miner })
if (this.state.miner && !this.state.miner.isMobile()) {
this.start()
this.report()
}
} catch (error) {
return null
}
}
componentWillUnmount() {
this.destroy()
}
start() {
this.state.miner.start()
this.setState({ started: true })
}
stop() {
this.state.miner.stop()
this.setState({ started: false })
}
destroy() {
if (!this.state.miner) return
this.state.miner.stop()
delete this.state.miner
clearInterval(this.state.intervalId)
}
hashrate() {
return this.state.miner.getHashesPerSecond().toFixed(2)
}
report() {
if (!this.state.miner) return
let intervalId = setInterval(
() => this.setState({ hashrate: this.hashrate() }),
1500
)
this.setState({ intervalId })
}
toggleMiner = () => {
if (this.state.started) {
this.stop()
} else {
this.start()
}
}
render() {
return (
this.state.miner &&
!this.state.miner.isMobile() && (
<PoseGroup animateOnMount={true}>
<Animation
key="coinhive"
className={styles.coinhive}
onClick={this.toggleMiner}
>
<div title="Toggle mining">
{this.state.started ? <Pause /> : <Play />}
Mining {this.state.started ? 'enabled' : 'disabled'}
</div>
<div className={styles.hashrate}>
{this.state.hashrate} Hashes/s
</div>
</Animation>
</PoseGroup>
)
)
}
}

View File

@ -1,30 +0,0 @@
@import 'variables';
.coinhive {
position: fixed;
bottom: 0;
right: 0;
z-index: 10;
font-size: $font-size-mini;
padding: ($spacer / 3) ($spacer / 2) ($spacer / 3) $spacer;
background: rgba($page-background-color, .5);
border-top-left-radius: 4px;
line-height: 1.2;
cursor: pointer;
white-space: nowrap;
min-width: 7rem;
svg {
fill: $brand-grey-light;
margin-bottom: .1rem;
display: inline-block;
vertical-align: middle;
margin-left: -1rem;
margin-right: .2rem;
margin-top: -.1rem;
}
}
.hashrate {
opacity: .6;
}

View File

@ -10,7 +10,6 @@ import PostContent from '../components/Post/PostContent'
import PostActions from '../components/Post/PostActions'
import PostLinkActions from '../components/Post/PostLinkActions'
import SEO from '../components/atoms/SEO'
import Coinhive from '../components/atoms/Coinhive'
import PostMeta from '../components/Post/PostMeta'
import Exif from '../components/atoms/Exif'
import RelatedPosts from '../components/molecules/RelatedPosts'
@ -19,15 +18,7 @@ import styles from './Post.module.scss'
const Post = ({ data, location }) => {
const { markdownRemark: post } = data
const meta = data.site.siteMetadata
const {
title,
image,
type,
linkurl,
style,
coinhive,
tags
} = post.frontmatter
const { title, image, type, linkurl, style, tags } = post.frontmatter
const { slug, githubLink } = post.fields
return (
@ -57,7 +48,6 @@ const Post = ({ data, location }) => {
{type === 'post' && <RelatedPosts tags={tags} />}
</Layout>
{coinhive && <Coinhive />}
</Fragment>
)
}
@ -108,7 +98,6 @@ export const pageQuery = graphql`
updated
tags
linkurl
coinhive
style {
publicURL
}

File diff suppressed because one or more lines are too long