naturalcrit / homebrewery

Create authentic looking D&D homebrews using only markdown
https://homebrewery.naturalcrit.com
MIT License
1.06k stars 323 forks source link

Certain keywords in # header text are being flagged as ads and hidden by ad-blockers #523

Closed UberAffe closed 3 years ago

UberAffe commented 6 years ago

On the second to last page where I have #### Adhesiom, I change the spelling to correct it to say #### Adhesion it no longer displays.

Additional Details

Share Link :

or

Brew code to reproduce :

Click to expand

Ka'Kari

<img src='https://i.pinimg.com/474x/75/3b/69/753b6955b6d709c427538aeb95d7bd91--night-angel-trilogy-amazing-art.jpg' style='width:325px' />

Attuned Abilities

When you attune to the Ka'Kari it appears to liquify and be absorbed into your body and can be reformed at will.

Return

While attuned, you can summon the Ka'Kari to you at will. Once summoned it will travel across any solid surface at speed of 25ft in the shortest path to you until it reaches you.

Malleable Metal

The wielder of the Ka'Kari can alter it's shape to that of any single item, weapon or otherwise. When used as a weapon in this manner it deals 1d10 damage of the appropriate type and is considered a magical attack. Additionally any weapon created in this manner has the finesse property and allows you to use STR or DEX.

Ascended Abilities

Unlocked at the discretion of the DM

Second Skin

As an action the Ka'Kari can form a thin shell around your body and equipment. While this shell is in place your weapons are considered +2 weapons. Additionally you can cast Invisibility on yourself 5 times per day and Greater Invisibility 1 time per day.

Any non magical items coated by the Ka'Kari in this way become ruined and unusable.

Visions of Coranti

While the Ka'Kari is coating your eyes you have the ability to see the unclean. If someone has done something that you find morally wrong, you see those acts overlaid as a stain on that person. You do not see the act itself meerly a representation of it. As a lawful good wielder you might see a murderer as being stained by the number of people they have killed, but as neutral evil wielder you might see a faithful husband as being stained by the number times he has turned aside others advances.

Exalted Abilities

Unlocked at the discretion of the DM.

Reactive Skin

While using the Second Skin feature you have +1 AC, you are resistant to magic damage and have advantage on saving throws against spell effects. Additionally you maintain your movement speed across any surface even difficult terrain.

Deathless

You are considered to be under the effect of Death Ward at all times, this effect can be activated once per long rest. \page

Curoch

<img src='https://www.orbitbooks.net/wp-content/uploads/2012/01/Weeks_NightAngelOmnibus_TP.jpg' style='margin:-50% 0px -50% 0px; width:325px' />

-

The sword is made of pure mistarille. There is a dragon on each side of the blade with a gap at the mouth, from which fire is produced whenever danger or magic is near. On the hilt there is a mark of two crossed warhammers, the symbol of Oren Razin. The pommel bears a large and pure red ruby. Considered a +1 longsword.

Attuned Abilities

Well of Power

You can draw from the power in Curoch to amplify your spells. For every spell you amplify you must make a saving throw using you spell casting ability. If you fail this check all your spell slots get used up in the casting of this spell. The DC for this save is determined by (the spell slot level * 2) + the amount you are increasing the spell level by.

This does not mean that you can cast more 9th level spells, it means that you can cast lower level spells with the power of a 9th level slot without using your 9th level slot. Spells that do not use a spell slot roll an additional 1d4 per level increase, a max of 9 levels and the DC is equal to the number of level increases.

Ascended Abilities

Unlocked at the discretion of the DM.

Overflow

You can increase the spell level past level 9, each level past 9 counts as double towards the DC. A level 1 spell increased to level 9 has a DC 10, increased to level 10 gives it a DC 12.

Exalted Abilities

Unlocked at the discretion of the DM.

Recharge

As a combined action and bonus action you use the well of power within Curoch to refuel yourself regaining all expended spell slots. You can use this feature once per day but you do not regain expended spell slots on a long rest for the next two nights after using this feature.

Iures

Appears as a dull silver staff, upon close inspection it only appears dull because the entire staff is covered in arcane etchings. Considered a +1 quarterstaff.

Attuned abilities

Knowing Weaves

All spells that get cast through Iures are recorded and are known to the wielder.

Spells Recorded
Antimagic Field Sequester Mass Suggestion
Imprisonment Mass Heal Teleportation Circle

Ascended Abilities

Unlocked at the discretion of the DM.

Skilled Weaves

Iures' knowledge of spells allows you to cast any spell it knows with a spell slot 1 level lower than normal. 1st level spells do not require a spell slot to cast.

Arcane Funnel

As an action you start the arcane funnel, each creature within a 30ft range(including yourself) can offer one spell slot for you to use. Add the level of all the spell slots together and subtract one to determine the level of this artificial spell slot. This artificial spell slot lasts until the end of your next turn.

Exalted Abilities

Unlocked at the discretion of the DM.

Quick Casting

You can use this feature 1 time per day and lasts for 2 rounds, the mental strain from casting spells so quickly leaves unable to cast spells during the third round after activating this feature. You can activate this feature at any point during a round even if your turn has already passed. Spells that normally take an action to cast now only need a bonus action, you can cast one bonus action spell for free per turn, and you can cast one reaction spell for free per turn. \page

Honor Blades

<img src='http://vignette3.wikia.nocookie.net/stormlightarchive/images/1/1a/6Honor.png/revision/latest?cb=20140808044716' style='width:330px' /> +3 Greatsword (-Heavy property, +Finesse property)

Ethereal Edge

This sword cuts non-living material with no resistance, mundane weapons and armor are ruined if cut by this weapon. As such this weapon ignores any bonuses to AC from non-magic armor and items. All damage dealt by this weapon is dealt as psychic damage. When this weapon kills a creature the body becomes unusable for necromantic magics.

Attuned Abilities

Mist Form

While not in hand you need to maintain concentration or the blade will collapse into mist. The blade can be summoned to your hand using a bonus action.

Ascended Abilities

Unlock at the discretion of the DM.

Order

Each blade grants the wielder the powers of one of the following orders. Powers gained through these orders are only available when there is a source of Stormlight to draw on.

Dustbringers

You gain the surges of Abrasion and Division.

Edgedancers

You gain the surges of Progression and Abrasion.

Elsecallers

You gain the surges of Transportation and Transformation.

Lightweavers

You gain the surges of Transformation and Illumination.

Skybreakers

You gain the surges of Division and Gravitation.

Truthwatchers

You gain the surges of Illumination and Progression.

Willshapers

You gain the surges of Transportation and Adhesion.

Windrunners

You gain the surges of Gravitation and Adhesion.

Surges

Powers available to the different orders.

Abrasion

The Surge of Friction. With it, the Surgebinder can make the touch of their body near friction-less (i.e., enabling them to glide across a floor as if it were slippery ice).

Adhesiom

The Surge of Pressure and Vacuum. This is the Surge used to perform Full Lashings, binding an object onto another. To create a Full Lashing, an object is infused with Stormlight, then pressed to another object. The two objects become bound together with an extremely powerful bond, nearly impossible to break. In fact, most materials would themselves break before the bond holding them together would.

Division

The Surge of Destruction and Decay. It's currently not exactly explained how this Surge works, but it seems to be able to cause spontaneous combustion; like crushing hard objects to dust.

Gravitation

The Surge of Gravity. This Surge is used for Basic and Reverse Lashings. With it, the Surgebinder is able to change the direction of his/her gravitational pull and its magnitude.

A Basic Lashing creates a change in gravitational pull, temporarily altering the magnitude and vector of gravity affecting an object. More than one Basic Lashing can be applied to an object at the same time, to increase its acceleration in the selected direction. Fractional Basic Lashings are also possible; a half-Lashing can be used to make an object weightless, and a quarter-Lashing to cut its weight in half.

A Reverse Lashing gives an object a gravitational pull, causing other objects to be drawn to it like to a magnet. This Lashing requires the least amount of Stormlight. It is much more difficult to have items that are on the ground pulled to this object because of the strength of the bond they have with the ground. It is easier to pull items in the air or mid-flight, for example pulling arrows towards a shield or bridge.

Illumination

The Surge of Light, Sound, and Various Waveforms. It's used to create illusions, both visual and auditory.

Progression

The Surge of Growth and Healing, or Regrowth. This Surge can exponentially increase speed and manipulate plant growth. At advanced stages, it also enables the Surgebinder to heal other persons, in an immensely increased version of normal Stormlight healing, capable of bringing someone back from the brink of death. \page

Transformation

The Surge of Soulcasting. The ability to change matter without a Soulcaster. Initially, it is restricted to the Ten Essences. But, with experience, the Soulcaster can perform more intricate and complex transformations using the Essences as a basis. This ability is unique among the surges as it is the only ability that is affected by the type of gem used to power it.

Essences Gemstone Soulcasting Properties
Zephyr Sapphire Translucent gas, air
Vapor Smokestone Opaque gas, smoke, fog
Spark Ruby Fire
Lucentia Diamond Quartz, glass, crystal
Pulp Emerald Wood, plants, moss
Blood Garnet Blood, all non-oil liquid
Tallow Zircon All kinds of oil
Foil Amethyst Metal
Talus Topaz Rock and stone
Sinew Heliodor Meat, flesh

Transportation

The Surge of Motion and Realmatic Transition. There are rumors that this Surge allowed the Radiants to teleport - to instantaneously transport themselves to another location.

calculuschild commented 6 years ago

Oh man, so this is a really interesting one. Do you happen to have an ad blocker on your browser? It's not adding the letter 'n' that causes the issue. It's the particular word "adhesion". Apparently the ad blocker doesn't like that word. For now, try disabling your ad blocker for the homebrewery (there aren't any ads here anyway).

The Homebrewery gives its headers an ID with the same name as the header text. So in this case we get <h1 id="adhesion">adhesion</h1> and that particular id is flagged as an ad and set to display: none.

Perhaps we need an alternative id tag generator.

khalid-talakshi commented 4 years ago

@calculuschild what if you obfuscated the id names with a random generated tag. It could be something like "-hb145". The first 2 characters of the tag stand for homebrewery and that way you can easily add a regex pattern to ad block filters to whitelist them.

ericscheid commented 4 years ago

Changing the generated header ids will break links in lots of places.

In most adblockers it should be possible to whitelist the entire homebrewery site (which is also easier/simpler than whitelisting a regex for the homebrewery site)

calculuschild commented 4 years ago

@calculuschild what if you obfuscated the id names with a random generated tag. It could be something like "-hb145". The first 2 characters of the tag stand for homebrewery and that way you can easily add a regex pattern to ad block filters to whitelist them.

PRs are welcome!

ericscheid commented 3 years ago

markedjs also has an option for prefixing ids with a string.

marked.setOptions({
   headerPrefix: 'somestring'
});

As to what string, it could be the share :id.

However, it is still entirely possible that (a) the share :id also starts with the substring 'ad', and (b) an adblocker might look beyond the start of a string for particular substrings.

Bottom line: whatever we do, an adblocker might still intervene.

I would recommend that the adblocker be told to not look for ads on homebrewery website.


Nothing much we can do here is guaranteed to work for this. Telling the adblocker to please don't is guaranteed to work. Closing.