VOTING POWER100.00%
DOWNVOTE POWER100.00%
RESOURCE CREDITS100.00%
REPUTATION PROGRESS75.83%
Net Worth
0.586USD
STEEM
0.000STEEM
SBD
0.000SBD
Own SP
10.100SP
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 | 10.100SP | SP |
| Delegated Out | 0.000SP | SP |
| Delegation In | 0.000SP | SP |
| Effective Power | 10.100SP | 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": "16426.317133 VESTS",
"delegated_vesting_shares": "0.000000 VESTS",
"received_vesting_shares": "0.000000 VESTS",
"sbd_balance": "0.000 SBD",
"savings_sbd_balance": "0.000 SBD",
"reward_sbd_balance": "0.000 SBD",
"conversions": []
}Account Info
| name | dpedoneze |
| id | 907078 |
| rank | 128,650 |
| reputation | 261567348313 |
| created | 2018-04-02T11:56:12 |
| recovery_account | steem |
| proxy | None |
| post_count | 2 |
| comment_count | 0 |
| lifetime_vote_count | 0 |
| witnesses_voted_for | 1 |
| last_post | 2018-04-08T13:55:42 |
| last_root_post | 2018-04-07T19:13:06 |
| last_vote_time | 2018-04-14T22:05:39 |
| 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 | 16426.317133 VESTS |
| delegated_vesting_shares | 0.000000 VESTS |
| received_vesting_shares | 0.000000 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-04-07T16:33:54 |
| mined | No |
| sbd_seconds | 0 |
| sbd_last_interest_payment | 2018-08-06T02:44:33 |
| savings_sbd_last_interest_payment | 1970-01-01T00:00:00 |
{
"id": 907078,
"name": "dpedoneze",
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM6sJCxaXv49W5shDigN6Q4UYZamed2BEe15i5HwwJxuZetdsjZC",
1
]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM7HKYSzwLAsMwTjitnZgBavqJnpX6hYPHzNAXvh52kpEkq8LdbY",
1
]
]
},
"posting": {
"weight_threshold": 1,
"account_auths": [
[
"utopian.app",
1
]
],
"key_auths": [
[
"STM5jq6Ucb95UVG9jz4eaMw9EWG7fC2fo7jJEkTSCPSBwy1NQidsA",
1
]
]
},
"memo_key": "STM61Z9Yc6io7Q13jUqD9yHXX9cDMMWjzVKmxGuSL27qcjXzJirbu",
"json_metadata": "{\"profile\":{\"profile_image\":\"https://avatars0.githubusercontent.com/u/5757502\",\"name\":\"D. Pedoneze\"}}",
"posting_json_metadata": "{\"profile\":{\"profile_image\":\"https://avatars0.githubusercontent.com/u/5757502\",\"name\":\"D. Pedoneze\"}}",
"proxy": "",
"last_owner_update": "1970-01-01T00:00:00",
"last_account_update": "2018-04-07T16:33:54",
"created": "2018-04-02T11:56:12",
"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": 2,
"can_vote": true,
"voting_manabar": {
"current_mana": "16426317133",
"last_update_time": 1588927317
},
"downvote_manabar": {
"current_mana": 4106579283,
"last_update_time": 1588927317
},
"voting_power": 0,
"balance": "0.000 STEEM",
"savings_balance": "0.000 STEEM",
"sbd_balance": "0.000 SBD",
"sbd_seconds": "0",
"sbd_seconds_last_update": "2018-08-06T02:44:33",
"sbd_last_interest_payment": "2018-08-06T02:44:33",
"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": "16426.317133 VESTS",
"delegated_vesting_shares": "0.000000 VESTS",
"received_vesting_shares": "0.000000 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": 15918,
"proxied_vsf_votes": [
0,
0,
0,
0
],
"witnesses_voted_for": 1,
"last_post": "2018-04-08T13:55:42",
"last_root_post": "2018-04-07T19:13:06",
"last_vote_time": "2018-04-14T22:05:39",
"post_bandwidth": 0,
"pending_claimed_accounts": 0,
"vesting_balance": "0.000 STEEM",
"reputation": "261567348313",
"transfer_history": [],
"market_history": [],
"post_history": [],
"vote_history": [],
"other_history": [],
"witness_votes": [
"utopian-io"
],
"tags_usage": [],
"guest_bloggers": [],
"rank": 128650
}Withdraw Routes
| Incoming | Outgoing |
|---|---|
Empty | Empty |
{
"incoming": [],
"outgoing": []
}From Date
To Date
steemdelegated 0.000 SP to @dpedoneze2020/05/08 08:41:57
steemdelegated 0.000 SP to @dpedoneze
2020/05/08 08:41:57
| delegator | steem |
| delegatee | dpedoneze |
| vesting shares | 0.000000 VESTS |
| Transaction Info | Block #43192381/Trx 70ffb6967a42cdb5265f86f51cd1596daa908abe |
View Raw JSON Data
{
"trx_id": "70ffb6967a42cdb5265f86f51cd1596daa908abe",
"block": 43192381,
"trx_in_block": 13,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2020-05-08T08:41:57",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "dpedoneze",
"vesting_shares": "0.000000 VESTS"
}
]
}2019/04/02 13:03:39
2019/04/02 13:03:39
| parent author | dpedoneze |
| parent permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| author | steemitboard |
| permlink | steemitboard-notify-dpedoneze-20190402t130338000z |
| title | |
| body | Congratulations @dpedoneze! You received a personal award! <table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@dpedoneze/birthday1.png</td><td>Happy Birthday! - You are on the Steem blockchain for 1 year!</td></tr></table> <sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@dpedoneze) and compare to others on the [Steem Ranking](http://steemitboard.com/ranking/index.php?name=dpedoneze)_</sub> ###### [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 #31693519/Trx 87198fd6728f1ebde5d71ae670dcaa0619c0df29 |
View Raw JSON Data
{
"trx_id": "87198fd6728f1ebde5d71ae670dcaa0619c0df29",
"block": 31693519,
"trx_in_block": 9,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2019-04-02T13:03:39",
"op": [
"comment",
{
"parent_author": "dpedoneze",
"parent_permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"author": "steemitboard",
"permlink": "steemitboard-notify-dpedoneze-20190402t130338000z",
"title": "",
"body": "Congratulations @dpedoneze! You received a personal award!\n\n<table><tr><td>https://steemitimages.com/70x70/http://steemitboard.com/@dpedoneze/birthday1.png</td><td>Happy Birthday! - You are on the Steem blockchain for 1 year!</td></tr></table>\n\n<sub>_You can view [your badges on your Steem Board](https://steemitboard.com/@dpedoneze) and compare to others on the [Steem Ranking](http://steemitboard.com/ranking/index.php?name=dpedoneze)_</sub>\n\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\"]}"
}
]
}steemdelegated 1.238 SP to @dpedoneze2018/11/26 17:18:30
steemdelegated 1.238 SP to @dpedoneze
2018/11/26 17:18:30
| delegator | steem |
| delegatee | dpedoneze |
| vesting shares | 2013.984142 VESTS |
| Transaction Info | Block #28043711/Trx 3a398d48f37bc09ed9d734ab9a69102de42d573e |
View Raw JSON Data
{
"trx_id": "3a398d48f37bc09ed9d734ab9a69102de42d573e",
"block": 28043711,
"trx_in_block": 24,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-11-26T17:18:30",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "dpedoneze",
"vesting_shares": "2013.984142 VESTS"
}
]
}steemdelegated 8.587 SP to @dpedoneze2018/08/06 03:11:39
steemdelegated 8.587 SP to @dpedoneze
2018/08/06 03:11:39
| delegator | steem |
| delegatee | dpedoneze |
| vesting shares | 13966.463701 VESTS |
| Transaction Info | Block #24818847/Trx 449f2fe2bd034c386b98103929d4496dc0e06680 |
View Raw JSON Data
{
"trx_id": "449f2fe2bd034c386b98103929d4496dc0e06680",
"block": 24818847,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-08-06T03:11:39",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "dpedoneze",
"vesting_shares": "13966.463701 VESTS"
}
]
}dpedonezesent 20.510 SBD to @blocktrades- "b5a77939-cee7-43fd-98b0-23721830bdc8"2018/08/06 02:44:33
dpedonezesent 20.510 SBD to @blocktrades- "b5a77939-cee7-43fd-98b0-23721830bdc8"
2018/08/06 02:44:33
| from | dpedoneze |
| to | blocktrades |
| amount | 20.510 SBD |
| memo | b5a77939-cee7-43fd-98b0-23721830bdc8 |
| Transaction Info | Block #24818305/Trx f6eb65ca7ce44578f1ae20739670419ccb96ad7c |
View Raw JSON Data
{
"trx_id": "f6eb65ca7ce44578f1ae20739670419ccb96ad7c",
"block": 24818305,
"trx_in_block": 33,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-08-06T02:44:33",
"op": [
"transfer",
{
"from": "dpedoneze",
"to": "blocktrades",
"amount": "20.510 SBD",
"memo": "b5a77939-cee7-43fd-98b0-23721830bdc8"
}
]
}steemdelegated 1.247 SP to @dpedoneze2018/07/14 22:29:09
steemdelegated 1.247 SP to @dpedoneze
2018/07/14 22:29:09
| delegator | steem |
| delegatee | dpedoneze |
| vesting shares | 2028.569492 VESTS |
| Transaction Info | Block #24180413/Trx b050d87d025ad22835cc0804511819546961ce15 |
View Raw JSON Data
{
"trx_id": "b050d87d025ad22835cc0804511819546961ce15",
"block": 24180413,
"trx_in_block": 24,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-07-14T22:29:09",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "dpedoneze",
"vesting_shares": "2028.569492 VESTS"
}
]
}steemdelegated 8.698 SP to @dpedoneze2018/04/14 22:38:48
steemdelegated 8.698 SP to @dpedoneze
2018/04/14 22:38:48
| delegator | steem |
| delegatee | dpedoneze |
| vesting shares | 14146.873886 VESTS |
| Transaction Info | Block #21571896/Trx 1f2da326a0e420cd9f6bfb719522a4ae4ea32b3e |
View Raw JSON Data
{
"trx_id": "1f2da326a0e420cd9f6bfb719522a4ae4ea32b3e",
"block": 21571896,
"trx_in_block": 18,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-14T22:38:48",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "dpedoneze",
"vesting_shares": "14146.873886 VESTS"
}
]
}2018/04/14 22:05:39
2018/04/14 22:05:39
| voter | dpedoneze |
| author | utopian-io |
| permlink | re-dpedoneze-speeding-up-your-development-using-haml-on-your-ruby-on-rails-project-20180409t000400440z |
| weight | 10000 (100.00%) |
| Transaction Info | Block #21571233/Trx 2be668b763c740d547925432eae30d7d14b13b40 |
View Raw JSON Data
{
"trx_id": "2be668b763c740d547925432eae30d7d14b13b40",
"block": 21571233,
"trx_in_block": 3,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-14T22:05:39",
"op": [
"vote",
{
"voter": "dpedoneze",
"author": "utopian-io",
"permlink": "re-dpedoneze-speeding-up-your-development-using-haml-on-your-ruby-on-rails-project-20180409t000400440z",
"weight": 10000
}
]
}dpedonezeclaimed reward balance: 20.510 SBD, 9.974 SP2018/04/14 20:53:21
dpedonezeclaimed reward balance: 20.510 SBD, 9.974 SP
2018/04/14 20:53:21
| account | dpedoneze |
| reward steem | 0.000 STEEM |
| reward sbd | 20.510 SBD |
| reward vests | 16222.362242 VESTS |
| Transaction Info | Block #21569787/Trx 5d01e753010403febbdaa685f0b70b0b56f73cd0 |
View Raw JSON Data
{
"trx_id": "5d01e753010403febbdaa685f0b70b0b56f73cd0",
"block": 21569787,
"trx_in_block": 6,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-14T20:53:21",
"op": [
"claim_reward_balance",
{
"account": "dpedoneze",
"reward_steem": "0.000 STEEM",
"reward_sbd": "20.510 SBD",
"reward_vests": "16222.362242 VESTS"
}
]
}dpedonezereceived 20.510 SBD, 9.974 SP author reward for @dpedoneze / speeding-up-your-development-using-haml-on-your-ruby-on-rails-project2018/04/14 19:13:06
dpedonezereceived 20.510 SBD, 9.974 SP author reward for @dpedoneze / speeding-up-your-development-using-haml-on-your-ruby-on-rails-project
2018/04/14 19:13:06
| author | dpedoneze |
| permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| sbd payout | 20.510 SBD |
| steem payout | 0.000 STEEM |
| vesting payout | 16222.362242 VESTS |
| Transaction Info | Block #21567781/Virtual Operation #53 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 21567781,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 53,
"timestamp": "2018-04-14T19:13:06",
"op": [
"author_reward",
{
"author": "dpedoneze",
"permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"sbd_payout": "20.510 SBD",
"steem_payout": "0.000 STEEM",
"vesting_payout": "16222.362242 VESTS"
}
]
}utopian.payreceived 6.648 SP benefactor reward from @dpedoneze2018/04/14 19:13:06
utopian.payreceived 6.648 SP benefactor reward from @dpedoneze
2018/04/14 19:13:06
| benefactor | utopian.pay |
| author | dpedoneze |
| permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| sbd payout | 0.000 SBD |
| steem payout | 0.000 STEEM |
| vesting payout | 10812.869920 VESTS |
| Transaction Info | Block #21567781/Virtual Operation #52 |
View Raw JSON Data
{
"trx_id": "0000000000000000000000000000000000000000",
"block": 21567781,
"trx_in_block": 4294967295,
"op_in_trx": 0,
"virtual_op": 52,
"timestamp": "2018-04-14T19:13:06",
"op": [
"comment_benefactor_reward",
{
"benefactor": "utopian.pay",
"author": "dpedoneze",
"permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"sbd_payout": "0.000 SBD",
"steem_payout": "0.000 STEEM",
"vesting_payout": "10812.869920 VESTS"
}
]
}dpedonezefollowed @utopian-io2018/04/11 03:04:27
dpedonezefollowed @utopian-io
2018/04/11 03:04:27
| required auths | [] |
| required posting auths | ["dpedoneze"] |
| id | follow |
| json | ["follow",{"follower":"dpedoneze","following":"utopian-io","what":["blog"]}] |
| Transaction Info | Block #21462031/Trx 6482afdb54697ea8a6e793abe91a3b09b0c69123 |
View Raw JSON Data
{
"trx_id": "6482afdb54697ea8a6e793abe91a3b09b0c69123",
"block": 21462031,
"trx_in_block": 39,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-11T03:04:27",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"dpedoneze"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"dpedoneze\",\"following\":\"utopian-io\",\"what\":[\"blog\"]}]"
}
]
}2018/04/09 15:20:48
2018/04/09 15:20:48
| voter | azwarrangkuti |
| author | dpedoneze |
| permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| weight | 4000 (40.00%) |
| Transaction Info | Block #21419161/Trx c7a48f6602792da0244ef5d99963486c241853eb |
View Raw JSON Data
{
"trx_id": "c7a48f6602792da0244ef5d99963486c241853eb",
"block": 21419161,
"trx_in_block": 17,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-09T15:20:48",
"op": [
"vote",
{
"voter": "azwarrangkuti",
"author": "dpedoneze",
"permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"weight": 4000
}
]
}2018/04/09 14:07:18
2018/04/09 14:07:18
| required auths | [] |
| required posting auths | ["dpedoneze"] |
| id | follow |
| json | ["follow",{"follower":"dpedoneze","following":"mkt","what":["blog"]}] |
| Transaction Info | Block #21417691/Trx 0d10bc02bad127db86f3357d3f5db1142fe04430 |
View Raw JSON Data
{
"trx_id": "0d10bc02bad127db86f3357d3f5db1142fe04430",
"block": 21417691,
"trx_in_block": 2,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-09T14:07:18",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"dpedoneze"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"dpedoneze\",\"following\":\"mkt\",\"what\":[\"blog\"]}]"
}
]
}2018/04/09 14:07:12
2018/04/09 14:07:12
| required auths | [] |
| required posting auths | ["dpedoneze"] |
| id | follow |
| json | ["follow",{"follower":"dpedoneze","following":"curx","what":["blog"]}] |
| Transaction Info | Block #21417689/Trx ad41a394618bfe1940748a560c0dab050ba5af25 |
View Raw JSON Data
{
"trx_id": "ad41a394618bfe1940748a560c0dab050ba5af25",
"block": 21417689,
"trx_in_block": 60,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-09T14:07:12",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"dpedoneze"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"dpedoneze\",\"following\":\"curx\",\"what\":[\"blog\"]}]"
}
]
}2018/04/09 14:07:12
2018/04/09 14:07:12
| required auths | [] |
| required posting auths | ["dpedoneze"] |
| id | follow |
| json | ["follow",{"follower":"dpedoneze","following":"zapncrap","what":["blog"]}] |
| Transaction Info | Block #21417689/Trx bf74906d221cec7c87345c1e308ebf3a59825d74 |
View Raw JSON Data
{
"trx_id": "bf74906d221cec7c87345c1e308ebf3a59825d74",
"block": 21417689,
"trx_in_block": 53,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-09T14:07:12",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"dpedoneze"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"dpedoneze\",\"following\":\"zapncrap\",\"what\":[\"blog\"]}]"
}
]
}2018/04/09 14:07:12
2018/04/09 14:07:12
| required auths | [] |
| required posting auths | ["dpedoneze"] |
| id | follow |
| json | ["follow",{"follower":"dpedoneze","following":"yuxi","what":["blog"]}] |
| Transaction Info | Block #21417689/Trx 1ed7c52e4b153b0126d5f10f7726adb4f373b64c |
View Raw JSON Data
{
"trx_id": "1ed7c52e4b153b0126d5f10f7726adb4f373b64c",
"block": 21417689,
"trx_in_block": 37,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-09T14:07:12",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"dpedoneze"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"dpedoneze\",\"following\":\"yuxi\",\"what\":[\"blog\"]}]"
}
]
}dpedonezefollowed @supreme-verdict2018/04/09 14:07:09
dpedonezefollowed @supreme-verdict
2018/04/09 14:07:09
| required auths | [] |
| required posting auths | ["dpedoneze"] |
| id | follow |
| json | ["follow",{"follower":"dpedoneze","following":"supreme-verdict","what":["blog"]}] |
| Transaction Info | Block #21417688/Trx 13036bf399814bd24c26cf38cb8e51005f68def2 |
View Raw JSON Data
{
"trx_id": "13036bf399814bd24c26cf38cb8e51005f68def2",
"block": 21417688,
"trx_in_block": 47,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-09T14:07:09",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"dpedoneze"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"dpedoneze\",\"following\":\"supreme-verdict\",\"what\":[\"blog\"]}]"
}
]
}2018/04/09 14:07:09
2018/04/09 14:07:09
| required auths | [] |
| required posting auths | ["dpedoneze"] |
| id | follow |
| json | ["follow",{"follower":"dpedoneze","following":"mys","what":["blog"]}] |
| Transaction Info | Block #21417688/Trx 6b6da201295b7687696b69cc4066cbda2e8401fb |
View Raw JSON Data
{
"trx_id": "6b6da201295b7687696b69cc4066cbda2e8401fb",
"block": 21417688,
"trx_in_block": 35,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-09T14:07:09",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"dpedoneze"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"dpedoneze\",\"following\":\"mys\",\"what\":[\"blog\"]}]"
}
]
}2018/04/09 11:29:33
2018/04/09 11:29:33
| required auths | [] |
| required posting auths | ["dpedoneze"] |
| id | follow |
| json | ["follow",{"follower":"dpedoneze","following":"sezenke","what":["blog"]}] |
| Transaction Info | Block #21414537/Trx 58cfd069060587d068095825afb6d700d3b3c04d |
View Raw JSON Data
{
"trx_id": "58cfd069060587d068095825afb6d700d3b3c04d",
"block": 21414537,
"trx_in_block": 78,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-09T11:29:33",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"dpedoneze"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"dpedoneze\",\"following\":\"sezenke\",\"what\":[\"blog\"]}]"
}
]
}dpedonezefollowed @gangresteem2018/04/09 11:29:33
dpedonezefollowed @gangresteem
2018/04/09 11:29:33
| required auths | [] |
| required posting auths | ["dpedoneze"] |
| id | follow |
| json | ["follow",{"follower":"dpedoneze","following":"gangresteem","what":["blog"]}] |
| Transaction Info | Block #21414537/Trx 602fccd23d373ff27e8bb9e8ddd59bcf0e50bf48 |
View Raw JSON Data
{
"trx_id": "602fccd23d373ff27e8bb9e8ddd59bcf0e50bf48",
"block": 21414537,
"trx_in_block": 67,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-09T11:29:33",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"dpedoneze"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"dpedoneze\",\"following\":\"gangresteem\",\"what\":[\"blog\"]}]"
}
]
}dpedonezefollowed @cryptoriddler2018/04/09 11:29:33
dpedonezefollowed @cryptoriddler
2018/04/09 11:29:33
| required auths | [] |
| required posting auths | ["dpedoneze"] |
| id | follow |
| json | ["follow",{"follower":"dpedoneze","following":"cryptoriddler","what":["blog"]}] |
| Transaction Info | Block #21414537/Trx 06dd38c04b3a48357b83b4b2bb3f5c731ff0799d |
View Raw JSON Data
{
"trx_id": "06dd38c04b3a48357b83b4b2bb3f5c731ff0799d",
"block": 21414537,
"trx_in_block": 66,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-09T11:29:33",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"dpedoneze"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"dpedoneze\",\"following\":\"cryptoriddler\",\"what\":[\"blog\"]}]"
}
]
}dpedonezefollowed @bekirsolak2018/04/09 11:29:30
dpedonezefollowed @bekirsolak
2018/04/09 11:29:30
| required auths | [] |
| required posting auths | ["dpedoneze"] |
| id | follow |
| json | ["follow",{"follower":"dpedoneze","following":"bekirsolak","what":["blog"]}] |
| Transaction Info | Block #21414536/Trx 8d03eb2f6fc6f123b883a2047563540c371be2f8 |
View Raw JSON Data
{
"trx_id": "8d03eb2f6fc6f123b883a2047563540c371be2f8",
"block": 21414536,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-09T11:29:30",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"dpedoneze"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"dpedoneze\",\"following\":\"bekirsolak\",\"what\":[\"blog\"]}]"
}
]
}dpedonezevoted for witness @utopian-io2018/04/09 11:28:18
dpedonezevoted for witness @utopian-io
2018/04/09 11:28:18
| account | dpedoneze |
| witness | utopian-io |
| approve | true |
| Transaction Info | Block #21414512/Trx f188a121485dc8f6734483b40c612ae12e1da049 |
View Raw JSON Data
{
"trx_id": "f188a121485dc8f6734483b40c612ae12e1da049",
"block": 21414512,
"trx_in_block": 26,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-09T11:28:18",
"op": [
"account_witness_vote",
{
"account": "dpedoneze",
"witness": "utopian-io",
"approve": true
}
]
}dpedonezefollowed @grzesiekb2018/04/09 11:26:45
dpedonezefollowed @grzesiekb
2018/04/09 11:26:45
| required auths | [] |
| required posting auths | ["dpedoneze"] |
| id | follow |
| json | ["follow",{"follower":"dpedoneze","following":"grzesiekb","what":["blog"]}] |
| Transaction Info | Block #21414481/Trx 6e05dffe0416c861031c5423594aeb0f299e6151 |
View Raw JSON Data
{
"trx_id": "6e05dffe0416c861031c5423594aeb0f299e6151",
"block": 21414481,
"trx_in_block": 27,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-09T11:26:45",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"dpedoneze"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"dpedoneze\",\"following\":\"grzesiekb\",\"what\":[\"blog\"]}]"
}
]
}dpedonezefollowed @minnowhub2018/04/09 11:26:42
dpedonezefollowed @minnowhub
2018/04/09 11:26:42
| required auths | [] |
| required posting auths | ["dpedoneze"] |
| id | follow |
| json | ["follow",{"follower":"dpedoneze","following":"minnowhub","what":["blog"]}] |
| Transaction Info | Block #21414480/Trx 0f9085db0bdd4d32176fa07cbb6311b53636463d |
View Raw JSON Data
{
"trx_id": "0f9085db0bdd4d32176fa07cbb6311b53636463d",
"block": 21414480,
"trx_in_block": 35,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-09T11:26:42",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"dpedoneze"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"dpedoneze\",\"following\":\"minnowhub\",\"what\":[\"blog\"]}]"
}
]
}2018/04/09 11:26:39
2018/04/09 11:26:39
| required auths | [] |
| required posting auths | ["dpedoneze"] |
| id | follow |
| json | ["follow",{"follower":"dpedoneze","following":"cifer","what":["blog"]}] |
| Transaction Info | Block #21414479/Trx 07525f3e9b0463333f4b6fd7303f9e5f5be14b78 |
View Raw JSON Data
{
"trx_id": "07525f3e9b0463333f4b6fd7303f9e5f5be14b78",
"block": 21414479,
"trx_in_block": 4,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-09T11:26:39",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"dpedoneze"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"dpedoneze\",\"following\":\"cifer\",\"what\":[\"blog\"]}]"
}
]
}2018/04/09 10:02:57
2018/04/09 10:02:57
| voter | mrcalxy |
| author | dpedoneze |
| permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| weight | 10000 (100.00%) |
| Transaction Info | Block #21412805/Trx 581e12f1e9822f1cd68279ea7fb4aae0d0bb0ed8 |
View Raw JSON Data
{
"trx_id": "581e12f1e9822f1cd68279ea7fb4aae0d0bb0ed8",
"block": 21412805,
"trx_in_block": 0,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-09T10:02:57",
"op": [
"vote",
{
"voter": "mrcalxy",
"author": "dpedoneze",
"permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"weight": 10000
}
]
}2018/04/09 04:58:24
2018/04/09 04:58:24
| voter | goodluckleo |
| author | dpedoneze |
| permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| weight | 10000 (100.00%) |
| Transaction Info | Block #21406714/Trx ba83521077ccd29c1e414f206244b79f3d5aa390 |
View Raw JSON Data
{
"trx_id": "ba83521077ccd29c1e414f206244b79f3d5aa390",
"block": 21406714,
"trx_in_block": 16,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-09T04:58:24",
"op": [
"vote",
{
"voter": "goodluckleo",
"author": "dpedoneze",
"permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"weight": 10000
}
]
}2018/04/09 04:10:09
2018/04/09 04:10:09
| voter | grzesiekb |
| author | dpedoneze |
| permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| weight | 10000 (100.00%) |
| Transaction Info | Block #21405749/Trx d6bad166be5f901af139752e1431c9250f396d84 |
View Raw JSON Data
{
"trx_id": "d6bad166be5f901af139752e1431c9250f396d84",
"block": 21405749,
"trx_in_block": 11,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-09T04:10:09",
"op": [
"vote",
{
"voter": "grzesiekb",
"author": "dpedoneze",
"permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"weight": 10000
}
]
}2018/04/09 00:04:06
2018/04/09 00:04:06
| parent author | dpedoneze |
| parent permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| author | utopian-io |
| permlink | re-dpedoneze-speeding-up-your-development-using-haml-on-your-ruby-on-rails-project-20180409t000400440z |
| title | |
| body | ### Hey @dpedoneze I am @utopian-io. I have just upvoted you! #### Achievements - You have less than 500 followers. Just gave you a gift to help you succeed! - This is your first accepted contribution here in Utopian. Welcome! #### Community-Driven Witness! I am the first and only Steem Community-Driven Witness. <a href="https://discord.gg/zTrEMqB">Participate on Discord</a>. Lets GROW TOGETHER! - <a href="https://v2.steemconnect.com/sign/account-witness-vote?witness=utopian-io&approve=1">Vote for my Witness With SteemConnect</a> - <a href="https://v2.steemconnect.com/sign/account-witness-proxy?proxy=utopian-io&approve=1">Proxy vote to Utopian Witness with SteemConnect</a> - Or vote/proxy on <a href="https://steemit.com/~witnesses">Steemit Witnesses</a> [](https://steemit.com/~witnesses) **Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x** |
| json metadata | {"tags":["utopian-io"],"community":"utopian","app":"utopian/1.0.0"} |
| Transaction Info | Block #21400829/Trx 44b7f362ae07336819a479281dc3dd9eb49cf74f |
View Raw JSON Data
{
"trx_id": "44b7f362ae07336819a479281dc3dd9eb49cf74f",
"block": 21400829,
"trx_in_block": 21,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-09T00:04:06",
"op": [
"comment",
{
"parent_author": "dpedoneze",
"parent_permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"author": "utopian-io",
"permlink": "re-dpedoneze-speeding-up-your-development-using-haml-on-your-ruby-on-rails-project-20180409t000400440z",
"title": "",
"body": "### Hey @dpedoneze I am @utopian-io. I have just upvoted you!\n#### Achievements\n- You have less than 500 followers. Just gave you a gift to help you succeed!\n- This is your first accepted contribution here in Utopian. Welcome!\n#### Community-Driven Witness!\nI am the first and only Steem Community-Driven Witness. <a href=\"https://discord.gg/zTrEMqB\">Participate on Discord</a>. Lets GROW TOGETHER!\n- <a href=\"https://v2.steemconnect.com/sign/account-witness-vote?witness=utopian-io&approve=1\">Vote for my Witness With SteemConnect</a>\n- <a href=\"https://v2.steemconnect.com/sign/account-witness-proxy?proxy=utopian-io&approve=1\">Proxy vote to Utopian Witness with SteemConnect</a>\n- Or vote/proxy on <a href=\"https://steemit.com/~witnesses\">Steemit Witnesses</a>\n\n[](https://steemit.com/~witnesses)\n\n**Up-vote this comment to grow my power and help Open Source contributions like this one. Want to chat? Join me on Discord https://discord.gg/Pc8HG9x**",
"json_metadata": "{\"tags\":[\"utopian-io\"],\"community\":\"utopian\",\"app\":\"utopian/1.0.0\"}"
}
]
}2018/04/09 00:03:57
2018/04/09 00:03:57
| voter | utopian-io |
| author | dpedoneze |
| permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| weight | 1100 (11.00%) |
| Transaction Info | Block #21400826/Trx 9ed15a0e4436c25a8dbe05ef50d24e01807d6479 |
View Raw JSON Data
{
"trx_id": "9ed15a0e4436c25a8dbe05ef50d24e01807d6479",
"block": 21400826,
"trx_in_block": 28,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-09T00:03:57",
"op": [
"vote",
{
"voter": "utopian-io",
"author": "dpedoneze",
"permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"weight": 1100
}
]
}2018/04/08 20:23:48
2018/04/08 20:23:48
| voter | kittenpics |
| author | dpedoneze |
| permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| weight | 2500 (25.00%) |
| Transaction Info | Block #21396423/Trx b73fa493e5e44be59c8d9179c2fb3190c45451de |
View Raw JSON Data
{
"trx_id": "b73fa493e5e44be59c8d9179c2fb3190c45451de",
"block": 21396423,
"trx_in_block": 49,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-08T20:23:48",
"op": [
"vote",
{
"voter": "kittenpics",
"author": "dpedoneze",
"permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"weight": 2500
}
]
}2018/04/08 20:23:00
2018/04/08 20:23:00
| parent author | dpedoneze |
| parent permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| author | steemitboard |
| permlink | steemitboard-notify-dpedoneze-20180408t202302000z |
| title | |
| body | Congratulations @dpedoneze! You have completed some achievement on Steemit and have been rewarded with new badge(s) : [](http://steemitboard.com/@dpedoneze) You made your First Vote [](http://steemitboard.com/@dpedoneze) You made your First Comment Click on any badge to view your own Board of Honor on SteemitBoard. For more information about SteemitBoard, click [here](https://steemit.com/@steemitboard) If you no longer want to receive notifications, reply to this comment with the word `STOP` > Upvote this notification to help all Steemit users. Learn why [here](https://steemit.com/steemitboard/@steemitboard/http-i-cubeupload-com-7ciqeo-png)! Do not miss the [last announcement](https://steemit.com/easter/@steemitboard/celebrate-easter-with-steemitboard-the-eggs-opened-and-guess-what-popped-out) from @steemitboard! |
| json metadata | {"image":["https://steemitboard.com/img/notifications.png"]} |
| Transaction Info | Block #21396407/Trx 80032b9a9133205c8bdf09d20a7a125f288ea232 |
View Raw JSON Data
{
"trx_id": "80032b9a9133205c8bdf09d20a7a125f288ea232",
"block": 21396407,
"trx_in_block": 47,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-08T20:23:00",
"op": [
"comment",
{
"parent_author": "dpedoneze",
"parent_permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"author": "steemitboard",
"permlink": "steemitboard-notify-dpedoneze-20180408t202302000z",
"title": "",
"body": "Congratulations @dpedoneze! You have completed some achievement on Steemit and have been rewarded with new badge(s) :\n\n[](http://steemitboard.com/@dpedoneze) You made your First Vote\n[](http://steemitboard.com/@dpedoneze) You made your First Comment\n\nClick on any badge to view your own Board of Honor on SteemitBoard.\nFor more information about SteemitBoard, click [here](https://steemit.com/@steemitboard)\n\nIf you no longer want to receive notifications, reply to this comment with the word `STOP`\n\n> Upvote this notification to help all Steemit users. Learn why [here](https://steemit.com/steemitboard/@steemitboard/http-i-cubeupload-com-7ciqeo-png)!\n\nDo not miss the [last announcement](https://steemit.com/easter/@steemitboard/celebrate-easter-with-steemitboard-the-eggs-opened-and-guess-what-popped-out) from @steemitboard!",
"json_metadata": "{\"image\":[\"https://steemitboard.com/img/notifications.png\"]}"
}
]
}2018/04/08 19:56:45
2018/04/08 19:56:45
| voter | thegrandestine |
| author | dpedoneze |
| permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| weight | 10000 (100.00%) |
| Transaction Info | Block #21395882/Trx f47a505d03096336a4f9040a856703357a6f4d0b |
View Raw JSON Data
{
"trx_id": "f47a505d03096336a4f9040a856703357a6f4d0b",
"block": 21395882,
"trx_in_block": 42,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-08T19:56:45",
"op": [
"vote",
{
"voter": "thegrandestine",
"author": "dpedoneze",
"permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"weight": 10000
}
]
}2018/04/08 19:56:45
2018/04/08 19:56:45
| voter | lilith |
| author | dpedoneze |
| permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| weight | 10000 (100.00%) |
| Transaction Info | Block #21395882/Trx 2080ab7ce78db584520a369220246e3928c5f70e |
View Raw JSON Data
{
"trx_id": "2080ab7ce78db584520a369220246e3928c5f70e",
"block": 21395882,
"trx_in_block": 39,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-08T19:56:45",
"op": [
"vote",
{
"voter": "lilith",
"author": "dpedoneze",
"permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"weight": 10000
}
]
}2018/04/08 19:56:45
2018/04/08 19:56:45
| voter | audiosiren |
| author | dpedoneze |
| permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| weight | 10000 (100.00%) |
| Transaction Info | Block #21395882/Trx c37d6c7f7f95aa26eac9d64e5785312885cbe072 |
View Raw JSON Data
{
"trx_id": "c37d6c7f7f95aa26eac9d64e5785312885cbe072",
"block": 21395882,
"trx_in_block": 38,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-08T19:56:45",
"op": [
"vote",
{
"voter": "audiosiren",
"author": "dpedoneze",
"permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"weight": 10000
}
]
}2018/04/08 19:56:45
2018/04/08 19:56:45
| voter | the-reaper |
| author | dpedoneze |
| permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| weight | 10000 (100.00%) |
| Transaction Info | Block #21395882/Trx ec2b002e3d5d38acff2e4498f921a6b2d8d0d79e |
View Raw JSON Data
{
"trx_id": "ec2b002e3d5d38acff2e4498f921a6b2d8d0d79e",
"block": 21395882,
"trx_in_block": 36,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-08T19:56:45",
"op": [
"vote",
{
"voter": "the-reaper",
"author": "dpedoneze",
"permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"weight": 10000
}
]
}2018/04/08 19:55:42
2018/04/08 19:55:42
| voter | monster-reborn |
| author | dpedoneze |
| permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| weight | 10000 (100.00%) |
| Transaction Info | Block #21395861/Trx 43e15086b8fc4f8663089d12a06998c935b59fc1 |
View Raw JSON Data
{
"trx_id": "43e15086b8fc4f8663089d12a06998c935b59fc1",
"block": 21395861,
"trx_in_block": 44,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-08T19:55:42",
"op": [
"vote",
{
"voter": "monster-reborn",
"author": "dpedoneze",
"permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"weight": 10000
}
]
}2018/04/08 19:55:42
2018/04/08 19:55:42
| voter | paradoxofchoice |
| author | dpedoneze |
| permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| weight | 10000 (100.00%) |
| Transaction Info | Block #21395861/Trx 55dc8704301a561d10d9d3b35522a365bcaccf94 |
View Raw JSON Data
{
"trx_id": "55dc8704301a561d10d9d3b35522a365bcaccf94",
"block": 21395861,
"trx_in_block": 43,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-08T19:55:42",
"op": [
"vote",
{
"voter": "paradoxofchoice",
"author": "dpedoneze",
"permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"weight": 10000
}
]
}2018/04/08 19:55:42
2018/04/08 19:55:42
| voter | chain-reaction |
| author | dpedoneze |
| permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| weight | 10000 (100.00%) |
| Transaction Info | Block #21395861/Trx a2253bfeff8474eac1ac208a27067ac62bdc0f19 |
View Raw JSON Data
{
"trx_id": "a2253bfeff8474eac1ac208a27067ac62bdc0f19",
"block": 21395861,
"trx_in_block": 39,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-08T19:55:42",
"op": [
"vote",
{
"voter": "chain-reaction",
"author": "dpedoneze",
"permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"weight": 10000
}
]
}2018/04/08 19:55:42
2018/04/08 19:55:42
| voter | love-me |
| author | dpedoneze |
| permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| weight | 10000 (100.00%) |
| Transaction Info | Block #21395861/Trx 2d2bcb2a096545e664e2f23cb0590598932f0843 |
View Raw JSON Data
{
"trx_id": "2d2bcb2a096545e664e2f23cb0590598932f0843",
"block": 21395861,
"trx_in_block": 37,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-08T19:55:42",
"op": [
"vote",
{
"voter": "love-me",
"author": "dpedoneze",
"permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"weight": 10000
}
]
}2018/04/08 19:55:42
2018/04/08 19:55:42
| voter | betacore |
| author | dpedoneze |
| permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| weight | 10000 (100.00%) |
| Transaction Info | Block #21395861/Trx e7e598976c39cb5a6f536107bc8257149070ca0a |
View Raw JSON Data
{
"trx_id": "e7e598976c39cb5a6f536107bc8257149070ca0a",
"block": 21395861,
"trx_in_block": 34,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-08T19:55:42",
"op": [
"vote",
{
"voter": "betacore",
"author": "dpedoneze",
"permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"weight": 10000
}
]
}2018/04/08 19:55:42
2018/04/08 19:55:42
| voter | mysticalword |
| author | dpedoneze |
| permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| weight | 10000 (100.00%) |
| Transaction Info | Block #21395861/Trx b4afd560e87c3ef8ef60eaee15bd9b19d9587769 |
View Raw JSON Data
{
"trx_id": "b4afd560e87c3ef8ef60eaee15bd9b19d9587769",
"block": 21395861,
"trx_in_block": 30,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-08T19:55:42",
"op": [
"vote",
{
"voter": "mysticalword",
"author": "dpedoneze",
"permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"weight": 10000
}
]
}2018/04/08 19:55:42
2018/04/08 19:55:42
| voter | chaostheory |
| author | dpedoneze |
| permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| weight | 10000 (100.00%) |
| Transaction Info | Block #21395861/Trx ee3a2a97ba72409e27fa9537034ab2d59b898ac4 |
View Raw JSON Data
{
"trx_id": "ee3a2a97ba72409e27fa9537034ab2d59b898ac4",
"block": 21395861,
"trx_in_block": 28,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-08T19:55:42",
"op": [
"vote",
{
"voter": "chaostheory",
"author": "dpedoneze",
"permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"weight": 10000
}
]
}2018/04/08 19:55:42
2018/04/08 19:55:42
| voter | retrocausality |
| author | dpedoneze |
| permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| weight | 10000 (100.00%) |
| Transaction Info | Block #21395861/Trx a13e770a29896eee45e551b93157145fad196fa4 |
View Raw JSON Data
{
"trx_id": "a13e770a29896eee45e551b93157145fad196fa4",
"block": 21395861,
"trx_in_block": 27,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-08T19:55:42",
"op": [
"vote",
{
"voter": "retrocausality",
"author": "dpedoneze",
"permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"weight": 10000
}
]
}2018/04/08 19:55:42
2018/04/08 19:55:42
| voter | butterfly-effect |
| author | dpedoneze |
| permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| weight | 10000 (100.00%) |
| Transaction Info | Block #21395861/Trx 10bbed9591fbbca0196609ed95093e32d770e65d |
View Raw JSON Data
{
"trx_id": "10bbed9591fbbca0196609ed95093e32d770e65d",
"block": 21395861,
"trx_in_block": 26,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-08T19:55:42",
"op": [
"vote",
{
"voter": "butterfly-effect",
"author": "dpedoneze",
"permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"weight": 10000
}
]
}2018/04/08 19:55:42
2018/04/08 19:55:42
| voter | omegacore |
| author | dpedoneze |
| permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| weight | 10000 (100.00%) |
| Transaction Info | Block #21395861/Trx abc9e1a1bd9b289c66b67dd71efcad9fe839f1b7 |
View Raw JSON Data
{
"trx_id": "abc9e1a1bd9b289c66b67dd71efcad9fe839f1b7",
"block": 21395861,
"trx_in_block": 24,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-08T19:55:42",
"op": [
"vote",
{
"voter": "omegacore",
"author": "dpedoneze",
"permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"weight": 10000
}
]
}2018/04/08 19:55:42
2018/04/08 19:55:42
| voter | mirrorforce |
| author | dpedoneze |
| permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| weight | 10000 (100.00%) |
| Transaction Info | Block #21395861/Trx 2009df26e1361a081d119b4806e473d6cfd05ad8 |
View Raw JSON Data
{
"trx_id": "2009df26e1361a081d119b4806e473d6cfd05ad8",
"block": 21395861,
"trx_in_block": 23,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-08T19:55:42",
"op": [
"vote",
{
"voter": "mirrorforce",
"author": "dpedoneze",
"permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"weight": 10000
}
]
}2018/04/08 19:55:42
2018/04/08 19:55:42
| voter | alphacore |
| author | dpedoneze |
| permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| weight | 500 (5.00%) |
| Transaction Info | Block #21395861/Trx c559777fdcda6a9f987a6e3e2f5ded50c91776bc |
View Raw JSON Data
{
"trx_id": "c559777fdcda6a9f987a6e3e2f5ded50c91776bc",
"block": 21395861,
"trx_in_block": 20,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-08T19:55:42",
"op": [
"vote",
{
"voter": "alphacore",
"author": "dpedoneze",
"permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"weight": 500
}
]
}2018/04/08 19:55:42
2018/04/08 19:55:42
| voter | skybreaker |
| author | dpedoneze |
| permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| weight | 10000 (100.00%) |
| Transaction Info | Block #21395861/Trx 09747bed7ccf30f59e6f255e997ef793a59e677a |
View Raw JSON Data
{
"trx_id": "09747bed7ccf30f59e6f255e997ef793a59e677a",
"block": 21395861,
"trx_in_block": 17,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-08T19:55:42",
"op": [
"vote",
{
"voter": "skybreaker",
"author": "dpedoneze",
"permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"weight": 10000
}
]
}2018/04/08 19:55:36
2018/04/08 19:55:36
| voter | supreme-verdict |
| author | dpedoneze |
| permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| weight | 10000 (100.00%) |
| Transaction Info | Block #21395859/Trx e31e7d29c101765a44d0bbf51fbe49ccc4e143d3 |
View Raw JSON Data
{
"trx_id": "e31e7d29c101765a44d0bbf51fbe49ccc4e143d3",
"block": 21395859,
"trx_in_block": 41,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-08T19:55:36",
"op": [
"vote",
{
"voter": "supreme-verdict",
"author": "dpedoneze",
"permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"weight": 10000
}
]
}2018/04/08 19:17:42
2018/04/08 19:17:42
| voter | mkt |
| author | dpedoneze |
| permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| weight | 2023 (20.23%) |
| Transaction Info | Block #21395101/Trx 39636e3b84f28093cfba2f2b388a81f8fb36cfb2 |
View Raw JSON Data
{
"trx_id": "39636e3b84f28093cfba2f2b388a81f8fb36cfb2",
"block": 21395101,
"trx_in_block": 29,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-08T19:17:42",
"op": [
"vote",
{
"voter": "mkt",
"author": "dpedoneze",
"permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"weight": 2023
}
]
}2018/04/08 19:17:15
2018/04/08 19:17:15
| voter | antikesdenken |
| author | dpedoneze |
| permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| weight | 1500 (15.00%) |
| Transaction Info | Block #21395092/Trx 6e0bcba035139b0b683e39cb93f4190423bc6b13 |
View Raw JSON Data
{
"trx_id": "6e0bcba035139b0b683e39cb93f4190423bc6b13",
"block": 21395092,
"trx_in_block": 48,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-08T19:17:15",
"op": [
"vote",
{
"voter": "antikesdenken",
"author": "dpedoneze",
"permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"weight": 1500
}
]
}2018/04/08 18:55:06
2018/04/08 18:55:06
| voter | yuxi |
| author | dpedoneze |
| permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| weight | 7000 (70.00%) |
| Transaction Info | Block #21394649/Trx f7087e475959346b8cd242af476aa6d223c70489 |
View Raw JSON Data
{
"trx_id": "f7087e475959346b8cd242af476aa6d223c70489",
"block": 21394649,
"trx_in_block": 44,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-08T18:55:06",
"op": [
"vote",
{
"voter": "yuxi",
"author": "dpedoneze",
"permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"weight": 7000
}
]
}2018/04/08 18:55:06
2018/04/08 18:55:06
| voter | minnowhub |
| author | dpedoneze |
| permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| weight | 6859 (68.59%) |
| Transaction Info | Block #21394649/Trx 16fe1b3789278fe4a724eb1405c26af29a16218a |
View Raw JSON Data
{
"trx_id": "16fe1b3789278fe4a724eb1405c26af29a16218a",
"block": 21394649,
"trx_in_block": 16,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-08T18:55:06",
"op": [
"vote",
{
"voter": "minnowhub",
"author": "dpedoneze",
"permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"weight": 6859
}
]
}2018/04/08 18:54:03
2018/04/08 18:54:03
| voter | cifer |
| author | dpedoneze |
| permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| weight | 6500 (65.00%) |
| Transaction Info | Block #21394628/Trx 5bfa8db3de940bf2fff9e12ac5deec0430ebdcc9 |
View Raw JSON Data
{
"trx_id": "5bfa8db3de940bf2fff9e12ac5deec0430ebdcc9",
"block": 21394628,
"trx_in_block": 55,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-08T18:54:03",
"op": [
"vote",
{
"voter": "cifer",
"author": "dpedoneze",
"permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"weight": 6500
}
]
}2018/04/08 18:52:09
2018/04/08 18:52:09
| voter | zapncrap |
| author | dpedoneze |
| permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| weight | 3000 (30.00%) |
| Transaction Info | Block #21394590/Trx 80fe9dcc71f69eead07a9ecf70038cfbcac1a06c |
View Raw JSON Data
{
"trx_id": "80fe9dcc71f69eead07a9ecf70038cfbcac1a06c",
"block": 21394590,
"trx_in_block": 34,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-08T18:52:09",
"op": [
"vote",
{
"voter": "zapncrap",
"author": "dpedoneze",
"permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"weight": 3000
}
]
}mysupvoted (100.00%) @dpedoneze / speeding-up-your-development-using-haml-on-your-ruby-on-rails-project2018/04/08 18:52:06
mysupvoted (100.00%) @dpedoneze / speeding-up-your-development-using-haml-on-your-ruby-on-rails-project
2018/04/08 18:52:06
| voter | mys |
| author | dpedoneze |
| permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| weight | 10000 (100.00%) |
| Transaction Info | Block #21394589/Trx 4b662b3fc0994422aa712b33dfb33b9c52c1f993 |
View Raw JSON Data
{
"trx_id": "4b662b3fc0994422aa712b33dfb33b9c52c1f993",
"block": 21394589,
"trx_in_block": 32,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-08T18:52:06",
"op": [
"vote",
{
"voter": "mys",
"author": "dpedoneze",
"permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"weight": 10000
}
]
}2018/04/08 18:52:06
2018/04/08 18:52:06
| voter | curx |
| author | dpedoneze |
| permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| weight | 3000 (30.00%) |
| Transaction Info | Block #21394589/Trx 6f0f695dff43e983d5e04e02fcf5e422acff4298 |
View Raw JSON Data
{
"trx_id": "6f0f695dff43e983d5e04e02fcf5e422acff4298",
"block": 21394589,
"trx_in_block": 13,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-08T18:52:06",
"op": [
"vote",
{
"voter": "curx",
"author": "dpedoneze",
"permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"weight": 3000
}
]
}2018/04/08 18:51:54
2018/04/08 18:51:54
| parent author | dpedoneze |
| parent permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| author | portugalcoin |
| permlink | re-dpedoneze-speeding-up-your-development-using-haml-on-your-ruby-on-rails-project-20180408t185152035z |
| title | |
| body | Thank you for the contribution. It has been approved. You can contact us on [Discord](https://discord.gg/uTyJkNm). **[[utopian-moderator]](https://utopian.io/moderators)** |
| json metadata | {"tags":["utopian-io"],"community":"utopian","app":"utopian/1.0.0"} |
| Transaction Info | Block #21394585/Trx 7f3b674a0e212fcd26018afeb514f19429cf57fc |
View Raw JSON Data
{
"trx_id": "7f3b674a0e212fcd26018afeb514f19429cf57fc",
"block": 21394585,
"trx_in_block": 48,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-08T18:51:54",
"op": [
"comment",
{
"parent_author": "dpedoneze",
"parent_permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"author": "portugalcoin",
"permlink": "re-dpedoneze-speeding-up-your-development-using-haml-on-your-ruby-on-rails-project-20180408t185152035z",
"title": "",
"body": "Thank you for the contribution. It has been approved.\n\nYou can contact us on [Discord](https://discord.gg/uTyJkNm).\n**[[utopian-moderator]](https://utopian.io/moderators)**",
"json_metadata": "{\"tags\":[\"utopian-io\"],\"community\":\"utopian\",\"app\":\"utopian/1.0.0\"}"
}
]
}dpedonezepublished a new post: speeding-up-your-development-using-haml-on-your-ruby-on-rails-project2018/04/08 18:51:45
dpedonezepublished a new post: speeding-up-your-development-using-haml-on-your-ruby-on-rails-project
2018/04/08 18:51:45
| parent author | |
| parent permlink | utopian-io |
| author | dpedoneze |
| permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| title | Speeding up your development using HAML on your Ruby on Rails project |
| body | #### What Will I Learn? In this tutorial, you will learn the HAML (HTML abstraction markup language) basics and how to speed up your development by using HAML instead of the regular HTML (in rails `html.erb` files). - You will learn how to use HAML on your Ruby on Rails project; - You will learn the basics HTML to HAML; - You will learn some nice tricks with HAML. #### Requirements In order to follow this tutorial you will have to fill those requirements: - Basic HTML knowledge; - Basic Ruby on Rails knowledge; - A Ruby on Rails project (you can create a new one by using the `rails new haml_basics` command. #### Difficulty - Basic #### Tutorial Contents HAML (HTML abstraction markup language) is a templating engine for HTML, witch really speeds up your development since its uses almost 50% less code (using the HAML template)! ##### How to use HAML on your Ruby on Rails project This step is really easy, you just have to open you `Gemfile` file and add the HAML gem `gem 'haml'`. After doing it you will have to run `bundle install` on your root project folder to install our newest gem. (TIP: Remember to __restart__ your rails application after that - so it will load our new gem). ##### Basics HTML to HAML Now the we have the HAML gem installed and running on our project we can start using our new template engine. Good for us, Rails won't force us to change all of ours `html.erb` files into `html.haml` so we can have both kinds of file on your project (TIP: would be really good if you refactor all `html.erb` files into `html.haml` files). > If you're like me and doesn't like to have a mix of this files (`html.erb` and `html.haml`), you can use the [haml-rails gem](https://github.com/indirect/haml-rails) to convert all .erb views to haml format by using a [really easy command](https://github.com/indirect/haml-rails#converting-all-erb-views-to-haml-format). I will be using a regular `index.html.erb` file and I will refactor it from HTML to HAML, after that I will explain our main refactors. These are our current HTML files: > Main file (`index.html.erb`) ```erb <div class="container" id="main-container"> <div class="row mt-1"> <div class="col-sm-9"> <% resources.each do |resource| %> <%= render resource %> <% end %> </div> <div class="col-sm-3"> <%= render 'search' %> </div> </div> </div> ``` > Resource partial (`_resource.html.erb`) ```erb <div class="resource mt-3"> <div class="row"> <div class="col-12"> <%= link_to resource.value, resource.url, target: '_blank' %> <small class="badge badge-light" data-toggle="tooltip" data-active="true" data-position="top" title="Resource count"> <%= resource.total %> </small> </div> </div> <div class="row"> <div class="col-12"> <small> <%= resource.created_at %> </small> <small class="ml-2"> <%= link_to '', resource_path(resource), class: 'fa fa-trash delete', method: :delete, data: { confirm: t("delete_confirm") } %> </small> <small class="ml-2"> <%= link_to t('edit'), edit_resource_path(resource), class: 'edit' %> </small> </div> </div> </div> ``` > Search partial (`_search.html.erb`) ```erb <h4 class="mt-1"> <%= t('search_header') %> </h4> <%= form_for @q do |f| %> <div class="form-group"> <%= f.label :kind_eq, 'Resource kind' %> <%= f.select :kind_eq, Resource.kinds, { prompt: t('select_all') }, { class: 'form-control' } %> </div> <div class="form-group"> <%= f.label :value_cont, 'Resource value' %> <%= f.search_field :value_cont, class: 'form-control' %> </div> <%= f.submit class: 'btn btn-secondary' %> <% end %> ``` And now the newly created HAML files: > Main file (`index.html.haml`) ```haml .container#main-container .row.mt-1 .col-sm-9 - resources.each do |resource| = render 'resource' .col-sm-3 = render 'search' ``` > Resource partial (`_resource.html.haml`) ```haml .resource.mt-3 .row .col-12 = link_to resource.value, resource.url, target: '_blank' %small.badge.badge-light{ data: { toggle: 'tooltip', active: "true", position: "top" }, title: "Resource count" } = resource.total .row .col-12 %small = resource.created_at %small.ml-2 = link_to '', resource_path(resource), class: 'fa fa-trash delete', method: :delete, data: { confirm: t("delete_confirm") } %small.ml-2 = link_to t('edit'), edit_resource_path(resource), class: 'edit' ``` > Search partial (`_search.html.haml`) ```haml %h4.mt-1 = t('search_header') = search_form_for @q do |f| .form-group = f.label :kind_eq, 'Resource kind' = f.select :kind_eq, Resource.kinds, { prompt: t('select_all') }, { class: 'form-control' } .form-group = f.label :value_cont, 'Resource value' = f.search_field :value_cont, class: 'form-control' = f.submit class: 'btn btn-secondary' ``` ##### Explaining our refactoring > First of all we have to save our files using the `.haml` extension and not `.erb`. Forget the `<tag></tag>` , now we have to use `%tag` and we won't have to write `class="class-name"`, we just have to wrote `.class-name` and its almost the same for identifiers, instead of `id="identifier" we just have to write `#identifier` and it's done: > Yes, you're right! HAML uses the CSS conventions (`.` for classes and `#` for identifiers) ```erb <div class="container" id="main-container"> <div class="row mt-1"> Our content here </div> </div> ``` turns into: ```haml .container#main-container .row.mt-1 Our content here ``` > Yes, we won't have to write `div` since HAML uses the `div` tag as default tag, so `.container` will be processed as `%div.container`. We can also add nested attributes as _hash_ so we won't have to repeat ourself: ```erb <small class="badge badge-light" data-toggle="tooltip" data-active="true" data-position="top" title="Resource count"> <%= resource.total %> </small> ``` turns into: ```haml %small.badge.badge-light{ data: { toggle: 'tooltip', active: "true", position: "top" }, title: "Resource count" } = resource.total ``` > Remember: Since we are using _hash_ we have to follow its pattern (key: 'value', separated by commas) ##### Nice tricks with HAML - HAML **forces** us to keep the indentation, so our code will be easier to understand - We won't have to use the `%div` tag if we're using a _class_ or _id_ (HAML default tag is `%div`) - We can create easier nested attributes by using a _hash_ syntax (like: `{ first: { second: { third: 'value', fourth: 'another-value' } } ` turns into `first-second-third='value' first-second-third-fourth='another-value'` - You can use silent comments (no more comments on our HTML file) by using `-# comment here` - We won't need to close our tags, YEY! #### Curriculum This is my first Utopian tutorial! On the next tutorials I will be posting some CSS and SASS basics (using a Ruby on Rails project) tutorials. <br /><hr/><em>Posted on <a href="https://utopian.io/utopian-io/@dpedoneze/speeding-up-your-development-using-haml-on-your-ruby-on-rails-project">Utopian.io - Rewarding Open Source Contributors</a></em><hr/> |
| json metadata | {"community":"utopian","app":"utopian/1.0.0","format":"markdown","repository":{"id":426,"name":"haml","full_name":"haml/haml","html_url":"https://github.com/haml/haml","fork":false,"owner":{"login":"haml"}},"pullRequests":[],"platform":"github","type":"tutorials","tags":["utopian-io","rails","html","haml","frontend"],"users":["q"],"links":["https://github.com/indirect/haml-rails","https://github.com/indirect/haml-rails#converting-all-erb-views-to-haml-format"],"moderator":{"account":"portugalcoin","time":"2018-04-08T18:51:40.934Z","reviewed":true,"pending":false,"flagged":false},"questions":[{"question":"Is the project description formal?","answers":[{"value":"Yes it’s straight to the point","selected":true,"score":10},{"value":"Need more description ","selected":false,"score":5},{"value":"Not too descriptive","selected":false,"score":0}],"selected":0},{"question":"Is the language / grammar correct?","answers":[{"value":"Yes","selected":false,"score":20},{"value":"A few mistakes","selected":true,"score":10},{"value":"It's pretty bad","selected":false,"score":0}],"selected":1},{"question":"Was the template followed?","answers":[{"value":"Yes","selected":true,"score":10},{"value":"Partially","selected":false,"score":5},{"value":"No","selected":false,"score":0}],"selected":0},{"question":"Is there information about the additional frameworks?","answers":[{"value":"Yes, everything is explained","selected":true,"score":5},{"value":"Yes, but not enough","selected":false,"score":3},{"value":"No details at all","selected":false,"score":0}],"selected":0},{"question":"Is there code in the tutorial?","answers":[{"value":"Yes, and it’s well explained","selected":true,"score":5},{"value":"Yes, but no explanation","selected":false,"score":3},{"value":"No","selected":false,"score":0}],"selected":0},{"question":"Is the tutorial explains technical aspects well enough?","answers":[{"value":"Yes, it teaches how and why about technical aspects","selected":true,"score":5},{"value":"Yes, but it’s not good/enough","selected":false,"score":3},{"value":"No, it explains poorly","selected":false,"score":0}],"selected":0},{"question":"Is the tutorial general and dense enough?","answers":[{"value":"Yes, it’s general and dense","selected":true,"score":5},{"value":"Kinda, it might be more generalized","selected":false,"score":3},{"value":"No, it’s sliced unnecessarily to keep part number high","selected":false,"score":0}],"selected":0},{"question":"Is there an outline for the tutorial content at the beginning of the post","answers":[{"value":"Yes, there is a well prepared outline in “What will I learn?” or another outline section","selected":true,"score":5},{"value":"Yes, but there is no proper listing for every step of the tutorial or it’s not detailed enough","selected":false,"score":3},{"value":"No, there is no outline for the steps.","selected":false,"score":0}],"selected":0},{"question":"Is the visual content of good quality?","answers":[{"value":"Yes","selected":true,"score":5},{"value":"Yes, but bad quality","selected":false,"score":3},{"value":"No","selected":false,"score":0}],"selected":0},{"question":"Is this a tutorial series?","answers":[{"value":"Yes","selected":true,"score":5},{"value":"Yes, but first part","selected":false,"score":3},{"value":"No","selected":false,"score":0}],"selected":0},{"question":"Is the tutorial post structured?","answers":[{"value":"Yes","selected":true,"score":5},{"value":"Not so good","selected":false,"score":3},{"value":"No","selected":false,"score":0}],"selected":0}],"score":50} |
| Transaction Info | Block #21394582/Trx 7a066472225ef34f57f285562361c5be93df2f7c |
View Raw JSON Data
{
"trx_id": "7a066472225ef34f57f285562361c5be93df2f7c",
"block": 21394582,
"trx_in_block": 32,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-08T18:51:45",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "utopian-io",
"author": "dpedoneze",
"permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"title": "Speeding up your development using HAML on your Ruby on Rails project",
"body": "#### What Will I Learn?\nIn this tutorial, you will learn the HAML (HTML abstraction markup language) basics and how to speed up your development by using HAML instead of the regular HTML (in rails `html.erb` files).\n\n- You will learn how to use HAML on your Ruby on Rails project;\n- You will learn the basics HTML to HAML;\n- You will learn some nice tricks with HAML.\n\n#### Requirements\nIn order to follow this tutorial you will have to fill those requirements:\n\n- Basic HTML knowledge;\n- Basic Ruby on Rails knowledge;\n- A Ruby on Rails project (you can create a new one by using the `rails new haml_basics` command.\n\n#### Difficulty\n\n- Basic\n\n#### Tutorial Contents\nHAML (HTML abstraction markup language) is a templating engine for HTML, witch really speeds up your development since its uses almost 50% less code (using the HAML template)!\n\n##### How to use HAML on your Ruby on Rails project\n\nThis step is really easy, you just have to open you `Gemfile` file and add the HAML gem `gem 'haml'`. \n\nAfter doing it you will have to run `bundle install` on your root project folder to install our newest gem. (TIP: Remember to __restart__ your rails application after that - so it will load our new gem).\n\n##### Basics HTML to HAML\n\nNow the we have the HAML gem installed and running on our project we can start using our new template engine. Good for us, Rails won't force us to change all of ours `html.erb` files into `html.haml` so we can have both kinds of file on your project (TIP: would be really good if you refactor all `html.erb` files into `html.haml` files).\n\n> If you're like me and doesn't like to have a mix of this files (`html.erb` and `html.haml`), you can use the [haml-rails gem](https://github.com/indirect/haml-rails) to convert all .erb views to haml format by using a [really easy command](https://github.com/indirect/haml-rails#converting-all-erb-views-to-haml-format).\n\nI will be using a regular `index.html.erb` file and I will refactor it from HTML to HAML, after that I will explain our main refactors.\n\nThese are our current HTML files:\n\n> Main file (`index.html.erb`) \n```erb\n <div class=\"container\" id=\"main-container\">\n <div class=\"row mt-1\">\n <div class=\"col-sm-9\">\n <% resources.each do |resource| %>\n <%= render resource %>\n <% end %>\n </div>\n \n <div class=\"col-sm-3\">\n <%= render 'search' %>\n </div>\n </div>\n</div>\n```\n\n> Resource partial (`_resource.html.erb`)\n\n```erb\n<div class=\"resource mt-3\">\n <div class=\"row\">\n <div class=\"col-12\">\n <%= link_to resource.value, resource.url, target: '_blank' %>\n\n <small class=\"badge badge-light\" data-toggle=\"tooltip\" data-active=\"true\" data-position=\"top\" title=\"Resource count\">\n <%= resource.total %>\n </small>\n </div>\n </div>\n\n <div class=\"row\">\n <div class=\"col-12\">\n <small>\n <%= resource.created_at %>\n </small>\n \n <small class=\"ml-2\">\n <%= link_to '', resource_path(resource), class: 'fa fa-trash delete', method: :delete, data: { confirm: t(\"delete_confirm\") } %>\n </small>\n \n <small class=\"ml-2\">\n <%= link_to t('edit'), edit_resource_path(resource), class: 'edit' %>\n </small>\n </div>\n </div>\n</div>\n```\n\n> Search partial (`_search.html.erb`)\n```erb\n<h4 class=\"mt-1\">\n <%= t('search_header') %>\n</h4>\n\n<%= form_for @q do |f| %>\n <div class=\"form-group\">\n <%= f.label :kind_eq, 'Resource kind' %>\n <%= f.select :kind_eq, Resource.kinds, { prompt: t('select_all') }, { class: 'form-control' } %>\n </div>\n \n <div class=\"form-group\">\n <%= f.label :value_cont, 'Resource value' %>\n <%= f.search_field :value_cont, class: 'form-control' %>\n </div>\n\n <%= f.submit class: 'btn btn-secondary' %>\n<% end %>\n```\n\nAnd now the newly created HAML files:\n\n> Main file (`index.html.haml`)\n```haml\n.container#main-container\n .row.mt-1\n .col-sm-9\n - resources.each do |resource|\n = render 'resource'\n\n .col-sm-3\n = render 'search'\n```\n\n> Resource partial (`_resource.html.haml`)\n```haml\n .resource.mt-3\n .row\n .col-12\n = link_to resource.value, resource.url, target: '_blank'\n \n %small.badge.badge-light{ data: { toggle: 'tooltip', active: \"true\", position: \"top\" }, title: \"Resource count\" }\n = resource.total\n \n .row\n .col-12\n %small\n = resource.created_at\n\n %small.ml-2\n = link_to '', resource_path(resource), class: 'fa fa-trash delete', method: :delete, data: { confirm: t(\"delete_confirm\") }\n %small.ml-2\n = link_to t('edit'), edit_resource_path(resource), class: 'edit'\n```\n\n> Search partial (`_search.html.haml`)\n```haml\n%h4.mt-1\n = t('search_header')\n\n= search_form_for @q do |f|\n .form-group\n = f.label :kind_eq, 'Resource kind'\n = f.select :kind_eq, Resource.kinds, { prompt: t('select_all') }, { class: 'form-control' }\n\n .form-group\n = f.label :value_cont, 'Resource value'\n = f.search_field :value_cont, class: 'form-control'\n\n = f.submit class: 'btn btn-secondary'\n```\n\n##### Explaining our refactoring\n\n> First of all we have to save our files using the `.haml` extension and not `.erb`.\n\nForget the `<tag></tag>` , now we have to use `%tag` and we won't have to write `class=\"class-name\"`, we just have to wrote `.class-name` and its almost the same for identifiers, instead of `id=\"identifier\" we just have to write `#identifier` and it's done:\n\n> Yes, you're right! HAML uses the CSS conventions (`.` for classes and `#` for identifiers)\n\n```erb\n<div class=\"container\" id=\"main-container\">\n <div class=\"row mt-1\">\n Our content here\n </div>\n</div>\n```\n\nturns into:\n\n```haml\n.container#main-container\n .row.mt-1\n Our content here\n```\n> Yes, we won't have to write `div` since HAML uses the `div` tag as default tag, so `.container` will be processed as `%div.container`.\n\nWe can also add nested attributes as _hash_ so we won't have to repeat ourself:\n\n```erb\n<small class=\"badge badge-light\" data-toggle=\"tooltip\" data-active=\"true\" data-position=\"top\" title=\"Resource count\">\n <%= resource.total %>\n</small>\n```\n\nturns into:\n\n```haml\n%small.badge.badge-light{ data: { toggle: 'tooltip', active: \"true\", position: \"top\" }, title: \"Resource count\" }\n = resource.total\n```\n> Remember: Since we are using _hash_ we have to follow its pattern (key: 'value', separated by commas)\n\n##### Nice tricks with HAML\n\n- HAML **forces** us to keep the indentation, so our code will be easier to understand\n- We won't have to use the `%div` tag if we're using a _class_ or _id_ (HAML default tag is `%div`)\n- We can create easier nested attributes by using a _hash_ syntax (like: `{ first: { second: { third: 'value', fourth: 'another-value' } } ` turns into `first-second-third='value' first-second-third-fourth='another-value'` \n- You can use silent comments (no more comments on our HTML file) by using `-# comment here`\n- We won't need to close our tags, YEY!\n\n#### Curriculum\nThis is my first Utopian tutorial! On the next tutorials I will be posting some CSS and SASS basics (using a Ruby on Rails project) tutorials.\n \n\n<br /><hr/><em>Posted on <a href=\"https://utopian.io/utopian-io/@dpedoneze/speeding-up-your-development-using-haml-on-your-ruby-on-rails-project\">Utopian.io - Rewarding Open Source Contributors</a></em><hr/>",
"json_metadata": "{\"community\":\"utopian\",\"app\":\"utopian/1.0.0\",\"format\":\"markdown\",\"repository\":{\"id\":426,\"name\":\"haml\",\"full_name\":\"haml/haml\",\"html_url\":\"https://github.com/haml/haml\",\"fork\":false,\"owner\":{\"login\":\"haml\"}},\"pullRequests\":[],\"platform\":\"github\",\"type\":\"tutorials\",\"tags\":[\"utopian-io\",\"rails\",\"html\",\"haml\",\"frontend\"],\"users\":[\"q\"],\"links\":[\"https://github.com/indirect/haml-rails\",\"https://github.com/indirect/haml-rails#converting-all-erb-views-to-haml-format\"],\"moderator\":{\"account\":\"portugalcoin\",\"time\":\"2018-04-08T18:51:40.934Z\",\"reviewed\":true,\"pending\":false,\"flagged\":false},\"questions\":[{\"question\":\"Is the project description formal?\",\"answers\":[{\"value\":\"Yes it’s straight to the point\",\"selected\":true,\"score\":10},{\"value\":\"Need more description \",\"selected\":false,\"score\":5},{\"value\":\"Not too descriptive\",\"selected\":false,\"score\":0}],\"selected\":0},{\"question\":\"Is the language / grammar correct?\",\"answers\":[{\"value\":\"Yes\",\"selected\":false,\"score\":20},{\"value\":\"A few mistakes\",\"selected\":true,\"score\":10},{\"value\":\"It's pretty bad\",\"selected\":false,\"score\":0}],\"selected\":1},{\"question\":\"Was the template followed?\",\"answers\":[{\"value\":\"Yes\",\"selected\":true,\"score\":10},{\"value\":\"Partially\",\"selected\":false,\"score\":5},{\"value\":\"No\",\"selected\":false,\"score\":0}],\"selected\":0},{\"question\":\"Is there information about the additional frameworks?\",\"answers\":[{\"value\":\"Yes, everything is explained\",\"selected\":true,\"score\":5},{\"value\":\"Yes, but not enough\",\"selected\":false,\"score\":3},{\"value\":\"No details at all\",\"selected\":false,\"score\":0}],\"selected\":0},{\"question\":\"Is there code in the tutorial?\",\"answers\":[{\"value\":\"Yes, and it’s well explained\",\"selected\":true,\"score\":5},{\"value\":\"Yes, but no explanation\",\"selected\":false,\"score\":3},{\"value\":\"No\",\"selected\":false,\"score\":0}],\"selected\":0},{\"question\":\"Is the tutorial explains technical aspects well enough?\",\"answers\":[{\"value\":\"Yes, it teaches how and why about technical aspects\",\"selected\":true,\"score\":5},{\"value\":\"Yes, but it’s not good/enough\",\"selected\":false,\"score\":3},{\"value\":\"No, it explains poorly\",\"selected\":false,\"score\":0}],\"selected\":0},{\"question\":\"Is the tutorial general and dense enough?\",\"answers\":[{\"value\":\"Yes, it’s general and dense\",\"selected\":true,\"score\":5},{\"value\":\"Kinda, it might be more generalized\",\"selected\":false,\"score\":3},{\"value\":\"No, it’s sliced unnecessarily to keep part number high\",\"selected\":false,\"score\":0}],\"selected\":0},{\"question\":\"Is there an outline for the tutorial content at the beginning of the post\",\"answers\":[{\"value\":\"Yes, there is a well prepared outline in “What will I learn?” or another outline section\",\"selected\":true,\"score\":5},{\"value\":\"Yes, but there is no proper listing for every step of the tutorial or it’s not detailed enough\",\"selected\":false,\"score\":3},{\"value\":\"No, there is no outline for the steps.\",\"selected\":false,\"score\":0}],\"selected\":0},{\"question\":\"Is the visual content of good quality?\",\"answers\":[{\"value\":\"Yes\",\"selected\":true,\"score\":5},{\"value\":\"Yes, but bad quality\",\"selected\":false,\"score\":3},{\"value\":\"No\",\"selected\":false,\"score\":0}],\"selected\":0},{\"question\":\"Is this a tutorial series?\",\"answers\":[{\"value\":\"Yes\",\"selected\":true,\"score\":5},{\"value\":\"Yes, but first part\",\"selected\":false,\"score\":3},{\"value\":\"No\",\"selected\":false,\"score\":0}],\"selected\":0},{\"question\":\"Is the tutorial post structured?\",\"answers\":[{\"value\":\"Yes\",\"selected\":true,\"score\":5},{\"value\":\"Not so good\",\"selected\":false,\"score\":3},{\"value\":\"No\",\"selected\":false,\"score\":0}],\"selected\":0}],\"score\":50}"
}
]
}2018/04/08 14:14:42
2018/04/08 14:14:42
| voter | johngreenfield |
| author | dpedoneze |
| permlink | re-johngreenfield-tutorial-html-101-learn-the-basics-20180408t135539401z |
| weight | 10000 (100.00%) |
| Transaction Info | Block #21389041/Trx d8d175eeee4ee0402a59666bc5a6e0691a620656 |
View Raw JSON Data
{
"trx_id": "d8d175eeee4ee0402a59666bc5a6e0691a620656",
"block": 21389041,
"trx_in_block": 11,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-08T14:14:42",
"op": [
"vote",
{
"voter": "johngreenfield",
"author": "dpedoneze",
"permlink": "re-johngreenfield-tutorial-html-101-learn-the-basics-20180408t135539401z",
"weight": 10000
}
]
}2018/04/08 13:55:42
2018/04/08 13:55:42
| parent author | johngreenfield |
| parent permlink | tutorial-html-101-learn-the-basics |
| author | dpedoneze |
| permlink | re-johngreenfield-tutorial-html-101-learn-the-basics-20180408t135539401z |
| title | |
| body | Nice! I'd try to keep some indentation in your "index.html" so it's easier to read :) |
| json metadata | {"tags":["tutorial"],"app":"steemit/0.1"} |
| Transaction Info | Block #21388661/Trx aa76fe0ce2fa7c30dfefa290bb64009c12d5d0bc |
View Raw JSON Data
{
"trx_id": "aa76fe0ce2fa7c30dfefa290bb64009c12d5d0bc",
"block": 21388661,
"trx_in_block": 37,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-08T13:55:42",
"op": [
"comment",
{
"parent_author": "johngreenfield",
"parent_permlink": "tutorial-html-101-learn-the-basics",
"author": "dpedoneze",
"permlink": "re-johngreenfield-tutorial-html-101-learn-the-basics-20180408t135539401z",
"title": "",
"body": "Nice! I'd try to keep some indentation in your \"index.html\" so it's easier to read :)",
"json_metadata": "{\"tags\":[\"tutorial\"],\"app\":\"steemit/0.1\"}"
}
]
}dpedonezeupvoted (100.00%) @johngreenfield / tutorial-html-101-learn-the-basics2018/04/08 13:53:00
dpedonezeupvoted (100.00%) @johngreenfield / tutorial-html-101-learn-the-basics
2018/04/08 13:53:00
| voter | dpedoneze |
| author | johngreenfield |
| permlink | tutorial-html-101-learn-the-basics |
| weight | 10000 (100.00%) |
| Transaction Info | Block #21388607/Trx 3e384c74903f8d97443bcd1e3b3d6b999554c94f |
View Raw JSON Data
{
"trx_id": "3e384c74903f8d97443bcd1e3b3d6b999554c94f",
"block": 21388607,
"trx_in_block": 14,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-08T13:53:00",
"op": [
"vote",
{
"voter": "dpedoneze",
"author": "johngreenfield",
"permlink": "tutorial-html-101-learn-the-basics",
"weight": 10000
}
]
}2018/04/07 19:43:15
2018/04/07 19:43:15
| voter | introduce.bot |
| author | dpedoneze |
| permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| weight | 200 (2.00%) |
| Transaction Info | Block #21366814/Trx 737d54ab51e844293c2f326fcb4f6a3cc5c4b336 |
View Raw JSON Data
{
"trx_id": "737d54ab51e844293c2f326fcb4f6a3cc5c4b336",
"block": 21366814,
"trx_in_block": 9,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-07T19:43:15",
"op": [
"vote",
{
"voter": "introduce.bot",
"author": "dpedoneze",
"permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"weight": 200
}
]
}dpedonezefollowed @meblogger2018/04/07 19:15:18
dpedonezefollowed @meblogger
2018/04/07 19:15:18
| required auths | [] |
| required posting auths | ["dpedoneze"] |
| id | follow |
| json | ["follow",{"follower":"dpedoneze","following":"meblogger","what":["blog"]}] |
| Transaction Info | Block #21366255/Trx d93cc0946c52890ab9047a971ab394489586a4bd |
View Raw JSON Data
{
"trx_id": "d93cc0946c52890ab9047a971ab394489586a4bd",
"block": 21366255,
"trx_in_block": 5,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-07T19:15:18",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"dpedoneze"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"dpedoneze\",\"following\":\"meblogger\",\"what\":[\"blog\"]}]"
}
]
}dpedonezefollowed @yissakhar2018/04/07 19:15:15
dpedonezefollowed @yissakhar
2018/04/07 19:15:15
| required auths | [] |
| required posting auths | ["dpedoneze"] |
| id | follow |
| json | ["follow",{"follower":"dpedoneze","following":"yissakhar","what":["blog"]}] |
| Transaction Info | Block #21366254/Trx 162fd4e7a86c1ad8fe10d7545e3abe090fdb7905 |
View Raw JSON Data
{
"trx_id": "162fd4e7a86c1ad8fe10d7545e3abe090fdb7905",
"block": 21366254,
"trx_in_block": 4,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-07T19:15:15",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"dpedoneze"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"dpedoneze\",\"following\":\"yissakhar\",\"what\":[\"blog\"]}]"
}
]
}2018/04/07 19:14:45
2018/04/07 19:14:45
| required auths | [] |
| required posting auths | ["dpedoneze"] |
| id | follow |
| json | ["follow",{"follower":"dpedoneze","following":"amn","what":["blog"]}] |
| Transaction Info | Block #21366244/Trx e56285137f0dd698255c65a30149aad0e92cd597 |
View Raw JSON Data
{
"trx_id": "e56285137f0dd698255c65a30149aad0e92cd597",
"block": 21366244,
"trx_in_block": 34,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-07T19:14:45",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"dpedoneze"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"dpedoneze\",\"following\":\"amn\",\"what\":[\"blog\"]}]"
}
]
}2018/04/07 19:14:30
2018/04/07 19:14:30
| required auths | [] |
| required posting auths | ["dpedoneze"] |
| id | follow |
| json | ["follow",{"follower":"dpedoneze","following":"iamankit","what":["blog"]}] |
| Transaction Info | Block #21366239/Trx 2d8fc9c70a65fcff13658c2407df7677ee6b103e |
View Raw JSON Data
{
"trx_id": "2d8fc9c70a65fcff13658c2407df7677ee6b103e",
"block": 21366239,
"trx_in_block": 28,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-07T19:14:30",
"op": [
"custom_json",
{
"required_auths": [],
"required_posting_auths": [
"dpedoneze"
],
"id": "follow",
"json": "[\"follow\",{\"follower\":\"dpedoneze\",\"following\":\"iamankit\",\"what\":[\"blog\"]}]"
}
]
}dpedonezeupdated options for speeding-up-your-development-using-haml-on-your-ruby-on-rails-project2018/04/07 19:13:06
dpedonezeupdated options for speeding-up-your-development-using-haml-on-your-ruby-on-rails-project
2018/04/07 19:13:06
| author | dpedoneze |
| permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| max accepted payout | 1000000.000 SBD |
| percent steem dollars | 10000 |
| allow votes | true |
| allow curation rewards | true |
| extensions | [[0,{"beneficiaries":[{"account":"utopian.pay","weight":2500}]}]] |
| Transaction Info | Block #21366211/Trx 2374a3061d9578fae4d1fd242e18c544b3f06af0 |
View Raw JSON Data
{
"trx_id": "2374a3061d9578fae4d1fd242e18c544b3f06af0",
"block": 21366211,
"trx_in_block": 27,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-07T19:13:06",
"op": [
"comment_options",
{
"author": "dpedoneze",
"permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"max_accepted_payout": "1000000.000 SBD",
"percent_steem_dollars": 10000,
"allow_votes": true,
"allow_curation_rewards": true,
"extensions": [
[
0,
{
"beneficiaries": [
{
"account": "utopian.pay",
"weight": 2500
}
]
}
]
]
}
]
}dpedonezepublished a new post: speeding-up-your-development-using-haml-on-your-ruby-on-rails-project2018/04/07 19:13:06
dpedonezepublished a new post: speeding-up-your-development-using-haml-on-your-ruby-on-rails-project
2018/04/07 19:13:06
| parent author | |
| parent permlink | utopian-io |
| author | dpedoneze |
| permlink | speeding-up-your-development-using-haml-on-your-ruby-on-rails-project |
| title | Speeding up your development using HAML on your Ruby on Rails project |
| body | #### What Will I Learn? In this tutorial, you will learn the HAML (HTML abstraction markup language) basics and how to speed up your development by using HAML instead of the regular HTML (in rails `html.erb` files). - You will learn how to use HAML on your Ruby on Rails project; - You will learn the basics HTML to HAML; - You will learn some nice tricks with HAML. #### Requirements In order to follow this tutorial you will have to fill those requirements: - Basic HTML knowledge; - Basic Ruby on Rails knowledge; - A Ruby on Rails project (you can create a new one by using the `rails new haml_basics` command. #### Difficulty - Basic #### Tutorial Contents HAML (HTML abstraction markup language) is a templating engine for HTML, witch really speeds up your development since its uses almost 50% less code (using the HAML template)! ##### How to use HAML on your Ruby on Rails project This step is really easy, you just have to open you `Gemfile` file and add the HAML gem `gem 'haml'`. After doing it you will have to run `bundle install` on your root project folder to install our newest gem. (TIP: Remember to __restart__ your rails application after that - so it will load our new gem). ##### Basics HTML to HAML Now the we have the HAML gem installed and running on our project we can start using our new template engine. Good for us, Rails won't force us to change all of ours `html.erb` files into `html.haml` so we can have both kinds of file on your project (TIP: would be really good if you refactor all `html.erb` files into `html.haml` files). > If you're like me and doesn't like to have a mix of this files (`html.erb` and `html.haml`), you can use the [haml-rails gem](https://github.com/indirect/haml-rails) to convert all .erb views to haml format by using a [really easy command](https://github.com/indirect/haml-rails#converting-all-erb-views-to-haml-format). I will be using a regular `index.html.erb` file and I will refactor it from HTML to HAML, after that I will explain our main refactors. These are our current HTML files: > Main file (`index.html.erb`) ```erb <div class="container" id="main-container"> <div class="row mt-1"> <div class="col-sm-9"> <% resources.each do |resource| %> <%= render resource %> <% end %> </div> <div class="col-sm-3"> <%= render 'search' %> </div> </div> </div> ``` > Resource partial (`_resource.html.erb`) ```erb <div class="resource mt-3"> <div class="row"> <div class="col-12"> <%= link_to resource.value, resource.url, target: '_blank' %> <small class="badge badge-light" data-toggle="tooltip" data-active="true" data-position="top" title="Resource count"> <%= resource.total %> </small> </div> </div> <div class="row"> <div class="col-12"> <small> <%= resource.created_at %> </small> <small class="ml-2"> <%= link_to '', resource_path(resource), class: 'fa fa-trash delete', method: :delete, data: { confirm: t("delete_confirm") } %> </small> <small class="ml-2"> <%= link_to t('edit'), edit_resource_path(resource), class: 'edit' %> </small> </div> </div> </div> ``` > Search partial (`_search.html.erb`) ```erb <h4 class="mt-1"> <%= t('search_header') %> </h4> <%= form_for @q do |f| %> <div class="form-group"> <%= f.label :kind_eq, 'Resource kind' %> <%= f.select :kind_eq, Resource.kinds, { prompt: t('select_all') }, { class: 'form-control' } %> </div> <div class="form-group"> <%= f.label :value_cont, 'Resource value' %> <%= f.search_field :value_cont, class: 'form-control' %> </div> <%= f.submit class: 'btn btn-secondary' %> <% end %> ``` And now the newly created HAML files: > Main file (`index.html.haml`) ```haml .container#main-container .row.mt-1 .col-sm-9 - resources.each do |resource| = render 'resource' .col-sm-3 = render 'search' ``` > Resource partial (`_resource.html.haml`) ```haml .resource.mt-3 .row .col-12 = link_to resource.value, resource.url, target: '_blank' %small.badge.badge-light{ data: { toggle: 'tooltip', active: "true", position: "top" }, title: "Resource count" } = resource.total .row .col-12 %small = resource.created_at %small.ml-2 = link_to '', resource_path(resource), class: 'fa fa-trash delete', method: :delete, data: { confirm: t("delete_confirm") } %small.ml-2 = link_to t('edit'), edit_resource_path(resource), class: 'edit' ``` > Search partial (`_search.html.haml`) ```haml %h4.mt-1 = t('search_header') = search_form_for @q do |f| .form-group = f.label :kind_eq, 'Resource kind' = f.select :kind_eq, Resource.kinds, { prompt: t('select_all') }, { class: 'form-control' } .form-group = f.label :value_cont, 'Resource value' = f.search_field :value_cont, class: 'form-control' = f.submit class: 'btn btn-secondary' ``` ##### Explaining our refactoring > First of all we have to save our files using the `.haml` extension and not `.erb`. Forget the `<tag></tag>` , now we have to use `%tag` and we won't have to write `class="class-name"`, we just have to wrote `.class-name` and its almost the same for identifiers, instead of `id="identifier" we just have to write `#identifier` and it's done: > Yes, you're right! HAML uses the CSS conventions (`.` for classes and `#` for identifiers) ```erb <div class="container" id="main-container"> <div class="row mt-1"> Our content here </div> </div> ``` turns into: ```haml .container#main-container .row.mt-1 Our content here ``` > Yes, we won't have to write `div` since HAML uses the `div` tag as default tag, so `.container` will be processed as `%div.container`. We can also add nested attributes as _hash_ so we won't have to repeat ourself: ```erb <small class="badge badge-light" data-toggle="tooltip" data-active="true" data-position="top" title="Resource count"> <%= resource.total %> </small> ``` turns into: ```haml %small.badge.badge-light{ data: { toggle: 'tooltip', active: "true", position: "top" }, title: "Resource count" } = resource.total ``` > Remember: Since we are using _hash_ we have to follow its pattern (key: 'value', separated by commas) ##### Nice tricks with HAML - HAML **forces** us to keep the indentation, so our code will be easier to understand - We won't have to use the `%div` tag if we're using a _class_ or _id_ (HAML default tag is `%div`) - We can create easier nested attributes by using a _hash_ syntax (like: `{ first: { second: { third: 'value', fourth: 'another-value' } } ` turns into `first-second-third='value' first-second-third-fourth='another-value'` - You can use silent comments (no more comments on our HTML file) by using `-# comment here` - We won't need to close our tags, YEY! #### Curriculum This is my first Utopian tutorial! On the next tutorials I will be posting some CSS and SASS basics (using a Ruby on Rails project) tutorials. <br /><hr/><em>Posted on <a href="https://utopian.io/utopian-io/@dpedoneze/speeding-up-your-development-using-haml-on-your-ruby-on-rails-project">Utopian.io - Rewarding Open Source Contributors</a></em><hr/> |
| json metadata | {"community":"utopian","app":"utopian/1.0.0","format":"markdown","repository":{"id":426,"name":"haml","full_name":"haml/haml","html_url":"https://github.com/haml/haml","fork":false,"owner":{"login":"haml"}},"pullRequests":[],"platform":"github","type":"tutorials","tags":["utopian-io","rails","html","haml","frontend"],"users":["q"],"links":["https://github.com/indirect/haml-rails","https://github.com/indirect/haml-rails#converting-all-erb-views-to-haml-format"]} |
| Transaction Info | Block #21366211/Trx 2374a3061d9578fae4d1fd242e18c544b3f06af0 |
View Raw JSON Data
{
"trx_id": "2374a3061d9578fae4d1fd242e18c544b3f06af0",
"block": 21366211,
"trx_in_block": 27,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-07T19:13:06",
"op": [
"comment",
{
"parent_author": "",
"parent_permlink": "utopian-io",
"author": "dpedoneze",
"permlink": "speeding-up-your-development-using-haml-on-your-ruby-on-rails-project",
"title": "Speeding up your development using HAML on your Ruby on Rails project",
"body": "#### What Will I Learn?\nIn this tutorial, you will learn the HAML (HTML abstraction markup language) basics and how to speed up your development by using HAML instead of the regular HTML (in rails `html.erb` files).\n\n- You will learn how to use HAML on your Ruby on Rails project;\n- You will learn the basics HTML to HAML;\n- You will learn some nice tricks with HAML.\n\n#### Requirements\nIn order to follow this tutorial you will have to fill those requirements:\n\n- Basic HTML knowledge;\n- Basic Ruby on Rails knowledge;\n- A Ruby on Rails project (you can create a new one by using the `rails new haml_basics` command.\n\n#### Difficulty\n\n- Basic\n\n#### Tutorial Contents\nHAML (HTML abstraction markup language) is a templating engine for HTML, witch really speeds up your development since its uses almost 50% less code (using the HAML template)!\n\n##### How to use HAML on your Ruby on Rails project\n\nThis step is really easy, you just have to open you `Gemfile` file and add the HAML gem `gem 'haml'`. \n\nAfter doing it you will have to run `bundle install` on your root project folder to install our newest gem. (TIP: Remember to __restart__ your rails application after that - so it will load our new gem).\n\n##### Basics HTML to HAML\n\nNow the we have the HAML gem installed and running on our project we can start using our new template engine. Good for us, Rails won't force us to change all of ours `html.erb` files into `html.haml` so we can have both kinds of file on your project (TIP: would be really good if you refactor all `html.erb` files into `html.haml` files).\n\n> If you're like me and doesn't like to have a mix of this files (`html.erb` and `html.haml`), you can use the [haml-rails gem](https://github.com/indirect/haml-rails) to convert all .erb views to haml format by using a [really easy command](https://github.com/indirect/haml-rails#converting-all-erb-views-to-haml-format).\n\nI will be using a regular `index.html.erb` file and I will refactor it from HTML to HAML, after that I will explain our main refactors.\n\nThese are our current HTML files:\n\n> Main file (`index.html.erb`) \n```erb\n <div class=\"container\" id=\"main-container\">\n <div class=\"row mt-1\">\n <div class=\"col-sm-9\">\n <% resources.each do |resource| %>\n <%= render resource %>\n <% end %>\n </div>\n \n <div class=\"col-sm-3\">\n <%= render 'search' %>\n </div>\n </div>\n</div>\n```\n\n> Resource partial (`_resource.html.erb`)\n\n```erb\n<div class=\"resource mt-3\">\n <div class=\"row\">\n <div class=\"col-12\">\n <%= link_to resource.value, resource.url, target: '_blank' %>\n\n <small class=\"badge badge-light\" data-toggle=\"tooltip\" data-active=\"true\" data-position=\"top\" title=\"Resource count\">\n <%= resource.total %>\n </small>\n </div>\n </div>\n\n <div class=\"row\">\n <div class=\"col-12\">\n <small>\n <%= resource.created_at %>\n </small>\n \n <small class=\"ml-2\">\n <%= link_to '', resource_path(resource), class: 'fa fa-trash delete', method: :delete, data: { confirm: t(\"delete_confirm\") } %>\n </small>\n \n <small class=\"ml-2\">\n <%= link_to t('edit'), edit_resource_path(resource), class: 'edit' %>\n </small>\n </div>\n </div>\n</div>\n```\n\n> Search partial (`_search.html.erb`)\n```erb\n<h4 class=\"mt-1\">\n <%= t('search_header') %>\n</h4>\n\n<%= form_for @q do |f| %>\n <div class=\"form-group\">\n <%= f.label :kind_eq, 'Resource kind' %>\n <%= f.select :kind_eq, Resource.kinds, { prompt: t('select_all') }, { class: 'form-control' } %>\n </div>\n \n <div class=\"form-group\">\n <%= f.label :value_cont, 'Resource value' %>\n <%= f.search_field :value_cont, class: 'form-control' %>\n </div>\n\n <%= f.submit class: 'btn btn-secondary' %>\n<% end %>\n```\n\nAnd now the newly created HAML files:\n\n> Main file (`index.html.haml`)\n```haml\n.container#main-container\n .row.mt-1\n .col-sm-9\n - resources.each do |resource|\n = render 'resource'\n\n .col-sm-3\n = render 'search'\n```\n\n> Resource partial (`_resource.html.haml`)\n```haml\n .resource.mt-3\n .row\n .col-12\n = link_to resource.value, resource.url, target: '_blank'\n \n %small.badge.badge-light{ data: { toggle: 'tooltip', active: \"true\", position: \"top\" }, title: \"Resource count\" }\n = resource.total\n \n .row\n .col-12\n %small\n = resource.created_at\n\n %small.ml-2\n = link_to '', resource_path(resource), class: 'fa fa-trash delete', method: :delete, data: { confirm: t(\"delete_confirm\") }\n %small.ml-2\n = link_to t('edit'), edit_resource_path(resource), class: 'edit'\n```\n\n> Search partial (`_search.html.haml`)\n```haml\n%h4.mt-1\n = t('search_header')\n\n= search_form_for @q do |f|\n .form-group\n = f.label :kind_eq, 'Resource kind'\n = f.select :kind_eq, Resource.kinds, { prompt: t('select_all') }, { class: 'form-control' }\n\n .form-group\n = f.label :value_cont, 'Resource value'\n = f.search_field :value_cont, class: 'form-control'\n\n = f.submit class: 'btn btn-secondary'\n```\n\n##### Explaining our refactoring\n\n> First of all we have to save our files using the `.haml` extension and not `.erb`.\n\nForget the `<tag></tag>` , now we have to use `%tag` and we won't have to write `class=\"class-name\"`, we just have to wrote `.class-name` and its almost the same for identifiers, instead of `id=\"identifier\" we just have to write `#identifier` and it's done:\n\n> Yes, you're right! HAML uses the CSS conventions (`.` for classes and `#` for identifiers)\n\n```erb\n<div class=\"container\" id=\"main-container\">\n <div class=\"row mt-1\">\n Our content here\n </div>\n</div>\n```\n\nturns into:\n\n```haml\n.container#main-container\n .row.mt-1\n Our content here\n```\n> Yes, we won't have to write `div` since HAML uses the `div` tag as default tag, so `.container` will be processed as `%div.container`.\n\nWe can also add nested attributes as _hash_ so we won't have to repeat ourself:\n\n```erb\n<small class=\"badge badge-light\" data-toggle=\"tooltip\" data-active=\"true\" data-position=\"top\" title=\"Resource count\">\n <%= resource.total %>\n</small>\n```\n\nturns into:\n\n```haml\n%small.badge.badge-light{ data: { toggle: 'tooltip', active: \"true\", position: \"top\" }, title: \"Resource count\" }\n = resource.total\n```\n> Remember: Since we are using _hash_ we have to follow its pattern (key: 'value', separated by commas)\n\n##### Nice tricks with HAML\n\n- HAML **forces** us to keep the indentation, so our code will be easier to understand\n- We won't have to use the `%div` tag if we're using a _class_ or _id_ (HAML default tag is `%div`)\n- We can create easier nested attributes by using a _hash_ syntax (like: `{ first: { second: { third: 'value', fourth: 'another-value' } } ` turns into `first-second-third='value' first-second-third-fourth='another-value'` \n- You can use silent comments (no more comments on our HTML file) by using `-# comment here`\n- We won't need to close our tags, YEY!\n\n#### Curriculum\nThis is my first Utopian tutorial! On the next tutorials I will be posting some CSS and SASS basics (using a Ruby on Rails project) tutorials.\n \n\n<br /><hr/><em>Posted on <a href=\"https://utopian.io/utopian-io/@dpedoneze/speeding-up-your-development-using-haml-on-your-ruby-on-rails-project\">Utopian.io - Rewarding Open Source Contributors</a></em><hr/>",
"json_metadata": "{\"community\":\"utopian\",\"app\":\"utopian/1.0.0\",\"format\":\"markdown\",\"repository\":{\"id\":426,\"name\":\"haml\",\"full_name\":\"haml/haml\",\"html_url\":\"https://github.com/haml/haml\",\"fork\":false,\"owner\":{\"login\":\"haml\"}},\"pullRequests\":[],\"platform\":\"github\",\"type\":\"tutorials\",\"tags\":[\"utopian-io\",\"rails\",\"html\",\"haml\",\"frontend\"],\"users\":[\"q\"],\"links\":[\"https://github.com/indirect/haml-rails\",\"https://github.com/indirect/haml-rails#converting-all-erb-views-to-haml-format\"]}"
}
]
}dpedonezeupdated their account properties2018/04/07 16:33:54
dpedonezeupdated their account properties
2018/04/07 16:33:54
| account | dpedoneze |
| memo key | STM61Z9Yc6io7Q13jUqD9yHXX9cDMMWjzVKmxGuSL27qcjXzJirbu |
| json metadata | {"profile":{"profile_image":"https://avatars0.githubusercontent.com/u/5757502","name":"D. Pedoneze"}} |
| Transaction Info | Block #21363027/Trx 7f22857939bba4d020ae021e647df82dc7630f6a |
View Raw JSON Data
{
"trx_id": "7f22857939bba4d020ae021e647df82dc7630f6a",
"block": 21363027,
"trx_in_block": 34,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-07T16:33:54",
"op": [
"account_update",
{
"account": "dpedoneze",
"memo_key": "STM61Z9Yc6io7Q13jUqD9yHXX9cDMMWjzVKmxGuSL27qcjXzJirbu",
"json_metadata": "{\"profile\":{\"profile_image\":\"https://avatars0.githubusercontent.com/u/5757502\",\"name\":\"D. Pedoneze\"}}"
}
]
}dpedonezeupdated their account properties2018/04/07 16:29:18
dpedonezeupdated their account properties
2018/04/07 16:29:18
| account | dpedoneze |
| posting | {"weight_threshold":1,"account_auths":[["utopian.app",1]],"key_auths":[["STM5jq6Ucb95UVG9jz4eaMw9EWG7fC2fo7jJEkTSCPSBwy1NQidsA",1]]} |
| memo key | STM61Z9Yc6io7Q13jUqD9yHXX9cDMMWjzVKmxGuSL27qcjXzJirbu |
| json metadata | {} |
| Transaction Info | Block #21362935/Trx 33c575f6987552842ae7a015bdd81aa3e8d52796 |
View Raw JSON Data
{
"trx_id": "33c575f6987552842ae7a015bdd81aa3e8d52796",
"block": 21362935,
"trx_in_block": 57,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-07T16:29:18",
"op": [
"account_update",
{
"account": "dpedoneze",
"posting": {
"weight_threshold": 1,
"account_auths": [
[
"utopian.app",
1
]
],
"key_auths": [
[
"STM5jq6Ucb95UVG9jz4eaMw9EWG7fC2fo7jJEkTSCPSBwy1NQidsA",
1
]
]
},
"memo_key": "STM61Z9Yc6io7Q13jUqD9yHXX9cDMMWjzVKmxGuSL27qcjXzJirbu",
"json_metadata": "{}"
}
]
}steemdelegated 18.685 SP to @dpedoneze2018/04/02 13:48:21
steemdelegated 18.685 SP to @dpedoneze
2018/04/02 13:48:21
| delegator | steem |
| delegatee | dpedoneze |
| vesting shares | 30389.157475 VESTS |
| Transaction Info | Block #21215735/Trx 6087998be29dee53d3a91da0d18bd214848c38c4 |
View Raw JSON Data
{
"trx_id": "6087998be29dee53d3a91da0d18bd214848c38c4",
"block": 21215735,
"trx_in_block": 27,
"op_in_trx": 0,
"virtual_op": 0,
"timestamp": "2018-04-02T13:48:21",
"op": [
"delegate_vesting_shares",
{
"delegator": "steem",
"delegatee": "dpedoneze",
"vesting_shares": "30389.157475 VESTS"
}
]
}Manabar
Voting Power100.00%
Downvote Power100.00%
Resource Credits100.00%
Reputation Progress75.83%
{
"voting_manabar": {
"current_mana": "16426317133",
"last_update_time": 1588927317
},
"downvote_manabar": {
"current_mana": 4106579283,
"last_update_time": 1588927317
},
"rc_account": {
"account": "dpedoneze",
"rc_manabar": {
"current_mana": "20461050248",
"last_update_time": 1588927317
},
"max_rc_creation_adjustment": {
"amount": "2020748973",
"precision": 6,
"nai": "@@000000037"
},
"max_rc": "18447066106"
}
}Account Metadata
| POSTING JSON METADATA | |
| profile | {"profile_image":"https://avatars0.githubusercontent.com/u/5757502","name":"D. Pedoneze"} |
| JSON METADATA | |
| profile | {"profile_image":"https://avatars0.githubusercontent.com/u/5757502","name":"D. Pedoneze"} |
{
"posting_json_metadata": {
"profile": {
"profile_image": "https://avatars0.githubusercontent.com/u/5757502",
"name": "D. Pedoneze"
}
},
"json_metadata": {
"profile": {
"profile_image": "https://avatars0.githubusercontent.com/u/5757502",
"name": "D. Pedoneze"
}
}
}Auth Keys
Owner
Single Signature
Public Keys
STM6sJCxaXv49W5shDigN6Q4UYZamed2BEe15i5HwwJxuZetdsjZC1/1
Active
Single Signature
Public Keys
STM7HKYSzwLAsMwTjitnZgBavqJnpX6hYPHzNAXvh52kpEkq8LdbY1/1
Posting
Single Signature
Public Keys
STM5jq6Ucb95UVG9jz4eaMw9EWG7fC2fo7jJEkTSCPSBwy1NQidsA1/1
App Permissions
@utopian.app1/1
Memo
STM61Z9Yc6io7Q13jUqD9yHXX9cDMMWjzVKmxGuSL27qcjXzJirbu
{
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM6sJCxaXv49W5shDigN6Q4UYZamed2BEe15i5HwwJxuZetdsjZC",
1
]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM7HKYSzwLAsMwTjitnZgBavqJnpX6hYPHzNAXvh52kpEkq8LdbY",
1
]
]
},
"posting": {
"weight_threshold": 1,
"account_auths": [
[
"utopian.app",
1
]
],
"key_auths": [
[
"STM5jq6Ucb95UVG9jz4eaMw9EWG7fC2fo7jJEkTSCPSBwy1NQidsA",
1
]
]
},
"memo": "STM61Z9Yc6io7Q13jUqD9yHXX9cDMMWjzVKmxGuSL27qcjXzJirbu"
}Witness Votes
1 / 30
01.utopian-io |
[ "utopian-io" ]