@bbozzay
25I'm a web developer at Fullstack Digital. Founder of Pancakes Builder, a free page builder for Hugo and Forestry.io.
steemit.com/@bbozzayVOTING POWER100.00%
DOWNVOTE POWER100.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS0.00%
Net Worth
0.037USD
STEEM
0.000STEEM
SBD
0.000SBD
Effective Power
5.007SP
├── Own SP
0.633SP
└── Incoming DelegationsDeleg
+4.374SP
Detailed Balance
| STEEM | ||
| balance | 0.000STEEM | STEEM |
| market_balance | 0.000STEEM | STEEM |
| savings_balance | 0.000STEEM | STEEM |
| reward_steem_balance | 0.000STEEM | STEEM |
| STEEM POWER | ||
| Own SP | 0.633SP | SP |
| Delegated Out | 0.000SP | SP |
| Delegation In | 4.374SP | SP |
| Effective Power | 5.007SP | SP |
| Reward SP (pending) | 0.000SP | SP |
| SBD | ||
| sbd_balance | 0.000SBD | SBD |
| sbd_conversions | 0.000SBD | SBD |
| sbd_market_balance | 0.000SBD | SBD |
| savings_sbd_balance | 0.000SBD | SBD |
| reward_sbd_balance | 0.000SBD | SBD |
{
"balance": "0.000 STEEM",
"savings_balance": "0.000 STEEM",
"reward_steem_balance": "0.000 STEEM",
"vesting_shares": "1029.665433 VESTS",
"delegated_vesting_shares": "0.000000 VESTS",
"received_vesting_shares": "7113.994373 VESTS",
"sbd_balance": "0.000 SBD",
"savings_sbd_balance": "0.000 SBD",
"reward_sbd_balance": "0.000 SBD",
"conversions": []
}Account Info
| name | bbozzay |
| id | 384516 |
| rank | 311,176 |
| reputation | 74376135 |
| created | 2017-09-25T22:45:27 |
| recovery_account | steem |
| proxy | None |
| post_count | 1 |
| comment_count | 0 |
| lifetime_vote_count | 0 |
| witnesses_voted_for | 0 |
| last_post | 2018-07-18T13:35:09 |
| last_root_post | 2018-07-18T13:35:09 |
| last_vote_time | 1970-01-01T00:00:00 |
| proxied_vsf_votes | 0, 0, 0, 0 |
| can_vote | 1 |
| voting_power | 0 |
| delayed_votes | 0 |
| balance | 0.000 STEEM |
| savings_balance | 0.000 STEEM |
| sbd_balance | 0.000 SBD |
| savings_sbd_balance | 0.000 SBD |
| vesting_shares | 1029.665433 VESTS |
| delegated_vesting_shares | 0.000000 VESTS |
| received_vesting_shares | 7113.994373 VESTS |
| reward_vesting_balance | 0.000000 VESTS |
| vesting_balance | 0.000 STEEM |
| vesting_withdraw_rate | 0.000000 VESTS |
| next_vesting_withdrawal | 1969-12-31T23:59:59 |
| withdrawn | 0 |
| to_withdraw | 0 |
| withdraw_routes | 0 |
| savings_withdraw_requests | 0 |
| last_account_recovery | 1970-01-01T00:00:00 |
| reset_account | null |
| last_owner_update | 1970-01-01T00:00:00 |
| last_account_update | 2018-07-18T13:36:30 |
| mined | No |
| sbd_seconds | 0 |
| sbd_last_interest_payment | 1970-01-01T00:00:00 |
| savings_sbd_last_interest_payment | 1970-01-01T00:00:00 |
{
"id": 384516,
"name": "bbozzay",
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM8cacFALUCFgQ4CvxahUw6KBvUYKjN5TNdJaACAyYswbsShjHik",
1
]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM6zs8fJdEHFobGGMsyWQs3ow4RxW3pvk3fdFTghbGUBTWrRGyGS",
1
]
]
},
"posting": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM6LoHS8d5D1AXXEwHxgjpb4UyVcodJYeXoJctCSwQ59DZABTyEy",
1
]
]
},
"memo_key": "STM88kMmU8j7DeNfKLwwyzdMEvseWG9NC93UKq73pFmTkrHWQEs1b",
"json_metadata": "{\"profile\":{\"profile_image\":\"https://cdn.steemitimages.com/DQmfTtp7DzxKZa9Xh3b51JykTyiejbP7FLyrxCGUU31HXpm/ben-profile-picture.jpg\",\"name\":\"bbozzay\",\"about\":\"I'm a web developer at Fullstack Digital. Founder of Pancakes Builder, a free page builder for Hugo and Forestry.io.\",\"location\":\"Washington DC\",\"website\":\"https://fullstackdigital.com\"}}",
"posting_json_metadata": "{\"profile\":{\"profile_image\":\"https://cdn.steemitimages.com/DQmfTtp7DzxKZa9Xh3b51JykTyiejbP7FLyrxCGUU31HXpm/ben-profile-picture.jpg\",\"name\":\"bbozzay\",\"about\":\"I'm a web developer at Fullstack Digital. Founder of Pancakes Builder, a free page builder for Hugo and Forestry.io.\",\"location\":\"Washington DC\",\"website\":\"https://fullstackdigital.com\"}}",
"proxy": "",
"last_owner_update": "1970-01-01T00:00:00",
"last_account_update": "2018-07-18T13:36:30",
"created": "2017-09-25T22:45:27",
"mined": false,
"recovery_account": "steem",
"last_account_recovery": "1970-01-01T00:00:00",
"reset_account": "null",
"comment_count": 0,
"lifetime_vote_count": 0,
"post_count": 1,
"can_vote": true,
"voting_manabar": {
"current_mana": "8143659806",
"last_update_time": 1779054939
},
"downvote_manabar": {
"current_mana": 2035914951,
"last_update_time": 1779054939
},
"voting_power": 0,
"balance": "0.000 STEEM",
"savings_balance": "0.000 STEEM",
"sbd_balance": "0.000 SBD",
"sbd_seconds": "0",
"sbd_seconds_last_update": "1970-01-01T00:00:00",
"sbd_last_interest_payment": "1970-01-01T00:00:00",
"savings_sbd_balance": "0.000 SBD",
"savings_sbd_seconds": "0",
"savings_sbd_seconds_last_update": "1970-01-01T00:00:00",
"savings_sbd_last_interest_payment": "1970-01-01T00:00:00",
"savings_withdraw_requests": 0,
"reward_sbd_balance": "0.000 SBD",
"reward_steem_balance": "0.000 STEEM",
"reward_vesting_balance": "0.000000 VESTS",
"reward_vesting_steem": "0.000 STEEM",
"vesting_shares": "1029.665433 VESTS",
"delegated_vesting_shares": "0.000000 VESTS",
"received_vesting_shares": "7113.994373 VESTS",
"vesting_withdraw_rate": "0.000000 VESTS",
"next_vesting_withdrawal": "1969-12-31T23:59:59",
"withdrawn": 0,
"to_withdraw": 0,
"withdraw_routes": 0,
"curation_rewards": 0,
"posting_rewards": 0,
"proxied_vsf_votes": [
0,
0,
0,
0
],
"witnesses_voted_for": 0,
"last_post": "2018-07-18T13:35:09",
"last_root_post": "2018-07-18T13:35:09",
"last_vote_time": "1970-01-01T00:00:00",
"post_bandwidth": 0,
"pending_claimed_accounts": 0,
"vesting_balance": "0.000 STEEM",
"reputation": 74376135,
"transfer_history": [],
"market_history": [],
"post_history": [],
"vote_history": [],
"other_history": [],
"witness_votes": [],
"tags_usage": [],
"guest_bloggers": [],
"rank": 311176
}Withdraw Routes
| Incoming | Outgoing |
|---|---|
Empty | Empty |
{
"incoming": [],
"outgoing": []
}From Date
To Date
2026/05/17 21:55:39
2026/05/17 21:55:39
| delegator | steem |
| delegatee | bbozzay |
| vesting shares | 7113.994373 VESTS |
| Transaction Info | Block #106140668/Trx a44693c16d4cbbf9959b36e9ceceae64d33fe5ca |
View Raw JSON Data
{
"trx_id": "a44693c16d4cbbf9959b36e9ceceae64d33fe5ca",
"block": 106140668,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-05-17T21:55:39",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bbozzay",
"vesting_shares": "7113.994373 VESTS"
}
]
}2026/05/11 19:06:57
2026/05/11 19:06:57
| delegator | steem |
| delegatee | bbozzay |
| vesting shares | 4401.783968 VESTS |
| Transaction Info | Block #105965274/Trx 9edf23b7a229d02300af1fd705eaa66464f0e130 |
View Raw JSON Data
{
"trx_id": "9edf23b7a229d02300af1fd705eaa66464f0e130",
"block": 105965274,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-05-11T19:06:57",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bbozzay",
"vesting_shares": "4401.783968 VESTS"
}
]
}2026/04/25 21:20:18
2026/04/25 21:20:18
| delegator | steem |
| delegatee | bbozzay |
| vesting shares | 7126.510129 VESTS |
| Transaction Info | Block #105508390/Trx 2edb7f911591f9250cdae0ef8df83bbada807ecb |
View Raw JSON Data
{
"trx_id": "2edb7f911591f9250cdae0ef8df83bbada807ecb",
"block": 105508390,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-04-25T21:20:18",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bbozzay",
"vesting_shares": "7126.510129 VESTS"
}
]
}2026/01/23 01:40:48
2026/01/23 01:40:48
| delegator | steem |
| delegatee | bbozzay |
| vesting shares | 4443.330787 VESTS |
| Transaction Info | Block #102844485/Trx abe5508943abd4bf466ff792ecf9a26e4a3d209f |
View Raw JSON Data
{
"trx_id": "abe5508943abd4bf466ff792ecf9a26e4a3d209f",
"block": 102844485,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2026-01-23T01:40:48",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bbozzay",
"vesting_shares": "4443.330787 VESTS"
}
]
}2024/12/16 21:00:36
2024/12/16 21:00:36
| delegator | steem |
| delegatee | bbozzay |
| vesting shares | 4607.549984 VESTS |
| Transaction Info | Block #91290900/Trx 661808cd2177240f3f0b6a3b7e19aa9c15ded2d4 |
View Raw JSON Data
{
"trx_id": "661808cd2177240f3f0b6a3b7e19aa9c15ded2d4",
"block": 91290900,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2024-12-16T21:00:36",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bbozzay",
"vesting_shares": "4607.549984 VESTS"
}
]
}2023/11/13 12:46:09
2023/11/13 12:46:09
| delegator | steem |
| delegatee | bbozzay |
| vesting shares | 4776.683516 VESTS |
| Transaction Info | Block #79845171/Trx 266181d2201451f9a3ac459a1c1a4d4d6c61c02a |
View Raw JSON Data
{
"trx_id": "266181d2201451f9a3ac459a1c1a4d4d6c61c02a",
"block": 79845171,
"trx_in_block": 16,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2023-11-13T12:46:09",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bbozzay",
"vesting_shares": "4776.683516 VESTS"
}
]
}2023/09/21 19:07:57
2023/09/21 19:07:57
| delegator | steem |
| delegatee | bbozzay |
| vesting shares | 7713.962302 VESTS |
| Transaction Info | Block #78344606/Trx c8b500e539a77dafc54b33607ab5c32c9dd30d4f |
View Raw JSON Data
{
"trx_id": "c8b500e539a77dafc54b33607ab5c32c9dd30d4f",
"block": 78344606,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2023-09-21T19:07:57",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bbozzay",
"vesting_shares": "7713.962302 VESTS"
}
]
}2022/11/03 09:13:39
2022/11/03 09:13:39
| delegator | steem |
| delegatee | bbozzay |
| vesting shares | 7935.643740 VESTS |
| Transaction Info | Block #69110302/Trx e7f83b02251ced54034f09a7292892fab4f80e6a |
View Raw JSON Data
{
"trx_id": "e7f83b02251ced54034f09a7292892fab4f80e6a",
"block": 69110302,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-11-03T09:13:39",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bbozzay",
"vesting_shares": "7935.643740 VESTS"
}
]
}2022/01/17 08:41:39
2022/01/17 08:41:39
| delegator | steem |
| delegatee | bbozzay |
| vesting shares | 8156.176971 VESTS |
| Transaction Info | Block #60806718/Trx bf10486b8509813fcf45c6b81cb5b7c0114a61b9 |
View Raw JSON Data
{
"trx_id": "bf10486b8509813fcf45c6b81cb5b7c0114a61b9",
"block": 60806718,
"trx_in_block": 15,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2022-01-17T08:41:39",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bbozzay",
"vesting_shares": "8156.176971 VESTS"
}
]
}2021/06/13 22:42:27
2021/06/13 22:42:27
| delegator | steem |
| delegatee | bbozzay |
| vesting shares | 8339.945629 VESTS |
| Transaction Info | Block #54605216/Trx a74618cec9591bcae199a3a0ec563a83ef88e182 |
View Raw JSON Data
{
"trx_id": "a74618cec9591bcae199a3a0ec563a83ef88e182",
"block": 54605216,
"trx_in_block": 7,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2021-06-13T22:42:27",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bbozzay",
"vesting_shares": "8339.945629 VESTS"
}
]
}2020/12/11 09:04:15
2020/12/11 09:04:15
| delegator | steem |
| delegatee | bbozzay |
| vesting shares | 8527.367603 VESTS |
| Transaction Info | Block #49352760/Trx 20f02f370370fab45511762f98a685bd1f957140 |
View Raw JSON Data
{
"trx_id": "20f02f370370fab45511762f98a685bd1f957140",
"block": 49352760,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-12-11T09:04:15",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bbozzay",
"vesting_shares": "8527.367603 VESTS"
}
]
}2020/12/06 02:41:45
2020/12/06 02:41:45
| delegator | steem |
| delegatee | bbozzay |
| vesting shares | 1912.543513 VESTS |
| Transaction Info | Block #49204330/Trx a266825b0f5330bb085e7bb10d6d9e14756b34e9 |
View Raw JSON Data
{
"trx_id": "a266825b0f5330bb085e7bb10d6d9e14756b34e9",
"block": 49204330,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-12-06T02:41:45",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bbozzay",
"vesting_shares": "1912.543513 VESTS"
}
]
}2020/12/05 10:38:42
2020/12/05 10:38:42
| delegator | steem |
| delegatee | bbozzay |
| vesting shares | 8533.734242 VESTS |
| Transaction Info | Block #49185435/Trx 5beee8ab9ad560cf71a036e8e78b616fffb9ad10 |
View Raw JSON Data
{
"trx_id": "5beee8ab9ad560cf71a036e8e78b616fffb9ad10",
"block": 49185435,
"trx_in_block": 6,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-12-05T10:38:42",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bbozzay",
"vesting_shares": "8533.734242 VESTS"
}
]
}2020/11/02 11:07:30
2020/11/02 11:07:30
| delegator | steem |
| delegatee | bbozzay |
| vesting shares | 1920.017158 VESTS |
| Transaction Info | Block #48252487/Trx 4370847f18b64564d69138585bc93f6df1c5a15b |
View Raw JSON Data
{
"trx_id": "4370847f18b64564d69138585bc93f6df1c5a15b",
"block": 48252487,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-11-02T11:07:30",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bbozzay",
"vesting_shares": "1920.017158 VESTS"
}
]
}2020/05/09 03:36:42
2020/05/09 03:36:42
| delegator | steem |
| delegatee | bbozzay |
| vesting shares | 8736.380816 VESTS |
| Transaction Info | Block #43214540/Trx 1c65d66eb11cc8b213e3b6b7398bbfded7c7409b |
View Raw JSON Data
{
"trx_id": "1c65d66eb11cc8b213e3b6b7398bbfded7c7409b",
"block": 43214540,
"trx_in_block": 7,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-05-09T03:36:42",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bbozzay",
"vesting_shares": "8736.380816 VESTS"
}
]
}2020/05/08 06:54:00
2020/05/08 06:54:00
| delegator | steem |
| delegatee | bbozzay |
| vesting shares | 1953.311140 VESTS |
| Transaction Info | Block #43190270/Trx 529202f492ed46dfb2744c0a8fdcfccc0e20f595 |
View Raw JSON Data
{
"trx_id": "529202f492ed46dfb2744c0a8fdcfccc0e20f595",
"block": 43190270,
"trx_in_block": 25,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-05-08T06:54:00",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bbozzay",
"vesting_shares": "1953.311140 VESTS"
}
]
}2019/09/26 01:33:09
2019/09/26 01:33:09
| delegator | steem |
| delegatee | bbozzay |
| vesting shares | 8864.260178 VESTS |
| Transaction Info | Block #36745972/Trx a99fa6012c76035fb179b2280c0cb931c44a60e3 |
View Raw JSON Data
{
"trx_id": "a99fa6012c76035fb179b2280c0cb931c44a60e3",
"block": 36745972,
"trx_in_block": 9,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-26T01:33:09",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bbozzay",
"vesting_shares": "8864.260178 VESTS"
}
]
}2019/09/25 23:29:24
2019/09/25 23:29:24
| parent author | bbozzay |
| parent permlink | how-to-cache-bust-and-concatenate-js-and-sass-files-with-hugo-in-2018 |
| author | steemitboard |
| permlink | steemitboard-notify-bbozzay-20190925t232923000z |
| title | |
| body | Congratulations @bbozzay! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@bbozzay/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table> <sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@bbozzay) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=bbozzay)_</sub> **Do not miss the last post from @steemitboard:** <table><tr><td><a href="https://steemit.com/steemfest/@steemitboard/steemitboard-supports-the-steemfest-travel-reimbursement-fund"><img src="https://steemitimages.com/64x128/https://cdn.steemitimages.com/DQmXDHs9xfx8ZZ3DESFUqHRUQAcQT5kUWobArsRoJg2Yz1F/image.png"></a></td><td><a href="https://steemit.com/steemfest/@steemitboard/steemitboard-supports-the-steemfest-travel-reimbursement-fund">SteemitBoard supports the SteemFest⁴ Travel Reimbursement Fund.</a></td></tr></table> ###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes! |
| json metadata | {"image":["https://steemitboard.com/img/notify.png"]} |
| Transaction Info | Block #36743502/Trx 96a5820d2237bf6ef32cdfd7379ccf69db98b6d9 |
View Raw JSON Data
{
"trx_id": "96a5820d2237bf6ef32cdfd7379ccf69db98b6d9",
"block": 36743502,
"trx_in_block": 3,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-09-25T23:29:24",
"op": [
"comment",
{
"parent_author": "bbozzay",
"parent_permlink": "how-to-cache-bust-and-concatenate-js-and-sass-files-with-hugo-in-2018",
"author": "steemitboard",
"permlink": "steemitboard-notify-bbozzay-20190925t232923000z",
"title": "",
"body": "Congratulations @bbozzay! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@bbozzay/birthday2.png</td><td>Happy Birthday! - You are on the Steem blockchain for 2 years!</td></tr></table>\n\n<sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@bbozzay) and compare to others on the [Steem Ranking](https://steemitboard.com/ranking/index.php?name=bbozzay)_</sub>\n\n\n**Do not miss the last post from @steemitboard:**\n<table><tr><td><a href=\"https://steemit.com/steemfest/@steemitboard/steemitboard-supports-the-steemfest-travel-reimbursement-fund\"><img src=\"https://steemitimages.com/64x128/https://cdn.steemitimages.com/DQmXDHs9xfx8ZZ3DESFUqHRUQAcQT5kUWobArsRoJg2Yz1F/image.png\"></a></td><td><a href=\"https://steemit.com/steemfest/@steemitboard/steemitboard-supports-the-steemfest-travel-reimbursement-fund\">SteemitBoard supports the SteemFest⁴ Travel Reimbursement Fund.</a></td></tr></table>\n\n###### [Vote for @Steemitboard as a witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1) to get one more award and increased upvotes!",
"json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
}
]
}2018/10/17 13:42:12
2018/10/17 13:42:12
| delegator | steem |
| delegatee | bbozzay |
| vesting shares | 9062.161435 VESTS |
| Transaction Info | Block #26888165/Trx 05537a4fb48dc117d108e5a4e6cae42d9206a3ad |
View Raw JSON Data
{
"trx_id": "05537a4fb48dc117d108e5a4e6cae42d9206a3ad",
"block": 26888165,
"trx_in_block": 6,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-10-17T13:42:12",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bbozzay",
"vesting_shares": "9062.161435 VESTS"
}
]
}2018/10/07 12:08:54
2018/10/07 12:08:54
| voter | advertis |
| author | bbozzay |
| permlink | how-to-cache-bust-and-concatenate-js-and-sass-files-with-hugo-in-2018 |
| weight | 10000 (100.00%) |
| Transaction Info | Block #26598517/Trx d95a28f86e492329031f8cf0585ddba1925f37b0 |
View Raw JSON Data
{
"trx_id": "d95a28f86e492329031f8cf0585ddba1925f37b0",
"block": 26598517,
"trx_in_block": 14,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-10-07T12:08:54",
"op": [
"vote",
{
"voter": "advertis",
"author": "bbozzay",
"permlink": "how-to-cache-bust-and-concatenate-js-and-sass-files-with-hugo-in-2018",
"weight": 10000
}
]
}2018/09/26 06:06:12
2018/09/26 06:06:12
| parent author | bbozzay |
| parent permlink | how-to-cache-bust-and-concatenate-js-and-sass-files-with-hugo-in-2018 |
| author | steemitboard |
| permlink | steemitboard-notify-bbozzay-20180926t060614000z |
| title | |
| body | Congratulations @bbozzay! You have received a personal award! [](http://steemitboard.com/@bbozzay) 1 Year on Steemit <sub>_Click on the badge to view your Board of Honor._</sub> > Support [SteemitBoard's project](https://steemit.com/@steemitboard)! **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**! |
| json metadata | {"image":["https://steemitboard.com/img/notify.png"]} |
| Transaction Info | Block #26274730/Trx bd792c3d4c365edbe0157af7b7d5c06bdea58264 |
View Raw JSON Data
{
"trx_id": "bd792c3d4c365edbe0157af7b7d5c06bdea58264",
"block": 26274730,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-09-26T06:06:12",
"op": [
"comment",
{
"parent_author": "bbozzay",
"parent_permlink": "how-to-cache-bust-and-concatenate-js-and-sass-files-with-hugo-in-2018",
"author": "steemitboard",
"permlink": "steemitboard-notify-bbozzay-20180926t060614000z",
"title": "",
"body": "Congratulations @bbozzay! You have received a personal award!\n\n[](http://steemitboard.com/@bbozzay) 1 Year on Steemit\n<sub>_Click on the badge to view your Board of Honor._</sub>\n\n\n> Support [SteemitBoard's project](https://steemit.com/@steemitboard)! **[Vote for its witness](https://v2.steemconnect.com/sign/account-witness-vote?witness=steemitboard&approve=1)** and **get one more award**!",
"json_metadata": "{\"image\":[\"https://steemitboard.com/img/notify.png\"]}"
}
]
}2018/07/19 18:32:06
2018/07/19 18:32:06
| parent author | bbozzay |
| parent permlink | how-to-cache-bust-and-concatenate-js-and-sass-files-with-hugo-in-2018 |
| author | portugalcoin |
| permlink | re-bbozzay-how-to-cache-bust-and-concatenate-js-and-sass-files-with-hugo-in-2018-20180718t210733780z |
| title | |
| body | The contribution has been moved to the blog category. ---- Need help? Write a ticket on https://support.utopian.io/. Chat with us on [Discord](https://discord.gg/uTyJkNm). [[utopian-moderator]](https://join.utopian.io/) |
| json metadata | {"tags":["utopian-io"],"links":["https://support.utopian.io/","https://discord.gg/uTyJkNm","https://join.utopian.io/"],"app":"steemit/0.1"} |
| Transaction Info | Block #24319576/Trx b10d99fcaa6ff1782e27c2010d88f605c0969be1 |
View Raw JSON Data
{
"trx_id": "b10d99fcaa6ff1782e27c2010d88f605c0969be1",
"block": 24319576,
"trx_in_block": 9,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-07-19T18:32:06",
"op": [
"comment",
{
"parent_author": "bbozzay",
"parent_permlink": "how-to-cache-bust-and-concatenate-js-and-sass-files-with-hugo-in-2018",
"author": "portugalcoin",
"permlink": "re-bbozzay-how-to-cache-bust-and-concatenate-js-and-sass-files-with-hugo-in-2018-20180718t210733780z",
"title": "",
"body": "The contribution has been moved to the blog category.\n\n---- \nNeed help? Write a ticket on https://support.utopian.io/. \nChat with us on [Discord](https://discord.gg/uTyJkNm). \n[[utopian-moderator]](https://join.utopian.io/)",
"json_metadata": "{\"tags\":[\"utopian-io\"],\"links\":[\"https://support.utopian.io/\",\"https://discord.gg/uTyJkNm\",\"https://join.utopian.io/\"],\"app\":\"steemit/0.1\"}"
}
]
}2018/07/19 13:06:30
2018/07/19 13:06:30
| parent author | bbozzay |
| parent permlink | how-to-cache-bust-and-concatenate-js-and-sass-files-with-hugo-in-2018 |
| author | roj |
| permlink | re-bbozzay-how-to-cache-bust-and-concatenate-js-and-sass-files-with-hugo-in-2018-20180719t130629368z |
| title | |
| body | Thank you for the contribution. It has been moved to blogs from tutorials since it is a better fit for the category. Besides being a category for general purpose blogging category for open source related topics, Blog Posts is also the right category for project owners or collaborators to publish their announcements, development logs, engagement posts and many since the category is flexible for any kind of posts as long as they contain high-quality editorial content. Considering the post, it is not going to be rewarded since Utopian only rewards contributions with unique content. But the content is already published in the fullstackdigital blog. https://blog.fullstackdigital.com/how-to-cache-bust-and-concatenate-js-and-sass-files-with-hugo-in-2018-9266fd3c411e If you wish to publish those posts both in Utopian and company blog, you should submit it to Utopian first, or submit it right after you post into your own blog. ---- Need help? Write a ticket on https://support.utopian.io/. Chat with us on [Discord](https://discord.gg/uTyJkNm). [[utopian-moderator]](https://join.utopian.io/) |
| json metadata | {"tags":["utopian-io"],"links":["https://blog.fullstackdigital.com/how-to-cache-bust-and-concatenate-js-and-sass-files-with-hugo-in-2018-9266fd3c411e","https://support.utopian.io/","https://discord.gg/uTyJkNm","https://join.utopian.io/"],"app":"steemit/0.1"} |
| Transaction Info | Block #24313069/Trx 86a4ef6ae4c648ac9069dfa7771585869b1e4227 |
View Raw JSON Data
{
"trx_id": "86a4ef6ae4c648ac9069dfa7771585869b1e4227",
"block": 24313069,
"trx_in_block": 22,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-07-19T13:06:30",
"op": [
"comment",
{
"parent_author": "bbozzay",
"parent_permlink": "how-to-cache-bust-and-concatenate-js-and-sass-files-with-hugo-in-2018",
"author": "roj",
"permlink": "re-bbozzay-how-to-cache-bust-and-concatenate-js-and-sass-files-with-hugo-in-2018-20180719t130629368z",
"title": "",
"body": "Thank you for the contribution. It has been moved to blogs from tutorials since it is a better fit for the category. \n\nBesides being a category for general purpose blogging category for open source related topics, Blog Posts is also the right category for project owners or collaborators to publish their announcements, development logs, engagement posts and many since the category is flexible for any kind of posts as long as they contain high-quality editorial content.\n\nConsidering the post, it is not going to be rewarded since Utopian only rewards contributions with unique content. But the content is already published in the fullstackdigital blog.\n\nhttps://blog.fullstackdigital.com/how-to-cache-bust-and-concatenate-js-and-sass-files-with-hugo-in-2018-9266fd3c411e\n\nIf you wish to publish those posts both in Utopian and company blog, you should submit it to Utopian first, or submit it right after you post into your own blog.\n\n---- \nNeed help? Write a ticket on https://support.utopian.io/. \nChat with us on [Discord](https://discord.gg/uTyJkNm). \n[[utopian-moderator]](https://join.utopian.io/)",
"json_metadata": "{\"tags\":[\"utopian-io\"],\"links\":[\"https://blog.fullstackdigital.com/how-to-cache-bust-and-concatenate-js-and-sass-files-with-hugo-in-2018-9266fd3c411e\",\"https://support.utopian.io/\",\"https://discord.gg/uTyJkNm\",\"https://join.utopian.io/\"],\"app\":\"steemit/0.1\"}"
}
]
}2018/07/18 21:07:33
2018/07/18 21:07:33
| parent author | bbozzay |
| parent permlink | how-to-cache-bust-and-concatenate-js-and-sass-files-with-hugo-in-2018 |
| author | portugalcoin |
| permlink | re-bbozzay-how-to-cache-bust-and-concatenate-js-and-sass-files-with-hugo-in-2018-20180718t210733780z |
| title | |
| body | Thank you for your contribution. This moderation might not be considered due to the below: - Doesn´t follow the template for tutorials. See the template <a href="https://github.com/utopian-io/editor-templates/blob/master/tutorials">here</a>. See in this <a href="https://steemit.com/utopian-io/@espoem/make-your-posts-look-great-in-steemit-and-busy">link</a> an example of a good tutorial. ---- Need help? Write a ticket on https://support.utopian.io/. Chat with us on [Discord](https://discord.gg/uTyJkNm). [[utopian-moderator]](https://join.utopian.io/) |
| json metadata | {"tags":["utopian-io"],"links":["https://github.com/utopian-io/editor-templates/blob/master/tutorials","https://steemit.com/utopian-io/@espoem/make-your-posts-look-great-in-steemit-and-busy","https://support.utopian.io/","https://discord.gg/uTyJkNm","https://join.utopian.io/"],"app":"steemit/0.1"} |
| Transaction Info | Block #24293903/Trx 9f8d37204d88503304acea930ea7b9ccd82cb909 |
View Raw JSON Data
{
"trx_id": "9f8d37204d88503304acea930ea7b9ccd82cb909",
"block": 24293903,
"trx_in_block": 25,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-07-18T21:07:33",
"op": [
"comment",
{
"parent_author": "bbozzay",
"parent_permlink": "how-to-cache-bust-and-concatenate-js-and-sass-files-with-hugo-in-2018",
"author": "portugalcoin",
"permlink": "re-bbozzay-how-to-cache-bust-and-concatenate-js-and-sass-files-with-hugo-in-2018-20180718t210733780z",
"title": "",
"body": "Thank you for your contribution.\nThis moderation might not be considered due to the below:\n\n- Doesn´t follow the template for tutorials. See the template <a href=\"https://github.com/utopian-io/editor-templates/blob/master/tutorials\">here</a>.\n\nSee in this <a href=\"https://steemit.com/utopian-io/@espoem/make-your-posts-look-great-in-steemit-and-busy\">link</a> an example of a good tutorial.\n\n---- \nNeed help? Write a ticket on https://support.utopian.io/. \nChat with us on [Discord](https://discord.gg/uTyJkNm). \n[[utopian-moderator]](https://join.utopian.io/)",
"json_metadata": "{\"tags\":[\"utopian-io\"],\"links\":[\"https://github.com/utopian-io/editor-templates/blob/master/tutorials\",\"https://steemit.com/utopian-io/@espoem/make-your-posts-look-great-in-steemit-and-busy\",\"https://support.utopian.io/\",\"https://discord.gg/uTyJkNm\",\"https://join.utopian.io/\"],\"app\":\"steemit/0.1\"}"
}
]
}2018/07/18 14:54:00
2018/07/18 14:54:00
| voter | sensation |
| author | bbozzay |
| permlink | how-to-cache-bust-and-concatenate-js-and-sass-files-with-hugo-in-2018 |
| weight | 10000 (100.00%) |
| Transaction Info | Block #24286434/Trx ac0045dfbf86ed9c516e1c12f7bb277e2e7c11f5 |
View Raw JSON Data
{
"trx_id": "ac0045dfbf86ed9c516e1c12f7bb277e2e7c11f5",
"block": 24286434,
"trx_in_block": 35,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-07-18T14:54:00",
"op": [
"vote",
{
"voter": "sensation",
"author": "bbozzay",
"permlink": "how-to-cache-bust-and-concatenate-js-and-sass-files-with-hugo-in-2018",
"weight": 10000
}
]
}2018/07/18 14:33:54
2018/07/18 14:33:54
| delegator | steem |
| delegatee | bbozzay |
| vesting shares | 29392.946402 VESTS |
| Transaction Info | Block #24286032/Trx f277a20c07e44d38a1738bb6d719a56124f38ae1 |
View Raw JSON Data
{
"trx_id": "f277a20c07e44d38a1738bb6d719a56124f38ae1",
"block": 24286032,
"trx_in_block": 16,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-07-18T14:33:54",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bbozzay",
"vesting_shares": "29392.946402 VESTS"
}
]
}2018/07/18 14:03:00
2018/07/18 14:03:00
| voter | davidfnck |
| author | bbozzay |
| permlink | how-to-cache-bust-and-concatenate-js-and-sass-files-with-hugo-in-2018 |
| weight | 3000 (30.00%) |
| Transaction Info | Block #24285414/Trx fc1d5043d7d9c76d26aa12112bbb5ef2b797d76b |
View Raw JSON Data
{
"trx_id": "fc1d5043d7d9c76d26aa12112bbb5ef2b797d76b",
"block": 24285414,
"trx_in_block": 26,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-07-18T14:03:00",
"op": [
"vote",
{
"voter": "davidfnck",
"author": "bbozzay",
"permlink": "how-to-cache-bust-and-concatenate-js-and-sass-files-with-hugo-in-2018",
"weight": 3000
}
]
}bbozzayupdated their account properties2018/07/18 13:36:30
bbozzayupdated their account properties
2018/07/18 13:36:30
| account | bbozzay |
| memo key | STM88kMmU8j7DeNfKLwwyzdMEvseWG9NC93UKq73pFmTkrHWQEs1b |
| json metadata | {"profile":{"profile_image":"https://cdn.steemitimages.com/DQmfTtp7DzxKZa9Xh3b51JykTyiejbP7FLyrxCGUU31HXpm/ben-profile-picture.jpg","name":"bbozzay","about":"I'm a web developer at Fullstack Digital. Founder of Pancakes Builder, a free page builder for Hugo and Forestry.io.","location":"Washington DC","website":"https://fullstackdigital.com"}} |
| Transaction Info | Block #24284884/Trx 8b0a19fd03c428d6cd5c2caa8ee05ac9ddb581c9 |
View Raw JSON Data
{
"trx_id": "8b0a19fd03c428d6cd5c2caa8ee05ac9ddb581c9",
"block": 24284884,
"trx_in_block": 22,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-07-18T13:36:30",
"op": [
"account_update",
{
"account": "bbozzay",
"memo_key": "STM88kMmU8j7DeNfKLwwyzdMEvseWG9NC93UKq73pFmTkrHWQEs1b",
"json_metadata": "{\"profile\":{\"profile_image\":\"https://cdn.steemitimages.com/DQmfTtp7DzxKZa9Xh3b51JykTyiejbP7FLyrxCGUU31HXpm/ben-profile-picture.jpg\",\"name\":\"bbozzay\",\"about\":\"I'm a web developer at Fullstack Digital. Founder of Pancakes Builder, a free page builder for Hugo and Forestry.io.\",\"location\":\"Washington DC\",\"website\":\"https://fullstackdigital.com\"}}"
}
]
}bbozzaypublished a new post: how-to-cache-bust-and-concatenate-js-and-sass-files-with-hugo-in-20182018/07/18 13:35:09
bbozzaypublished a new post: how-to-cache-bust-and-concatenate-js-and-sass-files-with-hugo-in-2018
2018/07/18 13:35:09
| parent author | |
| parent permlink | utopian-io |
| author | bbozzay |
| permlink | how-to-cache-bust-and-concatenate-js-and-sass-files-with-hugo-in-2018 |
| title | How to cache-bust and concatenate JS and SASS files with Hugo in 2018 |
| body | [Hugo](https://gohugo.io/) released [version 0.43](https://github.com/gohugoio/hugo/releases/tag/v0.43) adding built-in asset post-processing. As our team wraps up development of a free page-builder theme that utilizes Forestry.io, Netlify, and Hugo, we were thrilled to replace our asset processing tasks with Hugo's pipeline. The addition of built-in asset pipeline support allowed us to simplify our build process and reduce potential conflicts caused when deploying with Netlify. Here's how we replaced our Gulp tasks with Hugo's new asset pipeline to add **SASS support** and to **concatenate**, **minify**, and **fingerprint** JS and CSS. **[Click here](https://upscri.be/15ee91/) to get notified when Pancakes Builder is released!** ## Built-in SASS support Since Hugo previously did not provide built-in support for SCSS, Gulp was commonly used for SCSS generation. This wasn't ideal for us because the build and deploy process with Netlify would sometimes encounter issues. As a result, we would just commit processed assets instead of using Netlify to build assets. ## Using SCSS with Hugo in 2018 [Sass](https://sass-lang.com/guide) provides many benefits that simplify theme development. For example, it enables the use of variables for CSS values. ``` $font-stack: Helvetica, sans-serif; $primary-color: #333; body { font: 100% $font-stack; color: $primary-color; } ``` This is especially useful for theme development when user's are able to define these variables themselves and quickly change the style of a theme. Partial Sass files allow you to better organize your CSS. These files, which use a leading underscore, are then imported and combined into a single file. **Note: you must use the extended version of 0.43 for Sass support.** 1. In your theme folder or the top-level of your project add an assets folder to store your SCSS:  By default, resource objects live in the `/assets/` directory (you will most likely need to add this folder). 2. Add a `main.scss` file to your scss directory:  3. In `main.scss`, import your partial SCSS:  If you define variables that are used in other partial files, you must import that partial file first. For example, we use a file called `_variables.scss` to define fonts and colors. 4. Generate the resource: ``` {{ $styles := resources.Get "scss/main.scss" | toCSS }} ``` You can learn more about the resource functions within [#4854](https://github.com/gohugoio/hugo/issues/4854). This seems to provide more context then the release page. For example, `resources.Get` creates a new resource object based on a path to a file within the /assets directory. In the code snippet above, `resources.Get` generates a file in the resources directory:  *In this particular example fingerprinting is enabled, which is why this file has a hash5.* 5. Reference the newly generated SCSS file: ``` {{ $styles := resources.Get "scss/main.scss" | toCSS }} <link rel="stylesheet" href="{{ $styles.Permalink }}" media="screen"> ``` Appending `.Permlink` to the styles variable generates the URL needed to reference the scss file in our resources directory. ## Cache-busting using fingerprinting Cache busting allows you to force the browser to re-download files that are usually cached. CDN's like Cloudflare and a user's browser will cache certain resources like stylesheets to reduce page load time. This means that a user might not see newly committed stylesheet updates unless the browser cache is cleared. If you are using Cloudflare, you'd need to enable development mode and clear the Cloudflare cache before committing your stylesheet update so that user's browsers do not cache Cloudflares cached version of your stylesheet :).  **Fingerprinting** generates a unique hash when you recompile your stylesheet. This means that the file name changes every time you commit your stylesheet. Cloudflare and the user's browser will re-download the asset since the name changed. We can also [minify](https://en.wikipedia.org/wiki/Minification_%28programming%29) our stylesheet to reduce the file size. Resources functions like toCSS, minify, and fingerprint can be chained! 6. Add fingerprinting and minification to your stylesheet: ``` {{ $styles := resources.Get "scss/main.scss" | toCSS | minify | fingerprint }} ``` 7. Add `.Data.Integrity` to fingerprinted resources. ``` <link rel="stylesheet" href="{{ $styles.Permalink }}" integrity="{{ $styles.Data.Integrity" media="screen"> ``` According to this [issue](https://github.com/gohugoio/hugo/issues/4854), Data.Integrity [should be added to fingerprinted resources](https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity) to provide verification that changed files are not malicious. ## Overwriting your theme's SCSS If you have an assets folder in the top-level of your project and an assets folder in your theme directory, Hugo will prioritize the top-level directory over the theme directory. This means that you can overwrite theme files without modifying the theme directory. This is similar to how Wordpress child themes work. ``` assets └── scss | └── _accordian.scss themes └── pancakes | └── assets └── scss └── _accordian.scss ``` In our particular scenario, we plan to release a free, open source builder theme as a **git submodule**. This will allow us to push theme updates. However, we can provide user's with guidance on how to safely overwrite theme layouts and scss files without conflicting with theme updates. ## Combining JS files Hugo 0.43 added resources.Concat, which means that we can combine JS files without using a bundler. Directory priority is still the same: ``` assets └── js themes └── pancakes | └── assets └── js ``` JS within the top-level assets folder will overwrite identically named JS within the theme assets folder. 1. Create resources out of your JS files in your assets folder: ``` {{ $vendor := resources.Get "js/vendor/jquery.min.js" }} {{ $customjs := resources.Get "js/main.js" }} ``` 2. Create an array using [slice](https://gohugo.io/functions/slice/): ``` {{ $scripts := slice $vendor $customjs | resources.Concat "app.js" | minify | fingerprint }} ``` In this example, `resources.Concat` generates the filename "app.js" in the resources directory. **Files are combined based on the argument order.** Chain `minify` and `fingerprint` to reduce page load time and force a cache refresh. 3. Link to the generated resource ``` <script type="text/javascript" src="{{ $scripts.Permalink }}" integrity="{{ $scripts.Data.Integrity }}" media="screen"></script> ``` Make sure you use integrity to verify the authenticity of files that use a hash (like fingerprinted files). ## Hugo's bright future This new version of Hugo added a few other fantastic features, such as [image processing](https://gohugo.io/content-management/image-processing/#readout) and the ability to use Go within resources. ### Resize, crop, and re-sample programmatically. A user uploaded image via a CMS like Forestry.io could now result in several generated resources, such as a cropped or scaled thumbnail. For example, a cropped thumbnail for a blog archive page:  *Hugo uses Smartcrop by default* A full-size version of the image for the actual blog post:  Cropped thumbnails are essential for a blog and are a standard for content management systems like Wordpress. A blog archive page needs to use cropped or scaled down versions of the post's featured image to avoid horrendous page load speed from downloading several full-size images. One work around for this problem is to upload two variations of the featured image, but now we can simply include image processing within the layout! ### Using Go within resources This requires further exploring, but this likely means that you could use page or site-level variables to manipulate stylesheets. Users could potentially use front matter to define Sass variables (though you have to be careful with this approach). This is particularly game-changing if you overlay a CMS like Forestry.io and use Data files to provide Wordpress-like theme options. Users could have direct access to modifying the look and feel of their theme without writing any code. ## Bridging the gap Static site generators are increasingly becoming more accessible to non-developers. **The latest update from Hugo will enable normal users to benefit from the speed and functionality of Hugo without writing a line of code themselves.** * Netlify's one-click deploy enables simple deployment of Hugo with a pre-installed theme. It also enables contact forms for static sites and simple one-click SSL install. * [Forestry.io](https://forestry.io/) gives users a familar and easy to use interface while allowing developers to provide simple fields for modifying layouts and styles. * Hugo's fast build time, markdown shortcodes, newly added asset pipeline, image processing, and ability to modify stylesheets using front matter, make it a worthy static competitor to Wordpress. ### What's missing? This combination allows us to produce a one-click deploy theme that integrates with Forestry.io to provide users with a flexible page builder similar to Wordpress page builders like Divi, Visual Composer, and Beaver Builder. In the coming weeks we will release a free, open source Hugo theme that enables users to easily build page layouts without writing a line of code or using Git. **[Click here](https://upscri.be/15ee91/) to get notified when Pancakes Builder is released!** --- When I'm not writing, I'm helping businesses go further, faster at [Fullstack Digital](https://fullstackdigital.com/). We provide digital brand strategy, design, development, and marketing for forward-thinking companies. |
| json metadata | {"tags":["utopian-io","tutorial","programming","coding","opensource"],"image":["https://cdn.steemitimages.com/DQmPybogShNMXgFVPXzs6HLJatKHZ7k8sbdBFz2go13m8Xs/1_MXUXIaOQ9jpmxirp6PtNHw.png","https://cdn.steemitimages.com/DQmUQEpe1JP8UfHnqjp9fJaim1mHwXDP2CbS9rrkLXEZotV/1__Jr1s4fDMNVDnr5R3KDFcw.png","https://cdn.steemitimages.com/DQmVjaRnvdET1Bg2idBfYzDYynZRGuy1Kbzh5WfRSWfBcwL/1_7vyjjHbpe_2pEaq6EcaUvQ.png","https://cdn.steemitimages.com/DQmbTrF5aDtnkSR4D3QCUhqHTmLfzp4h8rQKGqNcdnKUvm7/1_BggSJbrPKru2qPMp0bNSXQ.png","https://cdn.steemitimages.com/DQmXyn6pLoYjqikYMxAX3ZcFXbtULedYKhzHp9cKTWu6jUM/1_ACo2X7LuQqNzvT4Q_cMbqg.png","https://cdn.steemitimages.com/DQmVnhvdiazvRxiuRKjuMEstWHU7Neud3Dt7NziMzTQ8Lw5/1_Bbp_zcUPV717biSvVGtVSw.png","https://cdn.steemitimages.com/DQmVikag2GV2ZQbiZhB33wFCREQMq3oCTTSaucV6PPiudeq/1_EWqhu1O26maUC-4YLV6EjQ.jpeg"],"links":["https://gohugo.io/","https://github.com/gohugoio/hugo/releases/tag/v0.43","https://upscri.be/15ee91/","https://sass-lang.com/guide","https://github.com/gohugoio/hugo/issues/4854","https://en.wikipedia.org/wiki/Minification_%28programming%29","https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity","https://gohugo.io/functions/slice/","https://gohugo.io/content-management/image-processing/#readout","https://forestry.io/","https://fullstackdigital.com/"],"app":"steemit/0.1","format":"markdown"} |
| Transaction Info | Block #24284857/Trx 38815fbfd50ba71650d69e5094a89730266df0e7 |
View Raw JSON Data
{
"trx_id": "38815fbfd50ba71650d69e5094a89730266df0e7",
"block": 24284857,
"trx_in_block": 42,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-07-18T13:35:09",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "utopian-io",
"author": "bbozzay",
"permlink": "how-to-cache-bust-and-concatenate-js-and-sass-files-with-hugo-in-2018",
"title": "How to cache-bust and concatenate JS and SASS files with Hugo in 2018",
"body": "[Hugo](https://gohugo.io/) released [version 0.43](https://github.com/gohugoio/hugo/releases/tag/v0.43) adding built-in asset post-processing. As our team wraps up development of a free page-builder theme that utilizes Forestry.io, Netlify, and Hugo, we were thrilled to replace our asset processing tasks with Hugo's pipeline.\n\nThe addition of built-in asset pipeline support allowed us to simplify our build process and reduce potential conflicts caused when deploying with Netlify. Here's how we replaced our Gulp tasks with Hugo's new asset pipeline to add **SASS support** and to **concatenate**, **minify**, and **fingerprint** JS and CSS.\n\n**[Click here](https://upscri.be/15ee91/) to get notified when Pancakes Builder is released!**\n\n## Built-in SASS support\nSince Hugo previously did not provide built-in support for SCSS, Gulp was commonly used for SCSS generation. This wasn't ideal for us because the build and deploy process with Netlify would sometimes encounter issues. As a result, we would just commit processed assets instead of using Netlify to build assets.\n\n## Using SCSS with Hugo in 2018\n[Sass](https://sass-lang.com/guide) provides many benefits that simplify theme development. For example, it enables the use of variables for CSS values.\n\n```\n$font-stack: Helvetica, sans-serif;\n$primary-color: #333;\n\nbody {\n font: 100% $font-stack;\n color: $primary-color;\n} \n```\n\nThis is especially useful for theme development when user's are able to define these variables themselves and quickly change the style of a theme.\n\nPartial Sass files allow you to better organize your CSS. These files, which use a leading underscore, are then imported and combined into a single file.\n\n**Note: you must use the extended version of 0.43 for Sass support.**\n\n1. In your theme folder or the top-level of your project add an assets folder to store your SCSS:\n\n\n\nBy default, resource objects live in the `/assets/` directory (you will most likely need to add this folder).\n\n2. Add a `main.scss` file to your scss directory:\n\n\n\n3. In `main.scss`, import your partial SCSS:\n\n\n\nIf you define variables that are used in other partial files, you must import that partial file first. For example, we use a file called `_variables.scss` to define fonts and colors.\n\n4. Generate the resource:\n\n```\n{{ $styles := resources.Get \"scss/main.scss\" | toCSS }}\n```\n\nYou can learn more about the resource functions within [#4854](https://github.com/gohugoio/hugo/issues/4854). This seems to provide more context then the release page.\n\nFor example, `resources.Get` creates a new resource object based on a path to a file within the /assets directory.\nIn the code snippet above, `resources.Get` generates a file in the resources directory:\n\n\n\n*In this particular example fingerprinting is enabled, which is why this file has a hash5.*\n\n\n5. Reference the newly generated SCSS file:\n\n```\n{{ $styles := resources.Get \"scss/main.scss\" | toCSS }}\n<link rel=\"stylesheet\" href=\"{{ $styles.Permalink }}\" media=\"screen\">\n```\n\nAppending `.Permlink` to the styles variable generates the URL needed to reference the scss file in our resources directory.\n\n## Cache-busting using fingerprinting\nCache busting allows you to force the browser to re-download files that are usually cached. CDN's like Cloudflare and a user's browser will cache certain resources like stylesheets to reduce page load time. This means that a user might not see newly committed stylesheet updates unless the browser cache is cleared.\n\nIf you are using Cloudflare, you'd need to enable development mode and clear the Cloudflare cache before committing your stylesheet update so that user's browsers do not cache Cloudflares cached version of your stylesheet :).\n\n\n\n**Fingerprinting** generates a unique hash when you recompile your stylesheet. This means that the file name changes every time you commit your stylesheet. Cloudflare and the user's browser will re-download the asset since the name changed.\n\nWe can also [minify](https://en.wikipedia.org/wiki/Minification_%28programming%29) our stylesheet to reduce the file size. Resources functions like toCSS, minify, and fingerprint can be chained!\n\n6. Add fingerprinting and minification to your stylesheet:\n\n```\n{{ $styles := resources.Get \"scss/main.scss\" | toCSS | minify | fingerprint }}\n```\n\n7. Add `.Data.Integrity` to fingerprinted resources.\n\n```\n<link rel=\"stylesheet\" href=\"{{ $styles.Permalink }}\" integrity=\"{{ $styles.Data.Integrity\" media=\"screen\">\n```\n\nAccording to this [issue](https://github.com/gohugoio/hugo/issues/4854), Data.Integrity [should be added to fingerprinted resources](https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity) to provide verification that changed files are not malicious.\n\n## Overwriting your theme's SCSS\nIf you have an assets folder in the top-level of your project and an assets folder in your theme directory, Hugo will prioritize the top-level directory over the theme directory. This means that you can overwrite theme files without modifying the theme directory. This is similar to how Wordpress child themes work.\n```\nassets\n └── scss\n | └── _accordian.scss\nthemes\n └── pancakes\n | └── assets\n └── scss\n └── _accordian.scss\n```\n\nIn our particular scenario, we plan to release a free, open source builder theme as a **git submodule**. This will allow us to push theme updates. However, we can provide user's with guidance on how to safely overwrite theme layouts and scss files without conflicting with theme updates.\n\n## Combining JS files\nHugo 0.43 added resources.Concat, which means that we can combine JS files without using a bundler.\nDirectory priority is still the same:\n\n```\nassets\n └── js\n\nthemes\n └── pancakes\n | └── assets\n └── js\n```\n\nJS within the top-level assets folder will overwrite identically named JS within the theme assets folder.\n\n1. Create resources out of your JS files in your assets folder:\n\n```\n{{ $vendor := resources.Get \"js/vendor/jquery.min.js\" }}\n{{ $customjs := resources.Get \"js/main.js\" }}\n```\n\n2. Create an array using [slice](https://gohugo.io/functions/slice/):\n\n```\n{{ $scripts := slice $vendor $customjs | resources.Concat \"app.js\" | minify | fingerprint }}\n```\n\nIn this example, `resources.Concat` generates the filename \"app.js\" in the resources directory. **Files are combined based on the argument order.**\n\nChain `minify` and `fingerprint` to reduce page load time and force a cache refresh.\n\n3. Link to the generated resource\n\n```\n<script type=\"text/javascript\" src=\"{{ $scripts.Permalink }}\" integrity=\"{{ $scripts.Data.Integrity }}\" media=\"screen\"></script>\n```\n\nMake sure you use integrity to verify the authenticity of files that use a hash (like fingerprinted files).\n\n## Hugo's bright future\nThis new version of Hugo added a few other fantastic features, such as [image processing](https://gohugo.io/content-management/image-processing/#readout) and the ability to use Go within resources.\n\n### Resize, crop, and re-sample programmatically.\nA user uploaded image via a CMS like Forestry.io could now result in several generated resources, such as a cropped or scaled thumbnail.\n\nFor example, a cropped thumbnail for a blog archive page:\n\n\n\n*Hugo uses Smartcrop by default*\n\n\nA full-size version of the image for the actual blog post:\n\n\n\nCropped thumbnails are essential for a blog and are a standard for content management systems like Wordpress. A blog archive page needs to use cropped or scaled down versions of the post's featured image to avoid horrendous page load speed from downloading several full-size images.\n\nOne work around for this problem is to upload two variations of the featured image, but now we can simply include image processing within the layout!\n\n### Using Go within resources\nThis requires further exploring, but this likely means that you could use page or site-level variables to manipulate stylesheets. Users could potentially use front matter to define Sass variables (though you have to be careful with this approach). This is particularly game-changing if you overlay a CMS like Forestry.io and use Data files to provide Wordpress-like theme options. Users could have direct access to modifying the look and feel of their theme without writing any code.\n\n## Bridging the gap\nStatic site generators are increasingly becoming more accessible to non-developers. **The latest update from Hugo will enable normal users to benefit from the speed and functionality of Hugo without writing a line of code themselves.**\n\n* Netlify's one-click deploy enables simple deployment of Hugo with a pre-installed theme. It also enables contact forms for static sites and simple one-click SSL install.\n* [Forestry.io](https://forestry.io/) gives users a familar and easy to use interface while allowing developers to provide simple fields for modifying layouts and styles.\n* Hugo's fast build time, markdown shortcodes, newly added asset pipeline, image processing, and ability to modify stylesheets using front matter, make it a worthy static competitor to Wordpress.\n\n### What's missing?\nThis combination allows us to produce a one-click deploy theme that integrates with Forestry.io to provide users with a flexible page builder similar to Wordpress page builders like Divi, Visual Composer, and Beaver Builder.\n\nIn the coming weeks we will release a free, open source Hugo theme that enables users to easily build page layouts without writing a line of code or using Git.\n\n**[Click here](https://upscri.be/15ee91/) to get notified when Pancakes Builder is released!**\n\n\n---\n\nWhen I'm not writing, I'm helping businesses go further, faster at [Fullstack Digital](https://fullstackdigital.com/). We provide digital brand strategy, design, development, and marketing for forward-thinking companies.",
"json_metadata": "{\"tags\":[\"utopian-io\",\"tutorial\",\"programming\",\"coding\",\"opensource\"],\"image\":[\"https://cdn.steemitimages.com/DQmPybogShNMXgFVPXzs6HLJatKHZ7k8sbdBFz2go13m8Xs/1_MXUXIaOQ9jpmxirp6PtNHw.png\",\"https://cdn.steemitimages.com/DQmUQEpe1JP8UfHnqjp9fJaim1mHwXDP2CbS9rrkLXEZotV/1__Jr1s4fDMNVDnr5R3KDFcw.png\",\"https://cdn.steemitimages.com/DQmVjaRnvdET1Bg2idBfYzDYynZRGuy1Kbzh5WfRSWfBcwL/1_7vyjjHbpe_2pEaq6EcaUvQ.png\",\"https://cdn.steemitimages.com/DQmbTrF5aDtnkSR4D3QCUhqHTmLfzp4h8rQKGqNcdnKUvm7/1_BggSJbrPKru2qPMp0bNSXQ.png\",\"https://cdn.steemitimages.com/DQmXyn6pLoYjqikYMxAX3ZcFXbtULedYKhzHp9cKTWu6jUM/1_ACo2X7LuQqNzvT4Q_cMbqg.png\",\"https://cdn.steemitimages.com/DQmVnhvdiazvRxiuRKjuMEstWHU7Neud3Dt7NziMzTQ8Lw5/1_Bbp_zcUPV717biSvVGtVSw.png\",\"https://cdn.steemitimages.com/DQmVikag2GV2ZQbiZhB33wFCREQMq3oCTTSaucV6PPiudeq/1_EWqhu1O26maUC-4YLV6EjQ.jpeg\"],\"links\":[\"https://gohugo.io/\",\"https://github.com/gohugoio/hugo/releases/tag/v0.43\",\"https://upscri.be/15ee91/\",\"https://sass-lang.com/guide\",\"https://github.com/gohugoio/hugo/issues/4854\",\"https://en.wikipedia.org/wiki/Minification_%28programming%29\",\"https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity\",\"https://gohugo.io/functions/slice/\",\"https://gohugo.io/content-management/image-processing/#readout\",\"https://forestry.io/\",\"https://fullstackdigital.com/\"],\"app\":\"steemit/0.1\",\"format\":\"markdown\"}"
}
]
}bbozzayfollowed @utopian-io2018/07/18 13:32:21
bbozzayfollowed @utopian-io
2018/07/18 13:32:21
| required auths | [] |
| required posting auths | ["bbozzay"] |
| id | follow |
| json | ["follow",{"follower":"bbozzay","following":"utopian-io","what":["blog"]}] |
| Transaction Info | Block #24284801/Trx 6b9dce8d17af62a43e8d763f1c27bf3000a93c75 |
View Raw JSON Data
{
"trx_id": "6b9dce8d17af62a43e8d763f1c27bf3000a93c75",
"block": 24284801,
"trx_in_block": 29,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-07-18T13:32:21",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"bbozzay"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"bbozzay\",\"following\":\"utopian-io\",\"what\":[\"blog\"]}]"
}
]
}2018/05/16 20:07:42
2018/05/16 20:07:42
| delegator | steem |
| delegatee | bbozzay |
| vesting shares | 9144.533475 VESTS |
| Transaction Info | Block #22489655/Trx b0be685c6abd77f6fdaaa84acf082dbcf8f98ba0 |
View Raw JSON Data
{
"trx_id": "b0be685c6abd77f6fdaaa84acf082dbcf8f98ba0",
"block": 22489655,
"trx_in_block": 17,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-05-16T20:07:42",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bbozzay",
"vesting_shares": "9144.533475 VESTS"
}
]
}2018/02/21 23:03:21
2018/02/21 23:03:21
| delegator | steem |
| delegatee | bbozzay |
| vesting shares | 29627.351149 VESTS |
| Transaction Info | Block #20076497/Trx 5e04e9146e4a26c1c9f349adb7f31de4e9b7d40e |
View Raw JSON Data
{
"trx_id": "5e04e9146e4a26c1c9f349adb7f31de4e9b7d40e",
"block": 20076497,
"trx_in_block": 43,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-02-21T23:03:21",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bbozzay",
"vesting_shares": "29627.351149 VESTS"
}
]
}2017/10/13 05:14:42
2017/10/13 05:14:42
| delegator | steem |
| delegatee | bbozzay |
| vesting shares | 29832.334567 VESTS |
| Transaction Info | Block #16285290/Trx 97f016ca464afa600160fa601364c928652ee777 |
View Raw JSON Data
{
"trx_id": "97f016ca464afa600160fa601364c928652ee777",
"block": 16285290,
"trx_in_block": 8,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-10-13T05:14:42",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "bbozzay",
"vesting_shares": "29832.334567 VESTS"
}
]
}2017/09/25 22:45:27
2017/09/25 22:45:27
| fee | 0.500 STEEM |
| delegation | 57000.000000 VESTS |
| creator | steem |
| new account name | bbozzay |
| owner | {"weight_threshold":1,"account_auths":[],"key_auths":[["STM8cacFALUCFgQ4CvxahUw6KBvUYKjN5TNdJaACAyYswbsShjHik",1]]} |
| active | {"weight_threshold":1,"account_auths":[],"key_auths":[["STM6zs8fJdEHFobGGMsyWQs3ow4RxW3pvk3fdFTghbGUBTWrRGyGS",1]]} |
| posting | {"weight_threshold":1,"account_auths":[],"key_auths":[["STM6LoHS8d5D1AXXEwHxgjpb4UyVcodJYeXoJctCSwQ59DZABTyEy",1]]} |
| memo key | STM88kMmU8j7DeNfKLwwyzdMEvseWG9NC93UKq73pFmTkrHWQEs1b |
| json metadata | |
| extensions | [] |
| Transaction Info | Block #15788224/Trx 06e359584af644b89b5c53c71c1b3b4ef0b4a68f |
View Raw JSON Data
{
"trx_id": "06e359584af644b89b5c53c71c1b3b4ef0b4a68f",
"block": 15788224,
"trx_in_block": 17,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2017-09-25T22:45:27",
"op": [
"account_create_with_delegation",
{
"fee": "0.500 STEEM",
"delegation": "57000.000000 VESTS",
"creator": "steem",
"new_account_name": "bbozzay",
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM8cacFALUCFgQ4CvxahUw6KBvUYKjN5TNdJaACAyYswbsShjHik",
1
]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM6zs8fJdEHFobGGMsyWQs3ow4RxW3pvk3fdFTghbGUBTWrRGyGS",
1
]
]
},
"posting": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM6LoHS8d5D1AXXEwHxgjpb4UyVcodJYeXoJctCSwQ59DZABTyEy",
1
]
]
},
"memo_key": "STM88kMmU8j7DeNfKLwwyzdMEvseWG9NC93UKq73pFmTkrHWQEs1b",
"json_metadata": "",
"extensions": []
}
]
}Manabar
Voting Power100.00%
Downvote Power100.00%
Resource Credits100.00%
Reputation Progress0.00%
{
"voting_manabar": {
"current_mana": "8143659806",
"last_update_time": 1779054939
},
"downvote_manabar": {
"current_mana": 2035914951,
"last_update_time": 1779054939
},
"rc_account": {
"account": "bbozzay",
"rc_manabar": {
"current_mana": "10164408779",
"last_update_time": 1779054939
},
"max_rc_creation_adjustment": {
"amount": "2020748973",
"precision": 6,
"nai": "@@000000037"
},
"max_rc": "10164408779"
}
}Account Metadata
| POSTING JSON METADATA | |
| profile | {"profile_image":"https://cdn.steemitimages.com/DQmfTtp7DzxKZa9Xh3b51JykTyiejbP7FLyrxCGUU31HXpm/ben-profile-picture.jpg","name":"bbozzay","about":"I'm a web developer at Fullstack Digital. Founder of Pancakes Builder, a free page builder for Hugo and Forestry.io.","location":"Washington DC","website":"https://fullstackdigital.com"} |
| JSON METADATA | |
| profile | {"profile_image":"https://cdn.steemitimages.com/DQmfTtp7DzxKZa9Xh3b51JykTyiejbP7FLyrxCGUU31HXpm/ben-profile-picture.jpg","name":"bbozzay","about":"I'm a web developer at Fullstack Digital. Founder of Pancakes Builder, a free page builder for Hugo and Forestry.io.","location":"Washington DC","website":"https://fullstackdigital.com"} |
{
"posting_json_metadata": {
"profile": {
"profile_image": "https://cdn.steemitimages.com/DQmfTtp7DzxKZa9Xh3b51JykTyiejbP7FLyrxCGUU31HXpm/ben-profile-picture.jpg",
"name": "bbozzay",
"about": "I'm a web developer at Fullstack Digital. Founder of Pancakes Builder, a free page builder for Hugo and Forestry.io.",
"location": "Washington DC",
"website": "https://fullstackdigital.com"
}
},
"json_metadata": {
"profile": {
"profile_image": "https://cdn.steemitimages.com/DQmfTtp7DzxKZa9Xh3b51JykTyiejbP7FLyrxCGUU31HXpm/ben-profile-picture.jpg",
"name": "bbozzay",
"about": "I'm a web developer at Fullstack Digital. Founder of Pancakes Builder, a free page builder for Hugo and Forestry.io.",
"location": "Washington DC",
"website": "https://fullstackdigital.com"
}
}
}Auth Keys
Owner
Single Signature
Public Keys
STM8cacFALUCFgQ4CvxahUw6KBvUYKjN5TNdJaACAyYswbsShjHik1/1
Active
Single Signature
Public Keys
STM6zs8fJdEHFobGGMsyWQs3ow4RxW3pvk3fdFTghbGUBTWrRGyGS1/1
Posting
Single Signature
Public Keys
STM6LoHS8d5D1AXXEwHxgjpb4UyVcodJYeXoJctCSwQ59DZABTyEy1/1
Memo
STM88kMmU8j7DeNfKLwwyzdMEvseWG9NC93UKq73pFmTkrHWQEs1b
{
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM8cacFALUCFgQ4CvxahUw6KBvUYKjN5TNdJaACAyYswbsShjHik",
1
]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM6zs8fJdEHFobGGMsyWQs3ow4RxW3pvk3fdFTghbGUBTWrRGyGS",
1
]
]
},
"posting": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM6LoHS8d5D1AXXEwHxgjpb4UyVcodJYeXoJctCSwQ59DZABTyEy",
1
]
]
},
"memo": "STM88kMmU8j7DeNfKLwwyzdMEvseWG9NC93UKq73pFmTkrHWQEs1b"
}Witness Votes
0 / 30
No active witness votes.
[]