Page 1 of 3

Suggestion: Link tag specifically for VDC

PostPosted: Mon Mar 22, 2010 11:41 am
by krainert
Mjallo again,

Suggestion: A link tag equivalent to {url=url}text{/url} but specifically for Valve Developer Community.

Functionality:
  • {vdc}ref{/vdc} => <a title="ref" href="http://developer.valvesoftware.com/wiki/ref">ref</a>
  • {vdc=ref}text{/vdc} => <a title="ref" href="http://developer.valvesoftware.com/wiki/ref">text</a>
([ and ] replaced with { and }, respectively.)

This might greatly inspire members to use links whenever referring to Source entities which would cut down on time finding the appropriate documentation the old way.

Further suggestion: Automatic recognizance of entity references.

Example:
  • I really like env_text. => I really like <a title="env_text" href="http://developer.valvesoftware.com/wiki/env_text">env_text</a>.

Re: Suggestion: Link tag specifically for VDC

PostPosted: Mon Mar 22, 2010 10:27 pm
by Terr
Seconded. I wanted this in TF2maps as well. However, automatically recognizing entity references might be a bit harder, so really just the VDC linking would be nice.

Re: Suggestion: Link tag specifically for VDC

PostPosted: Mon Mar 22, 2010 10:40 pm
by krainert
Thanks for the support.
Frankly, the difference is marginal. I'd say the choice it's more a matter of unintended matches - but given the nature of entity names I don't consider the event of them randomly being recognized as part of an irrelevant string realistic; how often does one write func_brush without referring to the entity? Generally, how often does one use underscores outside technical definitions?

EDIT:
Here's a piece of code:
Code: Select all
<?php
$triggers = array(
   "func_detail",
   "func_brush",
   "env_text"
);
function addVDCLinks($string) { // Takes output string, returns string with added links
   foreach ($triggers as &$t)
      $string = str_replace($t, "<a title=\"$t\" href=\"http://developer.valvesoftware.com/wiki/$t\">$t</a>", $string);
   unset($t);
   return $string;
}
?>

Re: Suggestion: Link tag specifically for VDC

PostPosted: Tue Mar 23, 2010 2:32 am
by Terr
My main concern with auto-links is preventing them from messing up code snippets.

Re: Suggestion: Link tag specifically for VDC

PostPosted: Tue Mar 23, 2010 8:36 am
by krainert
Oh, right. Well... A little regex might fix it so anything in {code}{/code} is ignored.

Re: Suggestion: Link tag specifically for VDC

PostPosted: Tue Mar 23, 2010 1:04 pm
by zombie@computer
phpbb is already slow as concrete shit, you want to mess with regexes as well? sheesh :)

phpbb preparses messages as you post them (marking valid tags with a bbcode_uid), easy to use

the problem lies in this bit:

Code: Select all
<?php
$triggers = array(
   "func_detail",
   "func_brush",
   "env_text"
);

theres thousands of triggers, and its a bitch to go through.
Edit: there's 433 hl2 entities, lol

Javascript would be a more ideal source though.

Re: Suggestion: Link tag specifically for VDC

PostPosted: Tue Mar 23, 2010 2:17 pm
by Blink
The VDC link tag idea is a good one.

I'll look into the client side version of checking the posts for certain names. I imagine it would be faster than getting the server to do it all.

Re: Suggestion: Link tag specifically for VDC

PostPosted: Tue Mar 23, 2010 2:47 pm
by zombie@computer
wait a sec, ill whip it up :)

Re: Suggestion: Link tag specifically for VDC

PostPosted: Tue Mar 23, 2010 3:15 pm
by zombie@computer
Code: Select all
function replacewords ()
{
   var divs = document.getElementsByTagName("div");
   var entities=["ai_ally_manager","ai_battle_line","ai_changehintgroup","ai_changetarget","ai_citizen_response_system","ai_goal_actbusy","ai_goal_actbusy queue","ai_goal_assault","ai_goal_follow","ai_goal_lead","ai_goal_lead weapon","ai_goal_police","ai_goal_standoff","ai_relationship","ai_script_conditions","ai_sound","ai_speechfilter","aiscripted_schedule","assault_assaultpoint","assault_rallypoint","info_apc_missile_hint","info_node","info_node_air","info_node_air hint","info_node_climb","info_node_hint","info_node_link","info_node_link_controller","info_npc spawn_destination","info_snipertarget","logic_choreographed_scene","path_corner","path_corner_crash","path_track","scripted_scene","scripted_sentence","scripted_sequence","scripted_target","tanktrain_aitarget","tanktrain_ai","env_ar2explosion","env_beam","env_beverage","env_blood","env_bubbles","env_citadel_energy_core","env_credits","env_cubemap","env_dustpuff","env_effectscript","env_embers","env_entity_dissolver","env_entity_igniter","env_entity_maker","env_explosion","env_extinguisherjet","env_fade","env_fire","env_firesensor","env_firesource","env_flare","env_fog_controller","env_funnel","env_global","env_gunfire","env_headcrabcanister","env_hudhint","env_laser","env_lightglow","env_message","env_microphone","env_muzzleflash","env_particlelight","env_particlescript","env_physexplosion","env_physimpact","env_player_surface_trigger","env_rotorshooter","env_rotorwash","env_screenoverlay","env_shake","env_shooter","env_smokestack","env_smoketrail","env_soundscape","env_soundscape_proxy","env_soundscape_triggerable","env_spark","env_speaker","env_splash","env_sprite","env_spritetrail","env_starfield","env_steam","env_sun","env_terrainmorph","env_texturetoggle","env_tonemap_controller","env_wind","env_zoom","filter_activator_class","filter_activator_name","filter_activator_team","filter_damage_type","filter_multi","func_areaportal","func_areaportalwindow","func_breakable","func_breakable_surf","func_brush","func_button","func_capturezone","func_changeclass","func_clip_vphysics","func_combine_ball_spawner","func_conveyor","func_detail","func_door","func_door_rotating","func_dustcloud","func_dustmotes","func_extinguishercharger","func_guntarget","func_healthcharger","func_illusionary","func_ladder","func_ladderendpoint","func_lod","func_lookdoor","func_monitor","func_movelinear","func_nobuild","func_nogrenades","func_occluder","func_physbox","func_physbox_multiplayer","func_platrot","func_precipitation","func_proprespawnzone","func_recharge","func_reflective_glass","func_regenerate","func_respawnroom","func_respawnroomvisualizer","func_rot_button","func_rotating","func_smokevolume","func_tank","func_tankairboatgun","func_tankapcrocket","func_tanklaser","func_tankmortar","func_tankphyscannister","func_tankpulselaser","func_tankrocket","func_tanktrain","func_trackautochange","func_trackchange","func_tracktrain","func_traincontrols","func_useableladder","func_vehicleclip","func_viscluster","func_wall","func_wall_toggle","func_water_analog","worldspawn","game_end","game_player_equip","game_player_team","game_ragdoll_manager","game_score","game_text","game_ui","game_weapon_manager","game_zone_player","info_camera_link","info_constraint_anchor","info_hint","info_intermission","info_ladder_dismount","info_landmark","info_lighting","info_mass center","info_no_dynamic_shadow","info_node","info_node_air","info_node_air hint","info_node_climb","info_node_hint","info_node_link","info_node_link_controller","info_npc_spawn_destination","info_null","info_overlay","info_particle_system","info_player_combine","info_player_deathmatch","info_player_logo","info_player_rebel","info_player_start","info_projecteddecal","info_snipertarget","info_target","info_target_gunshipcrash","info_teleporter_countdown","info_teleport_destination","infodecal","item_ammo_357","item_ammo_357_large","item_ammo_ar2","item_ammo_ar2_altfire","item_ammo_ar2_large","item_ammo_crate","item_ammo_crossbow","item_ammo_pistol","item_ammo_pistol_large","item_ammo_smg1","item_ammo_smg1_grenade","item_ammo_smg1_large","item_battery","item_box_buckshot","item_dynamic resupply","item_healthcharger","item_healthkit","item_healthvial","item_item_crate","item_rpg_round","item_suit","item_suitcharger","light","light_dynamic","light_environment","light_spot","logic_auto","logic_autosave","logic_branch","logic_case","logic_collision_pair","logic_compare","logic_lineto","logic_measure_movement","logic_multicompare","logic_navigation","logic_relay","logic_timer","ambient_generic","cycler","gibshooter","keyframe_rope","keyframe_track","material_modify_control","math_colorblend","math_counter","math_remap","momentary_rot_button","move_keyframed","move_rope","move_track","script_intro","script_tauremoval","shadow_control","sky_camera","test_sidelist","test_traceline","vgui_screen","water_lod_control","combine_mine","npc_alyx","npc_antlion","npc_antlion_template_maker","npc_antlionguard","npc_barnacle","npc_barney","npc_breen","npc_citizen","npc_combine_camera","npc_combine_s","npc_combinedropship","npc_combinegunship","npc_crabsynth","npc_cranedriver","npc_crow","npc_cscanner","npc_dog","npc_eli","npc_fastzombie","npc_fisherman (not available in Hammer by default)","npc_gman","npc_headcrab","npc_headcrab_black","npc_headcrab_fast","npc_helicopter","npc_ichthyosaur","npc_kleiner","npc_manhack","npc_metropolice","npc_monk","npc_mortarsynth","npc_mossman","npc_pigeon","npc_poisonzombie","npc_rollermine","npc_seagull","npc_sniper","npc_stalker","npc_strider","npc_turret_ceiling","npc_turret_floor","npc_turret_ground","npc_vortigaunt","npc_zombie","npc_zombie_torso","cycler_actor","generic_actor","info_npc_spawn_destination","monster_generic","npc_apcdriver","npc_bullseye","npc_enemyfinder","npc_furniture","npc_heli_avoidbox","npc_heli_avoidsphere","npc_heli_nobomb","npc_launcher","npc_maker","npc_missiledefense","npc_particlestorm","npc_spotlight","npc_template_maker","npc_vehicledriver","phys_ballsocket","phys_constraint","phys_constraintsystem","phys_convert","phys_hinge","phys_keepupright","phys_lengthconstraint","phys_magnet","phys_motor","phys_pulleyconstraint","phys_ragdollconstraint","phys_ragdollmagnet","phys_slideconstraint","phys_spring","phys_thruster","phys_torque","physics_cannister","player_loadsaved","player_speedmod","player_weaponstrip","point_anglesensor","point_angularvelocitysensor","point_antlion_repellant","point_apc_controller","point_bugbait","point_camera","point_clientcommand","point_commentary_node","point_devshot_camera","point_enable_motion_fixup","point_hurt","point_message","point_playermoveconstraint","point_servercommand","point_spotlight","point_teleport","point_template","point_tesla","point_viewcontrol","vehicle_viewcontroller","prop_combine_ball","prop_detail","prop_door_rotating","prop_dynamic","prop_dynamic_ornament","prop_dynamic_override","prop_physics","prop_physics_multiplayer","prop_physics_override","prop_ragdoll","prop_static","prop_thumper","prop_vehicle","prop_vehicle_airboat","prop_vehicle_apc","prop_vehicle_cannon","prop_vehicle_crane","prop_vehicle_driveable","prop_vehicle_jeep","prop_vehicle_prisoner_pod","trigger_autosave","trigger_changelevel","trigger_finale","trigger_gravity","trigger_hurt","trigger_impact","trigger_look","trigger_multiple","trigger_once","trigger_physics_trap","trigger_playermovement","trigger_proximity","trigger_push","trigger_remove","trigger_rpgfire","trigger_soundscape","trigger_teleport","trigger_transition","trigger_vphysics_motion","trigger_waterydeath","trigger_weapon_dissolve","trigger_weapon_strip","trigger_wind","weapon_357","weapon_alyxgun","weapon_annabelle","weapon_ar2","weapon_brickbat","weapon_bugbait","weapon_citizenpackage","weapon_citizensuitcase","weapon_crossbow","weapon_crowbar","weapon_extinguisher","weapon_frag","weapon_physcannon","weapon_physgun","weapon_pistol","weapon_rpg","weapon_shotgun","weapon_smg1","weapon_stunstick"];
   var textNodes=[];
   for(var d in divs)
   {
      var theDiv = divs[d];
      if (theDiv.className=="content")
      {
         var theDivChildren = [ theDiv ];
         while (theDivChildren.length>0)
         {
            var children = theDivChildren.pop().childNodes;
            for (var i in children)
            {
               if (children[i].nodeType == 3) textNodes.push(children[i]);
               else theDivChildren.push(children[i]);
            }
         }
      }
   }
   while (textNodes.length>0)
   {
      var textNode=textNodes.pop();
      var text = textNode.nodeValue;
      if (text.indexOf('_')==-1&&text.indexOf('infodecal')==-1&&text.indexOf('gibshooter')==-1&&text.indexOf('cycler')==-1&&text.indexOf('worldspawn')==-1&&text.indexOf('light')!=-1) continue;
      else
      {
         for (var x in entities)
         {
            var location = text.indexOf(entities[x]);
            if (location!=-1)
            {
               var link = document.createElement("a");
               var textBefore = document.createTextNode(text.substring(0,location));
               var textAfter = document.createTextNode(text.substring(location+entities[x].length));
               link.setAttribute("href", "http://developer.valvesoftware.com/wiki/" + entities[x]);
               link.appendChild(document.createTextNode(entities[x]));
               link.className="postlink";
               textNode.parentNode.insertBefore(textBefore, textNode);
               textNode.parentNode.insertBefore(link, textNode);
               textNode.parentNode.insertBefore(textAfter, textNode);
               textNode.parentNode.removeChild(textNode);
               textNodes.push(textBefore);
               textNodes.push(textAfter);
               break;
            }
         }
      }
   }
}
still not ALL entities though :(*
firefoxusers capable of executing this code will notice how the script takes soo long to process this thread (due to all the entities in the above code) that its an irritation long loading wait / very near to crash the browser.

Doesnt look like a good thing...

Re: Suggestion: Link tag specifically for VDC

PostPosted: Tue Mar 23, 2010 3:48 pm
by Blink
You could probably optimize the looping that code, especially with the DOM manipulation for each item in the loop. Quite expensive.

I wouldn't of thought the long array was enough to crash the browser.

Re: Suggestion: Link tag specifically for VDC

PostPosted: Tue Mar 23, 2010 4:36 pm
by zombie@computer
Code: Select all
function replacewords ()
{
   var divs = document.getElementsByTagName("div");
   var entities=["ai_ally_manager","ai_battle_line","ai_changehintgroup","ai_changetarget","ai_citizen_response_system","ai_goal_actbusy","ai_goal_actbusy queue","ai_goal_assault","ai_goal_follow","ai_goal_lead_weapon","ai_goal_lead","ai_goal_police","ai_goal_standoff","ai_relationship","ai_script_conditions","ai_sound","ai_speechfilter","aiscripted_schedule","assault_assaultpoint","assault_rallypoint","info_apc_missile_hint","info_node_air_hint","info_node_air","info_node_climb","info_node_hint","info_node_link_controller","info_node_link","info_node","info_npc_spawn_destination","info_snipertarget","logic_choreographed_scene","path_corner_crash","path_corner","path_track","scripted_scene","scripted_sentence","scripted_sequence","scripted_target","tanktrain_aitarget","tanktrain_ai","env_ar2explosion","env_beam","env_beverage","env_blood","env_bubbles","env_citadel_energy_core","env_credits","env_cubemap","env_dustpuff","env_effectscript","env_embers","env_entity_dissolver","env_entity_igniter","env_entity_maker","env_explosion","env_extinguisherjet","env_fade","env_firesensor","env_firesource","env_fire","env_flare","env_fog_controller","env_funnel","env_global","env_gunfire","env_headcrabcanister","env_hudhint","env_laser","env_lightglow","env_message","env_microphone","env_muzzleflash","env_particlelight","env_particlescript","env_physexplosion","env_physimpact","env_player_surface_trigger","env_rotorshooter","env_rotorwash","env_screenoverlay","env_shake","env_shooter","env_smokestack","env_smoketrail","env_soundscape_proxy","env_soundscape_triggerable","env_soundscape","env_spark","env_speaker","env_splash","env_spritetrail","env_sprite","env_starfield","env_steam","env_sun","env_terrainmorph","env_texturetoggle","env_tonemap_controller","env_wind","env_zoom","filter_activator_class","filter_activator_name","filter_activator_team","filter_damage_type","filter_multi","func_areaportalwindow","func_areaportal","func_breakable_surf","func_breakable","func_brush","func_button","func_capturezone","func_changeclass","func_clip_vphysics","func_combine_ball_spawner","func_conveyor","func_detail","func_door_rotating","func_door","func_dustcloud","func_dustmotes","func_extinguishercharger","func_guntarget","func_healthcharger","func_illusionary","func_ladderendpoint","func_ladder","func_lod","func_lookdoor","func_monitor","func_movelinear","func_nobuild","func_nogrenades","func_occluder","func_physbox_multiplayer","func_physbox","func_platrot","func_precipitation","func_proprespawnzone","func_recharge","func_reflective_glass","func_regenerate","func_respawnroom","func_respawnroomvisualizer","func_rot_button","func_rotating","func_smokevolume","func_tankairboatgun","func_tankapcrocket","func_tanklaser","func_tankmortar","func_tankphyscannister","func_tankpulselaser","func_tankrocket","func_tanktrain","func_tank","func_trackautochange","func_trackchange","func_tracktrain","func_traincontrols","func_useableladder","func_vehicleclip","func_viscluster","func_wall_toggle","func_water_analog","func_wall","worldspawn","game_end","game_player_equip","game_player_team","game_ragdoll_manager","game_score","game_text","game_ui","game_weapon_manager","game_zone_player","info_camera_link","info_constraint_anchor","info_hint","info_intermission","info_ladder_dismount","info_landmark","info_lighting","info_mass center","info_no_dynamic_shadow","info_node_air hint","info_node_air","info_node_climb","info_node_hint","info_node_link","info_node_link_controller","info_node","info_npc_spawn_destination","info_null","info_overlay","info_particle_system","info_player_combine","info_player_deathmatch","info_player_logo","info_player_rebel","info_player_start","info_projecteddecal","info_snipertarget","info_target_gunshipcrash","info_target","info_teleporter_countdown","info_teleport_destination","infodecal","item_ammo_357_large","item_ammo_357","item_ammo_ar2_altfire","item_ammo_ar2_large","item_ammo_ar2","item_ammo_crate","item_ammo_crossbow","item_ammo_pistol_large","item_ammo_pistol","item_ammo_smg1_grenade","item_ammo_smg1_large","item_ammo_smg1","item_battery","item_box_buckshot","item_dynamic resupply","item_healthcharger","item_healthkit","item_healthvial","item_item_crate","item_rpg_round","item_suitcharger","item_suit","light_dynamic","light_environment","light_spot","light","logic_auto","logic_autosave","logic_branch","logic_case","logic_collision_pair","logic_compare","logic_lineto","logic_measure_movement","logic_multicompare","logic_navigation","logic_relay","logic_timer","ambient_generic","cycler","gibshooter","keyframe_rope","keyframe_track","material_modify_control","math_colorblend","math_counter","math_remap","momentary_rot_button","move_keyframed","move_rope","move_track","script_intro","script_tauremoval","shadow_control","sky_camera","test_sidelist","test_traceline","vgui_screen","water_lod_control","combine_mine","npc_alyx","npc_antlion_template_maker","npc_antlionguard","npc_antlion","npc_barnacle","npc_barney","npc_breen","npc_citizen","npc_combine_camera","npc_combine_s","npc_combinedropship","npc_combinegunship","npc_crabsynth","npc_cranedriver","npc_crow","npc_cscanner","npc_dog","npc_eli","npc_fastzombie","npc_fisherman","npc_gman","npc_headcrab","npc_headcrab_black","npc_headcrab_fast","npc_helicopter","npc_ichthyosaur","npc_kleiner","npc_manhack","npc_metropolice","npc_monk","npc_mortarsynth","npc_mossman","npc_pigeon","npc_poisonzombie","npc_rollermine","npc_seagull","npc_sniper","npc_stalker","npc_strider","npc_turret_ceiling","npc_turret_floor","npc_turret_ground","npc_vortigaunt","npc_zombie","npc_zombie_torso","cycler_actor","generic_actor","info_npc_spawn_destination","monster_generic","npc_apcdriver","npc_bullseye","npc_enemyfinder","npc_furniture","npc_heli_avoidbox","npc_heli_avoidsphere","npc_heli_nobomb","npc_launcher","npc_maker","npc_missiledefense","npc_particlestorm","npc_spotlight","npc_template_maker","npc_vehicledriver","phys_ballsocket","phys_constraintsystem","phys_constraint","phys_convert","phys_hinge","phys_keepupright","phys_lengthconstraint","phys_magnet","phys_motor","phys_pulleyconstraint","phys_ragdollconstraint","phys_ragdollmagnet","phys_slideconstraint","phys_spring","phys_thruster","phys_torque","physics_cannister","player_loadsaved","player_speedmod","player_weaponstrip","point_anglesensor","point_angularvelocitysensor","point_antlion_repellant","point_apc_controller","point_bugbait","point_camera","point_clientcommand","point_commentary_node","point_devshot_camera","point_enable_motion_fixup","point_hurt","point_message","point_playermoveconstraint","point_servercommand","point_spotlight","point_teleport","point_template","point_tesla","point_viewcontrol","vehicle_viewcontroller","prop_combine_ball","prop_detail","prop_door_rotating","prop_dynamic_ornament","prop_dynamic_override","prop_dynamic","prop_physics_multiplayer","prop_physics_override","prop_physics","prop_ragdoll","prop_static","prop_thumper","prop_vehicle_airboat","prop_vehicle_apc","prop_vehicle_cannon","prop_vehicle_crane","prop_vehicle_driveable","prop_vehicle_jeep","prop_vehicle_prisoner_pod","prop_vehicle","trigger_autosave","trigger_changelevel","trigger_finale","trigger_gravity","trigger_hurt","trigger_impact","trigger_look","trigger_multiple","trigger_once","trigger_physics_trap","trigger_playermovement","trigger_proximity","trigger_push","trigger_remove","trigger_rpgfire","trigger_soundscape","trigger_teleport","trigger_transition","trigger_vphysics_motion","trigger_waterydeath","trigger_weapon_dissolve","trigger_weapon_strip","trigger_wind","weapon_357","weapon_alyxgun","weapon_annabelle","weapon_ar2","weapon_brickbat","weapon_bugbait","weapon_citizenpackage","weapon_citizensuitcase","weapon_crossbow","weapon_crowbar","weapon_extinguisher","weapon_frag","weapon_physcannon","weapon_physgun","weapon_pistol","weapon_rpg","weapon_shotgun","weapon_smg1","weapon_stunstick"];
   var textNodes=[];
   for(var d in divs)
   {
      var theDiv = divs[d];
      if (theDiv.className=="content")
      {
         var theDivChildren = [ theDiv ];
         while (theDivChildren.length>0)
         {
            var children = theDivChildren.pop().childNodes;
            for (var i in children)
            {
               if (children[i].nodeType == 3) textNodes.push(children[i]);
               else theDivChildren.push(children[i]);
            }
         }
      }
   }
   while (textNodes.length>0)
   {
      var textNode=textNodes.pop();
      var text = textNode.nodeValue;
      if (text.indexOf('_')==-1&&text.indexOf('infodecal')==-1&&text.indexOf('gibshooter')==-1&&text.indexOf('cycler')==-1&&text.indexOf('worldspawn')==-1&&text.indexOf('light')!=-1) continue;
      else
      {
         for (var x in entities)
         {
            var location = text.indexOf(entities[x]);
            if (location!=-1)
            {
               var link = document.createElement("a");
               var textBefore = document.createTextNode(text.substring(0,location));
               link.setAttribute("href", "http://developer.valvesoftware.com/wiki/" + entities[x]);
               link.appendChild(document.createTextNode(entities[x]));
               link.className="postlink";
               var p = textNode.parentNode;
               textNode.nodeValue=text.substring(location+entities[x].length);
               p.insertBefore(textBefore, textNode);
               p.insertBefore(link, textNode);
               textNodes.push(textNode);
               textNodes.push(textBefore);
               break;
            }
         }
      }
   }
}
a bit faster.

apparently javascript is a fucking lot slower when executed from the url bar. when executed normally theres no problems (does seem to take a second to process tho). strange...

edit: fixed typo's

Re: Suggestion: Link tag specifically for VDC

PostPosted: Tue Mar 23, 2010 5:15 pm
by zombie@computer

Re: Suggestion: Link tag specifically for VDC

PostPosted: Tue Mar 23, 2010 6:27 pm
by krainert
Awesome :)
http://www.interlopers.net/forum/testreplacements.htm - exactly. Except there you actually replaced inside code tags which may, as suggested, be a problem in some cases.

Re: Suggestion: Link tag specifically for VDC

PostPosted: Tue Mar 23, 2010 11:21 pm
by Gary
Awesome! Very useful. I look forward to seeing it in use on the entire forum.

Also, I don't see how it will be a problem with seeing them in code tags.

Re: Suggestion: Link tag specifically for VDC

PostPosted: Tue Mar 23, 2010 11:36 pm
by krainert
Gary wrote:Also, I don't see how it will be a problem with seeing them in code tags.

Mostly it probably won't, but when writing code, odd strings pop up from time to time, and having a completely unrelated piece of text spontaneously turned into a link referring to some entity with no connection to the subject might be a slight inconvenience ;)